- Fotók, videók mobillal
- Mobil flották
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy A54 - türelemjáték
- Google Pixel 9 és Pixel 9 Pro összehasonlító gyorsteszt
- Motorola Moto Tag - nyomom, követ
- Milyen okostelefont vegyek?
- Xiaomi 14 - párátlanul jó lehetne
- eSIM, a kártyamentes szabadság
- Huawei Watch GT 5 Pro - egészség + stílus
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
asuspc96
senior tag
Sima golyóstoll.
"Ha folyamatos forgó mozgás kell, akkor van ugyanezeknek a szervóknak végtelenített változata, ami 360fokban körbe tud fordulni, és a vezérlő jel a forgás sebességét szabályozza, ehhez sem kell külön driver."
Esetleg tudnál ajánlani egyet,ha megkérlek, hogy melyikbe fektessek ?
Én állok neki keresni, abból sok jó nem sül ki -
Attix70
aktív tag
Kijavítalak mert több helyen is elvérzik a dolog. A kétszeres erősítés (-2x) akkor lenne igaz ha a mikrofonnak nulla lenne a kimenő ellenállása (electret mic kb. 2K kimenő ellenállása ami itt hozzáadódna a 150Ohm-hoz).
Másik gond lehet talán az LM393-al mert a kimenete nyitott kollektoros tehát nem igazán jó analóg jelek erősítésre. A legnagyobb gond azzal lehet, hogy ha beállítunk rajta egy erősítést akkor (300Ohm) akkor az nem csak a kívánt jelünket (mic) fogja erősíteni hanem az egyen komponenseket is. Itt a nem invertálón 2.5V van beállítva, az invertáló bemeneten is van egy egyenfesz potenciál és ezeknek a különbségét is erősíti (ami során lehet, hogy már a kimenet vagy test vagy az 5V táp közelébe áll).
Kis átalakítással lehet használni erősítésre (mic és a nyomtatott áramkör maradhat)
-
válasz
asuspc96 #8496 üzenetére
Fizikai driver, mert a portok 20mA-nál nagyobb terhelést nem kaphatnak.
Szerintem megtévesztő lehet, hogy szervó házban van az általad linkelt dc motor, ugyanis a sima szervókhoz nem kell külön driver. Megoldás lehet, ha normál sg90 szervót veszel, itt csak a vezérlő vonalat kell összekötni meg tápot adni neki és működik is. Ha jól értem a tollnak nem kell folyamatosan körbe forogni, vagy igen? (Na és persze: milyen toll, madár, vagy golyós?)
Ha nagyobb tömeget kell mozgatni, ajánlom helyette az mg90-es szervót, ebben fém áttételezés van.
Ha folyamatos forgó mozgás kell, akkor van ugyanezeknek a szervóknak végtelenített változata, ami 360fokban körbe tud fordulni, és a vezérlő jel a forgás sebességét szabályozza, ehhez sem kell külön driver.
Ha mégis dc motor driverre lenne szükséged, ajánlom ezt a shield-et UNO-hoz, igaz kicsit overkill 1db dc motorhoz (4db dc motort tud meghajtani, vagy két stepper-t). Esetleg más tb6612-re épülő drivert, kis tápfeszültségnél is nagyon jól használható. -
asuspc96
senior tag
-
Teasüti
nagyúr
válasz
Balázs1621 #8489 üzenetére
Eszközkezelőben látszik a programozó rendes leánykori nevén? Ha nem, driver hiba.
Látszik a programozó és jól kötötted be az ICSP lábakat? Nano kap áramot?
Nincs több ötletem. Nincs programozóm.
Esetleg próbáld meg egy másik Arduinoval programozni, ArduinoISP-ként! Ilyet már csináltam, ez zökkenőmentes volt. -
válasz
// Chaka // #8487 üzenetére
Én 11 éves korom körül kaptam egy c64-est, de már egy évvel előtte minden könyvet elolvastam hozzá. 14 éves koromban már assemblerben írogattam rá kódokat. Ennek az ismeretnek nemrég hasznát vettem, amikor az arduino smart car-t csináltam, írtam bele egy processzor-emulációt/virtuális gépet, amit kb. a 6510-es processzor működése/felépítése ihletett, hogy egy virtuális utasításkészlettel lehessen programozni a robotot. Legnagyobb döbbenetemre elsőre sikerült.
-
asuspc96
senior tag
Kellemes estét,
Összeszeretnék rakni egy kis egyszerű szortírozó masinát, aminek nem kell kb semmi lénygit csinálnia, csak egy tollat körbe forgatnia, egy kis motorral.
Eddig ezeket néztem ki hozzá:
Arduino Uno Rev3
A2941 DC Motor in Micro Servo BodyA kérdésem pedig a következő lenne, hogy van e olyan motor, amihez eleve adnak ráerősíthető kart a tengelyére, amibe én bele tudnám csippenteni a tollam ?
-
Balázs1621
senior tag
Sziasztok!
Arduino Nano 3.0 -át szeretnék programozni USBAsp segítségével, de nem akar összejönni. A programozó drivere telepítve van, Arduinoba ki van választva az usbasp, mégsem látja a programozót, mi lehet a gond?
-
// Chaka //
tag
Nektek mit vettek anno, hogy most apró elektromos izékkel vesződtök?
Nekem pölö semmit, és a családfámban sincs senki, akit érdekelnének. 17 évesen ezek ellenére egész jól programoztam gépi kódban (nem assemblerben) Z80-ast. Ha kaptam volna akár csak egy DC tápegységet is ... ó, de szép is lett volna
Szóval nem tudom, hogy hogyan is mennek az ilyen dolgok. Ha a kölköt érdekli, rákockul. Ha nem, akkor nem. Ha valamelyik csemetémnek átadhatnám ... de nem adhatom.
-
Teasüti
nagyúr
Nem olyan rossz ez a puzzle programozás, ez még nekem is tetszik!
App Inventor-ral melózok épp és piszok egyszerű (na jó, azért pár órát eljátszadoztam vele mire belejöttem) BT Serial alapú menüsoros alkalmazást készíteni vele úgy, hogy fingom sincs az Android működéséről (ahogy a linuxéról se, nem hogy programot írjak rá).Mondjuk azért vannak korlátai rendesen, pl amíg egy String parse függvényt Arduino-ban ujjgyakorlat összeraknom, addig ebben lesz.ptam magam mire összeállt amit szerettem volna. Persze kerülőutakkal tarkítva,
mert a "nyelv"-nek vannak fura hülyeségei (pl. fixen zárójelek közé rakja a String-eket kiíratáskor, ami külön mókás egy Split függvény esetén.)
De legalább nem kell megtanulnom Android alkalmazást írni.A HC-06-ot 30 sec bekotni, azt a fiam is megcsinalta
Na jó, de tudja mit miért csinált vagy egy tutorial-t követett?
Tudja mi az a fesz osztó és mire jó? Ismeri hozzá az elektromosság alapjait? Ki tudja számolni a szükséges ellenállásokat? Saját megfontolásából kötötte az Uno megfelelő portjaira a modul megfelelő lábait?
Azért én nem igazán arra céloztam, hogy bedugok 4 vezetéket 4 helyre mondjuk egy szemléletes rajzocska alapján vagy esetleg mert apa így mutatta.
Azért ezek a kérdések nekem sem voltak egyszerűek felnőtt fejjel, amikor elkezdtem ezt az egészet nulla szakirányú ismerettel. -
tvamos
nagyúr
válasz
Teasüti #8480 üzenetére
Nalunk a szomszed gyerek folyton errol beszel. Valmi mBlock-ot tanulnak, de rohadjak meg, ha meg olyat is veszek feleslegesen. Ebben van bluetooth is, ha jol latom. Enyem viszont egyaltalan nem erdekli. A HC-06-ot 30 sec bekotni, azt a fiam is megcsinalta, sot egyutt irtunk olyan progit, ami a HC-06-rol jovo karaktereket visszakuldi soroson. Hogy oruljek... es bekenhagyjam xboxozni.
Mondjuk azota javultak a Google skilljei... szoval megerte nyegtetni. -
Teasüti
nagyúr
Mindig röhögni szoktam az ilyen ambiciózus kezdeményezéseken, hogy tanítsunk programozást óvodában, kis iskolában. Vhogy nem tudom elképzelni, hogy bármelyik gyerek érdeklődését felkeltené az a rengeteg meló, ami azzal jár, hogy akár csak bekössem a hc-06 modult egy Uno-ra, érteni a elektromos alapelveket hozzá, stb. Aztán bármilyen felületen szarakodni, hogy vmi, a gyerek számára értelmes eredmény szülessen.
Ebben a korban leszarják a gyerekek, majd apuka úgyis vesz olyan rc modelt, ami működik is!
Ellenpéldát egyet sem láttam még.Tvamos-t kéne megkérdezni, ha jól emlékszem ő régebben próbálkozott vmi Arduino RC Kit-tel, asszem robot autó volt.
Úgy emlékszem ott is csak apuka lelte örömét benne, már ha egyáltalán.
Lehet az is a fiókban porosodik. -
válasz
nyikszi #8478 üzenetére
Értem!
Esetleg érdekel egy olcsóbb megoldás?
Kell hozzá egy uno vagy egy nano, egy hc-06 Bluetooth modul, és tetszőleges számú led, csipogó, szervó vagy dc motor.
Mellé pedig egy ilyen programozó környezet:
[link] vagy [link]
Ezek a LEGO-hoz hasonló grafikus környezetek.Az én fiam 8 éves, én egyelőre sikertelenül próbálkozom "megfertőzni"
, bár LEGO EV3-mal már vannak részeredményeink (egy tanfolyamra jár most, a feladatokat megcsinálja, érti, de nem túl kezdeményező).
Az általam épített Arduino smart car-t is szívesen irányítja egy telefonos remote appal, de a programozás még nem igazán hozza lázba. -
gyapo11
őstag
válasz
ZTE_luky #8473 üzenetére
Lehet, hogy jó ez a modul is. Az analóg jelet elfelejtheted, ahogy írta valaki nincs erősítve. A digitális kimenet már az erősítőből jön, ami nyílthurkú, tehát hatalmasat erősít a mikrofon kicsi jelén. Ha jó helyre van állítva a trimmer, akkor a beérkező hang félhullámai az egyik irányba, a másik félhullámok a másik irányba fogják tápfeszültségig billenteni a jelet. Mondjuk belefütyülsz, és másodpercenként 1000-szer változik a kimenet.
Mit kezdesz ezzel a jellel? Hogy olvasod be? Milyen összefüggést szeretnél a hang és a ledek fénye között?
Ha frekvencia szerint változzon a fény, akkor szűrők kellenének, mint egy fényorgonánál. Ha hangerő szerint, akkor elég szűk hangerőtartományban lesz jó, mert alatta semmi, fölötte meg max, mivel az erősítés nem állítható. Ha megvan, hogy mit szeretnél, akkor lehetne továbblépni.
Szerintem a fényorgona lenne jobb, aluláteresztő a mély hangokhoz, felüláteresztő a magas hangokhoz és sávszűrő a középső frekvenciatartományra, és az egyes sávokon érkező jel szerint változtatni a színeket. Ezt még akár kombinálni is lehetne a hangerővel, hogy milyen hosszúságú ledsor világítson frekvenciatartományonként más színnel.
De valószínűleg állítható erősségű erősítő kell, és analóg jelfeldolgozás, szűrés, ezt kellene beolvasni az arduinoval 3 analóg bemeneten. -
ZTE_luky
aktív tag
és esetleg valaki itt a fórumon csinált már hasonlót? milyen mikrofont/ jack aljzattal felszerelt lapkát kéne vennem ahhoz h működjön szépen?
-
ZTE_luky
aktív tag
Mindkettőtöknek köszönöm szépen hogy ilyen segítőkészek vagytok. Ez elég érdekes, sokkal de sokkal egyszerűbbnek találtam a dolgot.. Első találat ebayen a microphone for arduino, másik érdekesség hogy több tutorial videóban is használnak hasonlót.
Megmondom őszintén én teljesen ismeretlen tereped evezek mind elektronika mind arduino téren, és csak egy kis "mókázást" szerettem volna ledet zenére varázsolni arduino segítségével, de akkor úgy néz ki a dolog hogy ez nem lesz okés?
Nem vágyok arra hogy írjak bonyolult kódokat (még) , de vhogy elkell indulni ilyen téren is, gondoltam keresek egy király kis kódot összedobom a hardvert és mehet a buli.
Aa alábbi rendszert és az alábbi kóddal akartam megvalósítani, a kód le is futott, és mintha működne is, csak a mikrofon potméterével állítam az aktuálsi hangerősséget, szóval elég furi
-
válasz
ZTE_luky #8466 üzenetére
Ezen a videón a fickó pont ugyanezzel a problémával küzd, mint te, a videó végén a megoldás nem túl megnyugtató.
Hátha segít.
(#8467) Teasüti: a videó alapján a poti a dc offsetet állítja, szerintem nem jó rajzot találtál.
A rajz alapján viszont lehetne negatív visszacsatolást létrehozni a d0 és az a0 közt, vagyis talán erősítőnek is lehetne használni a cuccot? Ne nevessetek ki, ha nem így van, mert nem túlzottan értek hozzá. -
Teasüti
nagyúr
válasz
ZTE_luky #8464 üzenetére
Elég komplikált dolognak tűnik nekem. Bár soha nem foglalkoztam audió jelfeldolgozással és az erősítők működése is ismeretlen világ nekem.
Úgy tűnik azon a modulon rajta van már az erősítő fokozat, remélhetőleg az analóg jele is 0-5V közé van eltolva.
Így a következő lépés az volna, hogy megfelelő tápfeszültséget adsz a rendszernek (usb bőven elég a ledek nélkül) és letekered a Gain-t a modulon, majd fokozatosan emeled amíg kellő mértékű jelet látsz a bemeneten (mondjuk írasd ki Serial monitorra ha nem tudod/akarod mérni)!szerk:
Hááát őőő ez nagyon úgy tűnik, hogy nem fog működni Arduinoval. Legalábbis az analóg része, ami se erősítve nincsen, se a DC offset nincs megoldva. Ez így felejtős.Viszont ha megépíted azt a kapcsolást, amit feljebb linkeltem az Instructables-ben, akkor jó lesz.
-
válasz
ZTE_luky #8464 üzenetére
Az a gyanúm, hogy a "sound modul" igazából egy digitális kimenetű cucc, a potival threshold-ot tudsz csak állítani, vagyis abból az életben analóg jelet nem fogsz tudni kiszedni. De jobb lenne, ha leírnád a típusát, hogy ne sötétben tapogatózzunk. A táppal meg szerintem köss egy diódát sorba, azon fog esni ~0,6V így talán nem teszed tönkre a cuccokat.
-
ZTE_luky
aktív tag
válasz
Teasüti #8463 üzenetére
köszi a választ!
a kontroller okés ,lecheckoltam, haha emlékszel rám
ez nem a végleges táp, úgy találtam itthon, de képzeld azt a rendszert kipróbáltam a mobiltöltővel és szuperül működik. uhh jó h mondod, erre odafigyelek, akkor nem használom, portról is simán elég hogy rájöjjek a mikrofon titkára
igazából csak próbálgatok egy hangvezérlést végre összehozni, hogy mire kész lesz az a rács test, futhasson rajta több animáció is, és hát na őszintén elég király lenne egy hangvezérelt kis rendszert elecsempészni, és mire nekiállo ka szerkezetnek tudjam hogy mikrofont vagy egy jackportot is forrasszak bele, egy másik outra és akkro lehet feltöltögetni mást is a boardra
-
Teasüti
nagyúr
válasz
ZTE_luky #8462 üzenetére
Próbáld ki az analóg bemenetet egy potméterrel! Zárjuk ki először a kontroller felőli hibákat!
Amúgy milyen tápot sikerült szerválni végül? Az 5.4V elég szokatlan.
WS2812b specifikációjában 5.3V szerepel, mint abszolút maximum. Szóval ne lepődj meg, ha majd elhaláloznak a pixelek! -
ZTE_luky
aktív tag
Sziasztok! Bízok benne hogy tudtok segíteni nekem! Nem tudom mit kéne leírjak a kis rendszeremről, úgy gondolom a sound module-al van probléma, ezért nem a rendszerrel és a kóddal kezdek, de persze leírom ha szükséges. egy kis arduino nanoval hajtok egy WS2812-es szalagot. a mikrofonról Analóg jel érkezik A0-ba, és D6-ból fut szépen a szalagba.
a kódra meg se mozdul a fény, semmit. ha a mikrofon érzékenységét állítom a potméterrel, változik, úgy mint ahogy a hangerősségre ugrálnia kéne. fogalmam sincs mi lehet a baj
utánaolvastam elég sokat, sokan az érzékenységre gyanakodtak hasonló esetben, mások a feszültséget tartották soknak. nem tudom.
ilyenem van amúgy és 5.4 V-ot kap kb (sajnos táp nem állíthatós)
-
válasz
nyikszi #8459 üzenetére
Szerintem sehol.
Néztem az árakat, és a hardverhez képest durván túl van árazva. Persze, tudom, az árba bele van építve a fejlesztés, az egész "ingyenes" oktatási program költsége, meg az, hogy te fizeted ki az angol tanulóknak ingyen juttatott példányok árát is.Minden célra kell? Arduinoval nem lehet helyettesíteni?
-
nyikszi
őstag
Sziasztok! Érdemes Kínából rendelni Micro:bit got vagy inkább itthonról? És melyik bolt az ajánlott, megbízhatóság és olcsóság tekintetében?
Ha egy iskola többet szeretne venni, akkor van valahol kedvezmény? (Nyilván itt csak hazai beszerzési lehetőség jöhetne szóba.)
-
Janos250
őstag
"Amúgy arduinoról nem szívesen hajtok semmit, max opti izolátorokat."
Na, én erre használom az ESP8266-ot, azaz optocsatoló helyett.
Például az egyik dobozban akkuról hajtva a hőmérők konverterei, és az egyik ESP, ami küldi a jelet WiFin a másik dobozban lévő másik ESP-nek, ami kapcsolgatja az erősebb (48 V 3A) delejt. -
Vladi
nagyúr
válasz
// Chaka // #8452 üzenetére
"Na ezzel most jól ki lettél segítve "
Hátjah.MOndjuk 10 évnyi üzemmel évi 1000 munkaórával bármelyik elektronikai cuccnál aláírnék.
-
// Chaka //
tag
Ha strapabírót kell csinálni, az vagy nemkiciócó, vagy sok melóval jár. A sok melós változatban át kell rágni magadat a cuccosok adatlapjain, és olyan elemekből felépíteni, amiket azok javasolnak. Én a kettőt vegyítem. A 230V-os tápegységet nem merem megcsinálni, de minden mással rendben vagyok. A linkelt DIN sínes tápegységet többtízes gyártási sorozatnál nem ajánlanám, mert már hallottam egy kollégától a korai haláláról. Bár az ennél sokkal drágább cuccosok is megdöglendhetnek 10-15 év után. Na ezzel most jól ki lettél segítve
-
Vladi
nagyúr
Én most tápegységeket keresek. Egyelőre kellene valami sima töltős, pl: link.
De valami hosszabb távú megoldást keresek. Esetleg egy dines táp? Vagy inkább ami most van?
Mire érdemes figyelni a kiválasztásnál? 12 voltos lenne jó, mert most is azt használok a kapcsolókhoz, ahhoz van tervezve izolátorom.
Amúgy arduinoról nem szívesen hajtok semmit, max opti izolátorokat.
Egyébként van valami ajánlott cucc, ami arduinoval kompatibilis programozás téren, és strapabíróbb, a masszívabb használatot is jól bírja?
-
Teasüti
nagyúr
válasz
Teasüti #8448 üzenetére
Közben kikerestem a partíciós táblát, meg a boards.txt-t.
Nos, eléggé benéztem azt a 131 KB-ot, egy nulla lemaradt a végéről.
Vagyis nem hogy megvan a tárhely, de még jócskán több is, mint volt annó.
A programom foglal egy nagyságrenddel több helyet, mint korábban.
Na most ezt nem értem hogy, de mindegy.szerk: oké, emlékeim mégis csak csalnak.
A BT könyvtár eszi meg a program tárhely nagy részét, a BLE több mint 1 MB!!!
Viszont most nézem, hogy implementálva van a Classic Bluetooth az Arduino Core-ban!
Végre működik a bluetooth serial mindenféle hack nélkül!
És kevesebb helyet is foglal, az alapértelmezett partíció 75%-át foglalja csak el. -
Teasüti
nagyúr
Hali,
Elővettem megint az Arduino IDE-t hosszú idő után, felraktam a Core-t ESP32-höz, majd fordítom az utolsó programot, hogy minden megy-e még és azt kapom vissza, hogy a tárhely csak 131 KB.
Vmit biztos rosszul állítottam be, alaplapnak a sima "esp32 dev module" van kiválasztva és a 4 mega flash mellé. Emlékeim ha nem csalnak - és tuti nem csalnak -, akkor tuti nem használtam ki 97%-ra a program tárhelyet, ami inkább olyan 480 KB körül mozgott annó.
Mit kell buzerálni rajta, hogy nagyobbra partícionálja? Végig próbáltam a partíció sémákat is, mind 131 KB csupán. Ez így lóf.sz, még a RAM is 300 KB majdnem, mi a fenéért biztosít csak 130KB ROM-ot??
Köszi! -
Teasüti
nagyúr
-
tvamos
nagyúr
válasz
DrojDtroll #8439 üzenetére
En is vettem 2-3-4-8 tagu hazat, abba at tudom pattintani a sima dupon kabelbol a fem csatlakozot... de mostanaban azt csinalom, ha zavar, hogy lotyog, odaragasztom forro ragasztoval. az lejon kezzel, maradek nelkul, eleg jol tart.
-
_q
addikt
Sziasztok!
Arduino Uno esetén okozhat gondot ha a timer 0 (amit a millis és delay függvények használnak) portjára kötök motort ami PWM jellel van vezérelve?
Másik kérdésem, hogy a képen látható Analog input portok digitális portként is tudnak működni? Tehát ha gombot kötök rá akkor működik vagy csak analog jeleket tud kezelni? Megtévesztő a felirat. -
Teasüti
nagyúr
Ez a protokoll.
Kihelyezett kapcsolókhoz, kezelőszervekhez, különösképp a kapacitív érzékelőkhöz bölcs döntés védelmet rakni arra a végére a vezetéknek. Ezen felül áramkorlátozó ellenállást. Bypass kondit szükség esetén még a kontroller felöli végére, hogy csökkentsük a zavarjelet.
A beépített védelem elbír 15 kV 1A ESD-vel üzemszerűen? -
Teasüti
nagyúr
Nem. GND-t azt GND-re értem az áramkörön. Hálózati feszültséghez még annyira se értek, mint amit az alacsony feszültségű áramkörök kapcsán megtanultam, de nekem mintha úgy rémlene a védőföldnek nem az a szerepe, hogy te arra kösd rá az árnyékolást és a bypass diódákat. A védőföld az kizárólag érintésvédelemre szolgál tudtommal. De ne hallgass rám, majd vmelyik villanyos fórumtárs kiigazít.
-
Teasüti
nagyúr
ESD diódákat vagy chip-et ha az van, GND-re szokás kötni. Elhelyezni meg az interfész után közvetlenül kell.
Kapacitív érzékelők kapcsán olvashatsz sokat ESD-ről, ugyanakkor minden ember által fogdosott áramköri elemre tenni kell védelmet szabvány szerint.Árnyékolás is GND-re megy alapesetben, ha nem tévedek.
Én USB port beültetése kapcsán olvasgattam erről, ott nem egészen értettem a dolgot, mert megkülönböztetnek több GND-t is. Úgy tűnt az usb kábel árnyékolása GND2-re és GND3-ra kapcsolódik. Bármit is jelentsen ez. -
Vladi
nagyúr
Na azt hiszem megvan a hiba! Az arduino tápjának kábele egy helyen sérült, kilátszik a réz.
Ha a vezetéket megtapogatom, akkor azonnal hibázik - ingadozhat az 5v a digi kimeneten.
Erről mi a véleményetek? Lehet, hogy ez okozta az összes cumimat? Hát ha így van tutira herén harapom magam....(#8420) aryes:
Jah, az egészet átpítettem árnyékolt kábelekkel. Az árnyékolásokat is összegyűjtottem sorkapocsba, csak még nem tudom, hogy :
1. kell -e egyáltalán
2. a végét hová kell dugnom.Teasüti:
esd védelemről keresnem kell még valamit. Annyit van, hogy a gépet egy villanyszerelési fém házba tettem, annak a földjét meg bekötöttem a hálózat védőföldjébe. Ennyi elég lehet?
-
Dalee
aktív tag
Sziasztok,
Szeretnék segítséget kérni.
Kaptam egy példakódot, melynek az egyik sora a boost gyűjtemény egyik elemét használná:
boost::fusion::for_each(this->m_data, [](const auto& a) {
std::cout << a << ' ';
});Ez a sor (a komplett programmal együtt) le is fordul PC konzolra, de ESP8266 alá kapok egy csomó hibaüzenetet, hiába telepítettem a github-ról a boost_1_51_0 és a működéséhez szükséges boost StandardCplusplus könyvtárakat.
Az első pár hibaüzenet:
Arduino.h: 267:12: error: 'std::isinf' has not been declared
using std*: isinfArduino.h: 268:12: error: 'std::isnan' has not been declared
using std*: isnancpp_type_traits.h: 82:10: error: redefinition of 'struct std::__true_type
struct __true_type { } -
Teasüti
nagyúr
Fura. Annak a relé modulnak pedig teljes körűnek kellene lennie, minden szükséges ellenállás és dióda látszik rajta. Esetleg ha van szkópod akkor érdemes volna rámérni a bemenetre milyen jelet is kap.
Előbb biztos a hibát keresném meg, mielőtt alkatrészeket vásárolnék.
Éles használatban meg tervezéskor gondoskodni kell az ESD védelemről is!
Ez minden kezelőszerv esetén minimum egy védődiódát jelent. -
Janos250
őstag
válasz
choco01 #8415 üzenetére
Nem nehéz.
Ez a main.cpp (mivel az Arduino programja is C++, természetesen van main.cpp is, csak arra nem szokták felhívni a figyelmünket.)#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "Arduino.h"
#if CONFIG_AUTOSTART_ARDUINO
#if CONFIG_FREERTOS_UNICORE
#define ARDUINO_RUNNING_CORE 0
#else
#define ARDUINO_RUNNING_CORE 1
#endif
void loopTask(void *pvParameters)
{
setup();
for(;;) {
micros(); //update overflow
loop();
}
}
extern "C" void app_main()
{
initArduino();
xTaskCreatePinnedToCore(loopTask, "loopTask", 8192, NULL, 1, NULL, ARDUINO_RUNNING_CORE);
}
#endifAlapesetben, ha nem írod át a main.cpp-ben, akkor a loop a core 1-en fut.
Ha csinálsz függvényt, azt ugyanígy a xTaskCreatePinnedToCore-al tudod hívni, és meghatározhatod, hogy melyik magon fusson.
Itt mutattam rá egy programomból egy mintapéldát.
https://prohardver.hu/tema/arduino/hsz_8403-8403.html -
Janos250
őstag
válasz
choco01 #8413 üzenetére
Az ESP8266-nál valahonnan a netről töltöttem le, és a mintapéldában láttam a használatát. Egyszerűnek tűnt. ezért azt használtam. Utána írták, hogy az esp8266WEBserver működik némi megszorításokkal az ESP32-n is, aztán valaki elkezdte bütykölni, hogy rendesen menjen. Valaki írta, hogy neki egyszerre csak egy klienst tud lekezelni, de nekem az elég.
-
Janos250
őstag
válasz
choco01 #8411 üzenetére
Én - ha jól emlékszem - ezt töltöttem le:
http://www.fisch.lu/junk/ESP32-WebServer.zipAzért ezt, mert én az ESP8266-on is ennek az elődjét használtam, és azt megszoktam.
Egyéb oka nem volt.Segédletem sajnos nincs.
-
Janos250
őstag
válasz
choco01 #8407 üzenetére
Nekem ez az eleje:
#include <WiFi.h>
#include <WiFiClient.h>
#include <ESP32WebServer.h>"DHT22 miert NA adatot ír állandóan"
Én ezért szoktam saját lekezelőt csinálni, mert a kész könyvtárak időnként nem azt csinálják, amit én szeretnék. DHT11-re csináltam sajátot, 22 még nem. -
gardener
senior tag
válasz
Teasüti #8395 üzenetére
A végén haver tudta megcsinálni egy Atmel Ice-vel beégetve, ez a leírás alapján:
http://wspublishing.net/avr-c/restoring-arduino-mega-bootloader/
(Amúgy pololu A4988 van benne.) -
Vladi
nagyúr
Ezt a leírást nézem most: link.
Egy 10k-s lehúzót tesz be és kész. Ez így jó lenne?
Már csak azt kellene kitalálnom, hogy milyen ssr kell, mi az áramkör amit kapcsolgatok.
váltó, vagy egyenáram.Talajdonképpen egy omron időrelét kell elindítani a kapcsolással.
-
Vladi
nagyúr
Sziasztok!
Lassan a végére érek a projektnek, meg az idegeimnek is.
Van egy időzítő kapcsolóm arduino alapon, 2 gomb bemenet, 1 relé kimenet.A program jó, működik, stabil, az összes bemenet stabil. Kiváló. Az egészet beépítettem egy fém dobozba.
Szépen kultúráltan, kábeleket is elosztottam.De a relével nem jutok dűlőre. Ilyen fajta.
Árnyékolt kábelt használtam, mindent leföldeltem rendesen. Működik is a rendszer, csak a relé nagyon instabil. Bármilyen elektromágneses ingadozásra beránt. Vagy akár úgy is marad.
Ez akár olyan szinten, hogy megérintem a dobozt és...Van ötletetek erre? Arra gondoltam, hogy ssr relére cserélném ki. Az stabilabb lenne? Esetleg ahhoz kötnék sorba egy ellenállást, hogy a zaj ne jusson be. 3 volt fölött azok már kapcsolnak. pl.
-
Janos250
őstag
taskDISABLE_INTERRUPTS();
Az ESP32 rendszere a freeRTOS op. rendszeren fut, annak a függyvényei is használhatók.
Azt csinálja, ami a neve, letiltja az interruptot, a taskENABLE_INTERRUPTS() pedig újra engedélyezi.
Ezeket próbáld a saját programodba is betenni a szalagra írás előtt és után. Csak próba, mert lehet, hogy nálad a könyvtár dolgaival összeakaszkodik.A loop automatikusan a core1-en indul, ha nem rakod át. A WiFi kezelés a core0-n van, elvileg nem zavarhatják egymást.
A szalagra kiküldendő adatok kiszámítását, meg bármi járulékos dolgot tedd a core0-ra. Beteszed egy függvénybe, és azt pl. ehhez hasonlóan hívod meg.
Így lehet pl. egy "lightShowInCore0Code" nevű függvényt úgy meghívni a loopban, hogy ne a core1-en, hanem a core0-n fusson:xTaskCreatePinnedToCore(
lightShowInCore0Code, /* Task function. */
"lightShow", /* String with name of task. */
1000, /* Stack size in words. */
NULL, /* Parameter passed as input of the task */
3, /* Priority of the task. */
&lightShowInCore0, /* Task handle. */
0 /* core */
);uint8_t:
"uint8_t lövésem sincs mi, gondolom egy közvetlen lenyúlás egy hardverközelibb szintre"
Nem.
A különböző rendszerekre való könnyebb átvitel érdekében a különböző hosszúságú egészeket célszerű így deklarálni, hogyint8_t : előjeles 8 bites egész
uint8_t : előjel nélküli 8 bites egész, vagyis 0..255 közötti az értéke.
A 8 helyett állhat 16, vagy 32 is, attól függően, mekkora kell.Én lightShowInCore0Code-nak neveztem el azt a függvényt, ami az adatokat kiszámolja, tehát ami nevet adsz a függvényednek, azt írd a helyére. A többi maradhat változatlanul.
void lightShowInCore0Code( void* parameter) {
// Ide kerül a tényleges program, amire azt akarod, hogy a core0-n fusson.
vTaskDelete(NULL); // ezt ne felejtsd el beírni a függvényed utolsó sorába.
} ; -
válasz
Janos250 #8401 üzenetére
Kb ennyit értettem a hozzászólásod első kódrészletéből:
void loop() { //ez értem
taskDISABLE_INTERRUPTS(); //ez remélhetőleg egy beépítet függvény, este megnézem mire jó és miért kell
for ( uint8_t i = 0 ; i < ledNum ; i++) { //ciklus indul, a uint8_t lövésem sincs mi, gondolom egy közvetlen lenyúlás egy hardverközelibb szintre
transmitOnePixel(lightArray [lightArrayIndexPortWriting][i]) ; //ebből annyit értek, hogy egy tömbben defináltunk egy másik tömböt és elkezdtük az elemeit kiíratni
} ;
taskENABLE_INTERRUPTS(); //ez remélhetőleg egy beépítet függvény, este megnézem mire jó és miért kell
delay(1000) ; //ez értem
} ; // end loop //ez értemEzért írtam, hogy meg akarom érteni mit, miért, hogyan.
-
Janos250
őstag
Nem kell megfejteni!
Ennyi a loop lényege:void loop() {
taskDISABLE_INTERRUPTS() ;
for ( uint8_t i = 0 ; i < ledNum ; i++) {
transmitOnePixel(lightArray [lightArrayIndexPortWriting][i]) ;
} ;
taskENABLE_INTERRUPTS() ;
delay(1000) ;
} ; // end loopA transmitOnePixel paramétere egy tömb.
typedef struct RGB {
uint8_t r, g, b;
};
RGB lightArray[2][ledNum] ;Az első indexe 0, vagy 1. Amíg az egyik első indexxel a tartalmát küldöd a led szalagra, addig a core0-á a másik indexxel számolod a következő értéket.
Ezt célszerűen egy
xTaskCreatePinnedToCore
hívással célszerű megtenni.Ezt:
void lightShowInCore0Code( void* parameter){
static uint8_t showNum = 0 ;
switch (showNum) {
case 0:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,0,0} ;
} // end for
lightArray[lightArrayIndexCalculating][0] = RGB {255,255,255} ; // first, last pixel controll
lightArray[lightArrayIndexCalculating][ledNum - 2] = RGB {255,255,255} ;
lightArray[lightArrayIndexCalculating][3] = RGB {255,255,255} ;
break;
case 1:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {(128-i*(128/ledNum)),i*(128/ledNum),0} ;
} // end for
break;
case 2:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,0,32} ;
} // end for
break;
case 3:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,32,0} ;
} // end for
break;
case 4:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {32,0,0} ;
} // end for
break;
case 5:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {(128-i*(128/ledNum)),0,i*(128/ledNum)} ;
} // end for
break;
default:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {16,16,16} ;
} // end for
}
showNum++ ;
showNum = showNum % 6 ;
vTaskDelete(NULL);
} ; // end lightShowInCore0Codecsak mintapéldának írtam hasraütésszerűen náhány verziót, ami a case szerint sorra veszi.
A
static uint8_t showNum = 0 ;
miatt sorra veszi őket.Persze lehet a kész könyvtárakkal is, ha már azzal kezdted el, bizonyára úgy is kell mennie.
A vékony drót esetét én sem értem, de vannak még csodák.Ha valamelyik led nem azt csinálja, amit kellene:
az többnyire amiatt van, hogy 1 msec időközönként megszakít, és ilyenkor túlszalad az idő.
Próbáld meg esetleg tiltani a megszakítást azon a magon, amíg tart az adatok feltöltése a szalagra!
Új hozzászólás Aktív témák
Hirdetés
- Megaport gaming pc + billentyű
- Csere-Beszámítás! Ryzen 9 9950X3D Processzor! 16Mag-32Szál!
- Csere-Beszámítás! Intel Core I9 14900KS 24Mag-32Szál processzor!
- Csere-Beszámítás! Asus Rog Strix GTX 1080Ti 11GB GDDR5X Videokártya!
- Csere-Beszámítás! Asrock Challanger B580 12GB GDDR6 Videokártya! Bemutató Darab!
- BESZÁMÍTÁS! MSI B550M R7 3700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB NZXT H5 Flow RGB 650W
- Medion Erazer Beast X40-hez vízhűtés (MD 60961) (ELKELT)
- Apple iPhone 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! Asus Tuf RX 9070 XT 16GB Videokrátya! Bemutató darab!
- Samsung Galaxy S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest