-
Fototrend
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
-
válasz
ratkaics #22970 üzenetére
Lehet azt G szenzorral is, de mikrofonnal szerintem egyszerűbb.
Kell egy piezo mikrofon (~200Ft), az bírja a rázkódást, extrémebb meleget (motortérben). Kell hozzá egy erősítő / impedanciaváltó / aluláteresztő szűrő fokozat, ami 1db opamp + pár dióda+ellenállás+kondenzátor (max 1000Ft, ha mindent a sarki hobbielektronika boltból veszel
) és már csak számolni kell az impulzusokat.
-
válasz
.-..-. #22945 üzenetére
Hát az egyik verzió az onboard regulátor (a fűtős
) használata 5V boost konverter mellett, ez a pazarlós, de bevált, stabil megoldás.
A másik a 3.3V boost-buck konverter, aminek szintén nem nagyon megy a hatásfoka 80% fölé, inkább 70% az is.
Aztán van olyan is, hogy egy low drop regulátort kötni a pucér cellára, hátránya, hogy nem tudod a teljes töltést kivenni.
Talán a legjobb megoldás a 2S li cella + egy jó hatásfokú buck konverter, azzal 90% vagy afölötti hatásfokot is el lehet érni.Az AVR-ek ilyen szempontból egyszerűbbek, mert az 5V chipek 6V-3V közt simán elketyegnek minden konverzió nélkül (más kérdés, hogy a rájuk között perifériák annyira nem). Az ESP flash része viszont 3,6V fölött sajnos megsül, így azzal nem érdemes kísérletezni.
-
válasz
JulianSinulf #22937 üzenetére
Ilyen értelemben a #define és a const uint8_t közt nincs különbség, ha jól tudom, egyik sem használ RAM-ot.
uint8_t igen, csak 1byte-ot foglal, de ha nem dolgozol nagy mennyiségű adattal (tömbök) akkor nem igazán kell vele ilyen szempontból foglalkozni. Persze nem árt megszokni, hogy az ember ne pazaroljon, ha nem muszáj. -
válasz
JulianSinulf #22935 üzenetére
Mi az a
cont
?Azért jó a #define, mert ha szeretnél változtatni a bekötésen, utólag, akkor csak egy helyen, a program elején kell megváltoztatni a lábat. Ráadásul a #define nem használ RAM-ot.
A LED kapcsolás: korábban írtam a low side vezérlést, egyszerűbb, olcsóbb és problémamentesebb, mint a high side. Ráadásul ha közvetlenül kötsz egy ledet egy kontroller kimenetére, akkor az sink módban több áramot tud általában (károsodás nélkül) elviselni, mint source módban. Egy esp8266 esetében például 20mA vs. 8mA, ha jól emlékszem.
-
válasz
JulianSinulf #22919 üzenetére
De ott van a sütőelektronika, ahol a reléket ugyanígy kapcsolják. A 9V vagy épp 24 V a relé egyik lábán, majd egy illesztő IC segítségével a uC kapcsolja a földet a másikra
Na ezt pont tudom miért van. Ez a low side switch, [link]
A mikrokontroller általában 3-5V-ot képes kapcsolni, high side esetében viszont a fet teljes nyitásához a gate-et táp feszültségre kéne kapcsolni (9-24V) ami csak egy másik fet segítségével lenne lehetséges.Azt hiszem high side vezérlést csak az autókban használnak, valamiért ott az a biztonságos. /Fixme
szerk.:
Megkérdeztem a ChatGPT-t erről a témáról, ezt írta:A nyomógombbal történő vezérlésnél az egyik legelterjedtebb megoldás az, hogy a bemenetet egy felhúzó (pull-up) ellenállással a magas jelszintre húzzák, és a gomb megnyomásával a bemenetet a földre kapcsolják. Ennek a megoldásnak több gyakorlati oka van:
Zajkezelés és stabilitás: A földre húzás (pull-down) kevésbé hatékony a zajokkal szemben, mert a digitális bemenetek érzékenyebbek a zavarokra magas jelszint esetén. A földre húzott bemenet jobban ki van téve a zajoknak és elektromos zavaroknak, amelyek véletlenül "magas" állapotba hozhatják. Egy felhúzott bemenet viszont stabilan magas jelszinten marad, és a földre kapcsolás kevésbé hajlamos véletlen átváltásra, mivel a logikai "0" (föld) egy határozottan alacsony feszültségszintet jelent.
Bemeneti ellenállás és áramfelvétel: A CMOS és TTL áramkörök bemeneti áramfelvétele jellemzően alacsonyabb, amikor a bemenet földre van kapcsolva. Ha a bemenetet a tápfeszültségre zárnánk (pull-down ellenállás), akkor nagyobb áram folyhatna át a bemeneten a táp és a föld között, ami növelné az áramfelvételt.
Egyszerűbb felépítés: Számos digitális eszközbe beépített felhúzó (pull-up) ellenállás található, ami megkönnyíti a tervezést, mivel nem kell külső ellenállásokat alkalmazni. Ezek az ellenállások már elő vannak készítve a bemenet stabil magas szinten tartására.
Mechanikai stabilitás: A kapcsolók, nyomógombok és egyéb mechanikai eszközök gyakran bizonytalanok a zárás pillanatában, és visszapattanás (bounce) léphet fel. A földre kapcsolás esetén ez kevésbé okoz hibás jelzéseket, mert a bemenet egyszerűen nullára kapcsol, és a digitális rendszer könnyebben kezelheti a visszapattanás okozta zajokat.
Összességében tehát a földre kapcsolásos megoldás azért terjedt el, mert zaj- és mechanikai szempontból stabilabb, egyszerűbb és kevesebb áramot fogyaszt, különösen a CMOS technológiájú áramkörök esetében.
-
válasz
JulianSinulf #22914 üzenetére
Érdekelne, hogy ez miért jobb megoldás, mint egyszerűen a gombbal tápra húzni a bemenetet, ami aktivál egy parancsot?
Igazából nem tudom miért ez a
fordított
logika terjedt el, de ez ilyende facto
szabvány megoldás, mindenki ezt használja, ha gombokat akarsz vezérelni, egy ismeretlen eszköz esetében, 99,9%, hogy ott is földre húzza a nyomógomb a bemenetet. Ez így volt már a C64 joystick portnál is 40 éveHa valaki esetleg tudja a miértjét, írja már le, én is kíváncsi vagyok!
-
válasz
Zsmester89 #22894 üzenetére
Úristen de menő
Aki ezt így kitalálta, annak
-
válasz
.-..-. #22866 üzenetére
Viszont egyáltalán nincs az usb listában az esp32.
De nem is csoda, mivel nem tudom átrakni flash/download módba.De, akkor is meg kellene jelennie az usb listában, legalább mint ismeretlen eszköz, mert bármi is van magán az ESP-n, van a board-on egy uart eszköz, ami akkor is kommunikál a dróton, ha nincs mögötte semmi. Windows-on legalábbis mindenképp megjelenik. Nézd meg egy windows-os gépen is, ha még nem tetted.
Az az érzésem, hogy az usb porttal, illetve magával az uart chippel van gond, próbáld a külső eszközt rákötni.
Esetleg az usb portot próbáld megtisztítani. 🤔 -
válasz
.-..-. #22864 üzenetére
Nincs külső usb-uart eszközöd, amivel meg lehetne kerülni a board-ra integrált uart chipet?
A géped nem változott az utolsó feltöltés óta? Biztos, hogy telepítve van a szükséges driver (pl. ch340)? Egyáltalán milyen uart chip van rajta?
Nincs semmi se kötve-forrasztva a lapra? Ha a pineket ráforrasztottad, nem folyt meg az ón valahol és csinált rövidzárlatot? -
válasz
.-..-. #22862 üzenetére
Szia!
Én a helyedben először is kipróbálnám másik kábellel, és az összes usb porton, ami a gépen van. Olyan szerintem nincs, hogy a feltöltött program miatt ne kerülne flash módba, de ha mégis, akkor gépre dugás előtt próbáld meg a gpio 0-t földre húzni, ezzel kézzel teszed boot módba.
Muszáj megkérdeznem: te hogy ejted a neved, kedves .-..-.?
-
válasz
Undoroid #22849 üzenetére
Nekem még nem jutott eszembe, de érdekes ötlet.
Bár az ilyen komplex kódok írásával kapcsolatban nincs jó tapasztalat az AI-al, és egy hibátlan szintaktikával, de rossz logikával megírt driver nem biztos, hogy nagy segítség lenne.Mindenképp írd meg, ha jutsz vele valamire.
-
-
válasz
allein #22814 üzenetére
Nem értem pontosan mi a kérdés. Az ESP GND és DATA pin-jét kell a LED szalaggal összekötni, a képen látható módon, de erről a tápról el tudod látni a LED szalagot és az ESP-t is, természetesen Y kábellel, tehát a táp külön-külön megy a két eszközhöz, véletlenül se az ESP-n keresztül kapja a LED szalag a tápot. Vagyis ha így szeretnéd tápolni az ESP-t, akkor nem 2, hanem 3 felé kell a tápot ágaztatni.
Az utolsó mondat nem tudom milyen nyelven íródottszerk.:
Most néztem meg a linkelt eszközt, a kollégának igaza van, nem tudom mi lehet ezen 30$, talán minden egyben van, nem neked kell összedrótozni mindent. -
válasz
kemcso #22791 üzenetére
Így jó, igen.
A kijelző vezetékét cseréld valami árnyékoltra, az is lehet megoldja. Esetleg köss egy-egy 10k - 4,7k közötti ellenállást (két egyformát) párhuzamosan a gyári 4,7k-val (vcc-sda és vcc-scl közé), ezáltal nagyobb áramok fognak szaladgálni a vezetéken és jobban tolerálja a zavart.
Még 1 dolog eszembe jutott: mennyire vékony a kijelző kábele? Nem esik rajta túl nagy feszültség, és emiatt bizonytalanná válik a működése? Mérj már feszültséget a kijelző felőli végén a kábelnek működés közben.Soros port helyett esetleg még megpróbálhatnád a kijelzőt egy egész rövid kanócra kötni.
-
válasz
kemcso #22787 üzenetére
A relén látszik szépen a négy dióda.
Ja, igen, a szenzor nem i2c. A kijelzőn meg szerintem lennie kell gyárilag, mérd ki műszerrel a VCC és az sda közt, 4,7k körül kell mérned. A VCC és scl közt ugyanúgy.
Nekem az exception az exception, ha a programkód hal meg akkor azt kezelnie kell(ene)
Kivéve, hogy itt maga a CPU akad ki, a hardveres i2c hibája miatt. De lehet rosszul gondolom.
Tényleg próbáld ki kijelző nélkül, és akkor egyértelműen kiderül.
-
válasz
kemcso #22784 üzenetére
vmi exception-kezelés létezik?
Létezik, de azt nem tudom, hogy hardveres i2c esetében is lehet-e az exceptiont kezelni.
Ha opto-s relé modul, akkor valószínűleg a diódát se spórolták le róla.
Típust nem tudok mondani, egy 10μF/16V elektrolit kondi szerintem megteszi (a dióda 1N581x), de lehet tényleg csak az i2c lesz ott a gond. Az i2c vonalon mekkora felhúzó ellenállást használsz/van a szenzor modulon? 4,7kΩ a szabvány, esetleg lehetne próbálkozni kicsit alacsonyabb értékkel.
-
válasz
ViZion #22772 üzenetére
A max fényerőt is lehet korlátozni
Jó ötlet
Közben utánakerestem, arra az smd ledre max 0.3W disszipációt ír, úgyhogy valóban le kell korlátozni. 🤔
készítek egy "bemenetet", ahonnan leágazok
Én így tennék, de csak micro usb aljzatom van és már alig van itthon ilyen kábelGyereknek akarok összerakni belőle egy displayt, amire streamelés közben tud rajzolni, kiírni dolgokat, ritkán vagy leginkább soha nem lenne tiszta fehér háttér küldve rá, inkább színes rajzok, szmájlik, meg betűk.
YouTube-on néztem, van aki lipo akksiról hajtja hogy hordozható legyen. Akkor annyira talán mégse vesz fel nagy teljesítményt. 🤔
-
Sziasztok!
Kíváncsi voltam és rendeltem ESP C3 super mini board-ot játszani.
WS2812 LED sort (50+ darab) szeretnék rákötni, és a tápot szeretném a board usb csatlakozójáról megoldani, mert kapóra jön, hogy usb-c aljzat van rajta, mivel usb-c kábelen szeretném majd táplálni a későbbiekben.
Ugye én a +5V pinre kötném a LED sort, ami az usb +5V lábával egy schottky diódán keresztül van összekötve. Tekintve, hogy teljes terhelés mellett 3A-t is felvehet a LED sor (legalábbis így számoltam és az usb táp is ennyit bír) , ha jól számolom kb. 0.6W-ot kéne a pici smd diódának disszipálnia.
Szerintetek mennyire működőképes az ötlet, bírni fogja? Csinált már ilyet valaki? -
-
válasz
ViZion #22749 üzenetére
Talán ezért sem halt még ki a bakelit.
Édes istenem...
Ebbe nem megyek bele, nagyon messzire visz.Annyi, h a hullámok egymást módosítják, 2 hullámból lesz egy harmadik.
Ez tény, csak ebből a szempontból teljesen mindegy a hullámforma, nézz utána a belső fül felépítésének. A fül nem hullámformát néz, nem frekvenciát mér, hanem folyadéknyomást, egy véges felbontasú senzor-array segítségével.
Egyfajta spektrum-analizátor, ami fizikailag képtelen 20kHz fölötti tartományt érzékelni, innentől minden más csak spirituális belemagyarázás.
-
válasz
ViZion #22744 üzenetére
Nem tudom milyen képet próbáltál linkelni, nem látszik.
Az is fontos, h ez mennyire módosítja a többi frekit
Ha arra gondolsz, hogy a felhangok a hangmagasság-érzékelést befolyásolják, akkor igen, nagyon is, emiatt sem divat már a függöny mögött próbajáték a zenekaroknál. De a 20kHz fölötti hangok már itt sem játszanak szerepet.egy bútorozott nappali vs mozi máshogy szól.
Tudom, teremakusztikából írtam az egyik szakdolgozatomat. -
válasz
JulianSinulf #22745 üzenetére
A test az infra közeli hangokat érzékeli, az ultrát nem. Legfeljebb melegíteni lehet vele.
-
válasz
JulianSinulf #22739 üzenetére
De most néztem, hogy van amelyik 4 és 51000 Hz között tolja.
Az már a vakulj paraszt kategória.
Az ember fiziológiailag képtelen 20kHz fölött hallani. Egy újszülött hall 20kHz-ig, kamaszkorra ez max 18kHz és ha jól tévedek, kb.10 évente csökken 1kHz-et. Bár a legutóbbi vizsgálaton még 45 évesen hallottam a 18kHz-et, de gyerekkoromban emlékszem, hogy én vígan hallottam a crt tévé sorkimenő frekvenciáját (15kHz), onnan tudtam, hogy a másik szobában be van kapcsolva a tévé, míg az öregek azt se tudták, miről beszélek.A 22kHz a drágább füleseknél érthető, mert az azt jelenti, hogy pl. 20kHz-en egyenletesebb lesz a frekvenciaátvitele, mint annak, ami csak 20 vagy 18ig garantált.
-
válasz
JulianSinulf #22737 üzenetére
Őszintén, úgy emlékeztem, hogy valamelyik videóban említették ezt az adatot, aztán láttam, hogy a kolléga írta nemrég
de nekem is kb. ez volt az emlékeimben.
Még fiatalabb koromban volt ilyen ultrahangos macska+rágcsáló riasztónk, PIR mozgásérzékelős volt, nem hangra aktiválta magát. (Kellett a padlásra valami, mert ott buliztak mindig éjszaka a macskák 😼) Lehetett ultrahang tartományt választani, asszem 3 közül. Úgy emlékszem, hogy 22kHz környékén a nagyobb testű állatok (kutya-macska), 30kHz körül az egerek-patkányok ellen. Mintha az is rajta lett volna, hogy rovarok ellen 45kHz-cel véd, de ezt nem annyira hittem el.
Na annak a hangját akkor bizony én hallottam, sőt, nem csak azt, hanem azt is, hogy nem állandó frekvenciát adnak ki ezek az eszközök, mert azt könnyen megszokják az állatok, hanem modulálják, hogy változzon a hangmagasság és még fülsértőbb legyen.
Na ez az eszköz egy akkoriban elterjedt olcsó kínai hangchip kimenetét használta modulációra, én pedig ezt is hallottam. Így fordulhatott elő, hogy a macskák éjszaka aCsendes éj
dallamát hallgathatták a padláson - az ultrahang tartományban.Szerintem ez engem nagyon zavarna.
Igazából az embert nem zavarja, csak ha nagyon közelről hallgatja. Már az is elég, ha más irányba néz a hangszóró (piezo), mert az ultrahang nagyon irányított hang, nem nagyon terjed gömb alakban, mint a mély hangok (így működnek a zajvédő falak is az autópálya mellett).Én amúgy az Arduino HC-SR04 ultrahang szenzor pingjét is hallom.
-
válasz
DarkByte #22690 üzenetére
vi. = Vietnámi aloldal. Gondolom helyi raktárakat, helyi árszabást listáz.
Valamikor pár éve elkezdett terjedni itt a fórumon, mert ha vki így linkelte az oldalt, miután rákattintasz, a böngésződ a vietnámi oldalon lokalizálódik, onnantól kezdve ez van, amit írtál. Terjed, mint a vírus, de valójában ártalmatlan dolog, a fenti jelenséget leszámítva. Bosszantó, mert oda kell figyelni, mire kattintok, bár az amúgy sem árt.
Jó lenne, ha eltűnne végre ez a hülyeség, ha mindenki odafigyelne mit linkel... -
válasz
cog777 #22676 üzenetére
Nem biztos! Mivel ezek passzív IR szenzort tartalmaznak, amik az emberi test "hőjelére" aktiválódnak, nem mindegy az se, hogy hol, milyen környezetben, milyen körülmények között használod! Ha a háttérben erős napsugárzás van, vagy ha télen vastagon fel vagy öltözve, az elfedi a hőjelet, és a szenzor nem fog látni téged. Ez nem a szenzor hibája, hanem korlát.
-
válasz
cog777 #22634 üzenetére
Na most néztem már utána, mi ez a nano esp. Ez egy esp32 s3 chip, natív usb-vel, nincs rajta usb-ttl chip. Valami usb-otg beállítást kell módosítani, hogy működjön a serial port, de most nem jut eszembe mi az.
szerk: ez: [kép]
Esetleg válaszd ki a generic esp32-s3 lapot a nano helyett és próbáld úgy.
Amúgy a debug lehet, hogy csak a tx1-ről fog működni külső usb-ttl adapterrel, bár nem akarok hülyeséget mondani. -
válasz
its_grandpa #22624 üzenetére
felesleges ">=" feltételt
Addig gondolod csak feleslegesnek, amíg egyszer végtelen ciklusba nem futsz egy == miatt.
Jó, persze itt valóban felesleges, de ha nem integerrel dolgozik az ember, könnyen előfordulhat, hogy nem teljesül a feltétel, ezért nálam már évtizedes beidegződés, hogy így használom. Fordítás szempontjából meg mindegy. -
válasz
its_grandpa #22616 üzenetére
Köszi
De két kiegészítés hozzá, mert így igazából nem csinál semmit:
#define BUTTON_PIN 4
void setup()
{
RADIO_FREQ freqs []= {9500, 9700, 10190, 10700};
int freqNum = sizeof(freqs) / sizeof(freqs[0]); // csatornák száma kiszámolva
int currentFreq = 0;
// hangolás
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]);
// gomb figyelés beállítása
pinMode(BUTTON_PIN, INPUT_PULLUP);
.
.
.
.
}
void loop()
{
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) { // gomb megnyomva
currentFreq++;
if (currentFreq = freqNum) currentFreq=0;
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]); // léptetés a következő csatornára
delay (1000); // enélkül csak egy sorsolás lesz a gombnyomás ;)
} // button state
.
.
.
.
.
} // loopA delay értéke végülis nem lényeges, így a gombot nyomva tartva másodpercenként léptet egy csatornát, és a pergésmentesítést is kiváltja, amit amúgy ha mást is csinál a program, nem így szoktunk megoldani, de itt megteszi.
-
válasz
Undoroid #22611 üzenetére
Mielőtt leprogramozná valaki amit szeretnél, megnéztem a library-t és van benne olyan, hogy
radio.seekUp();
radio.seekDown();
Vagyis automata keresés. Ezzel eggyel egyszerűbb lenne megoldani, amit szeretnél, kivéve, ha ragaszkodsz ahhoz a négy csatornához.Közben pár sor, amit beilleszthetsz a kódba, ebben nincs benne a gombnyomogató rész, amit biztos egyedül is meg tudsz írni.
// kód elejére
RADIO_FREQ freqs []= {9500, 9700, 10190, 10700};
int freqNum = 4; // csatornák száma az előző sorban
int currentFreq = 0;
// hangolás
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]);
// léptetés
currentFreq++;
if (currentFreq >=freqNum) currentFreq=0; -
válasz
Postas99 #22609 üzenetére
Én még csak a linkelt gombokat használtam ilyen célból, de úgy tudom egy csupasz vezetékdarab is megteszi, tehát a fóliát elég csak rácelluxozni a vezetékre, erősítő gyanánt. Vagy amit írtam, egy darab nyáklap, az forrasztható. Mikor hallottam, hogy van ilyen lehetőség, kicsit játszogattam vele, de még projektben így nem használtam.
1-2mm vastag doboz elvileg nem jelent akadályt, de mivel ez egy analóg megoldás, tudod finomhangolni az érzékenységet. Egymás melletti gombok szerintem nem zavarják egymást.
Próbáld ki, egy jumper kábel is elég hozzá! -
-
válasz
JulianSinulf #22605 üzenetére
*Thingiverse
A készen letölthető terveket pedig a tinkercad-ben szoktam módosítani, például nagyobb kijelzőnek nagyobb lyukat "fúrni" meg hasonlók. A többi 3D tervező nekem túl bonyi.
-
válasz
JozsBiker #22562 üzenetére
Egy ilyen kimenetet nem szabad lebegve hagyni. Boot közben ugyan hi-z módban vannak a kimenetek, de bármilyen zavart össze tud szedni a levegőből is a vezetéken át.
De a SETUP 5. sorában lehúzatom LOW -ba, tehát túl sokat nem tud lebegni. De köszi az észrevételt.
Dehogynem, a bootloader legalább 1mp-el késlelteti a program indulását onnantól, hogy áram alá került az eszköz.
Még mindig nem látom, hogy mi okozhatta a túlzott áramfelvételt. Vagy egy forrasztási hiba, vagy a behelyezéskor esetleg rossz helyre került vezeték okozta rövidzárlatra gyanakszom. 🤔
Én se emlékszem, hogy statikus behatás miatt tönkrement volna egy AVR nálam. Gondolom áramtalanítás után cserélted a boardokat az áramkörben.
Mégis csak egy fordított behelyezésre gyanakszom, mert ugye ha kizárunk minden lehetséges magyarázatot, akkor marad a lehetetlen.
-
válasz
JozsBiker #22546 üzenetére
Lehet olyan hogy két NANO -nak eltérő ?
Nem tudom, egy fényképet szívesen megnéznék a két modulról. Illetve egy rajzot a teljes áramkörről.
Abból kiindulva, hogy a két modul máshogy viselkedik programozáskor, bármi is lehet.A tűsort is lehet fejjel lefelé beforrasztani, én már jártam úgy, igaz RasPi zero-val.
-
válasz
JozsBiker #22544 üzenetére
Hú b*szki
Triviális kérdés: nem dugtad fordítva a lapot az eredeti helyére? 😅 Nekem ez tűnik a legvalószínűbbnek. 🤔
A lábkiosztás egyezik?
Nem ázott be a doboz, nem költözött bele vmi állat ami a mozgatás hatására zárlatot okozott?
A régi modult visszatetted és működik?
-
válasz
daninet #22526 üzenetére
Ha kellene lehúzó ellenállás akkor ébrenléti állapotban is kellene, nem?
Erre te is sejted a választ.
Az ilyen vezérlő kimenetekre eleve jobb külső fel- vagy lehúzó ellenállást tenni, mert boot közben bármi is történhet, nem jó, ha esélye van a lebegésre.
A 25. oldalt nézd meg (Strapping Pins)! Ahogy írtam, az esp-ken vannak dedikált pinek, amiknek funkciója van a boot során. A gpio2 is ilyen, válassz másik vezérlő pint. Lehet ha lehúzod azt a pint, be sem fog tudni bootolni. Ha ragaszkodsz ahhoz a pinhez, lehet meg kell fordítanod a logikát.
-
válasz
daninet #22508 üzenetére
Azt írja, nem ebben a sorrendben kell megadni a paramétereket! Hogy a példában miért így van, azt nem tudom, talán az idf automatikusan javítja.
A helyes sorrendet itt tudod megnézni: [link]typedef struct {
int gpio_num; /*!< the LEDC output gpio_num, if you want to use gpio16, gpio_num = 16 */
ledc_mode_t speed_mode; /*!< LEDC speed speed_mode, high-speed mode (only exists on esp32) or low-speed mode */
ledc_channel_t channel; /*!< LEDC channel (0 - LEDC_CHANNEL_MAX-1) */
ledc_intr_type_t intr_type; /*!< configure interrupt, Fade interrupt enable or Fade interrupt disable */
ledc_timer_t timer_sel; /*!< Select the timer source of channel (0 - LEDC_TIMER_MAX-1) */
uint32_t duty; /*!< LEDC channel duty, the range of duty setting is [0, (2**duty_resolution)] */
int hpoint; /*!< LEDC channel hpoint value, the range is [0, (2**duty_resolution)-1] */
struct {
unsigned int output_invert: 1;/*!< Enable (1) or disable (0) gpio output invert */
} flags; /*!< LEDC flags */
} ledc_channel_config_t;
/**
* @brief Configuration parameters of LEDC timer for ledc_timer_config function
*/
typedef struct {
ledc_mode_t speed_mode; /*!< LEDC speed speed_mode, high-speed mode (only exists on esp32) or low-speed mode */
ledc_timer_bit_t duty_resolution; /*!< LEDC channel duty resolution */
ledc_timer_t timer_num; /*!< The timer source of channel (0 - LEDC_TIMER_MAX-1) */
uint32_t freq_hz; /*!< LEDC timer frequency (Hz) */
ledc_clk_cfg_t clk_cfg; /*!< Configure LEDC source clock from ledc_clk_cfg_t.
Note that LEDC_USE_RC_FAST_CLK and LEDC_USE_XTAL_CLK are
non-timer-specific clock sources. You can not have one LEDC timer uses
RC_FAST_CLK as the clock source and have another LEDC timer uses XTAL_CLK
as its clock source. All chips except esp32 and esp32s2 do not have
timer-specific clock sources, which means clock source for all timers
must be the same one. */
bool deconfigure; /*!< Set this field to de-configure a LEDC timer which has been configured before
Note that it will not check whether the timer wants to be de-configured
is binded to any channel. Also, the timer has to be paused first before
it can be de-configured.
When this field is set, duty_resolution, freq_hz, clk_cfg fields are ignored. */
} ledc_timer_config_t;
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! Gigabyte Z790 i7 14700KF 32GB DDR5 1TB SSD RTX 4070S 12GB Be Quiet! Pure Base 501 750W
- HP Omen 80G8E9 - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB Type-C
- HPE Aruba switch, 48G PoE+, 4SFP+, L3, Smart managed
- Honor Magic5 Pro Green LTPO 120 Hz, 50 MP triplakamera, 66 W gyorstöltés 12/512 GB
- Lenovo P500 - 1650-2690 v3 akár 12 mag/24 szál, 32GB DDR4 RAM, 490W 80+gold táp, számla, 6 hó gar
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest