Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Próbáld meg másik USB kábellel is. A felsorolt eszközök biztosan nem fogyasztanak annyit, hogy a laptop ne tudná azt biztosítani. Szerintem a kábelben meg van törve valamelyik vezeték, és az okozza a problémát.
A táp izolált, ott van az optocsatoló és a primer-szekunder el van választva. Szerintem csak a szenzorok nem kapnak tápot, amikor laptopról van próbálva.
A földek össze vannak kötve? Képet rakhatnál fel, ismételten kérem.
Földek össze vannak kötve. Sajnos képet már nem tudok fel rakni mert be van dobozolva. Azon agyaltam, hogy ha laptopra kötöm akkor világít a fesz csökkentő és a táp ledje is. Maga ez a két egység nem húzhatja le a feszt. Mármint nem a led hanem a táp meg a fesz csökkentő.
Üdvözletem!
Van új Serial Debug Library Arduino-hoz. Bővebben: Link Ajánlom figyelmetekbe! Első olvasatra jónak tűnik!
Az Arduino 12V-os bemenete és az USB 5V-ja nem ütközik egymással.
Az érzékelőknek nem elég az az áram, amit az ardu 5V-ja ad? Ha elég, nem kéne külön egy combos táp. Érdemes lenne megmérni a feszültségeket laptoppal és anélkül.
Táp mindenféle képp kell mivel alról megy az egész egy kazánházba. A laptopot csak egy napra akarom rá kötni hogy adatokat gyüjtsek a be hangolásra. Ezért is nem építettem bele sd kártyát.
Rádobsz egy EspEasy-vel ellátott eszközt szintillesztéssel, online monitorozhatod.
Az én véleményem az, hogy a próba idejére használj egy bedugós adaptert tápnak! Ez galvanikusan elválasztja a hálózattól. A notit sem veri le, és a szenzorok is működnek. Amúgy ha a noti megy akkuról, akkor eleve nem lehet gond.. Ellenvélemény?
A hozzászólás módosítva: Nov 17, 2018
Sziasztok!
Segítséget szeretnék kérni egy RF controller jelének felhasználásában. Led RF controller hack Ezt megvalósítottam, így ugye tudom kiolvasni az arduinoval az RF jelet. Ezzel nincs is baj, működik. A problémám, az, hogy nem tudom megcsinálni azt, hogy Pl.: a bekapcsoló gombot megnyomom egyszer és felkapcsoljon egy led illetve ha újból megnyomom akkor pedig lekapcsolódjon. Ha megnyomom folyamatosan ki be kapcsol a led, és ha elengedem akkor pedig random vagy világítva marad vagy nem. Nem egyszer küldi ki a távírányító a jelet hanem folyamatosan. Ezt hogyan tudom úgy megvalósítani, hogy ha megnyomom,( vagy nyomva tartom) a nyomógombot akkor kapcsoljon fel a led és ha ismét megnyomom (vagy folyamatosan nyomva tartom) kapcsoljon ki a led. Vagy ha van egy weboldal ahol hasonlót készítettek az is érdekelne. Itt az alábbi kód amit épp használok.
Sagítséget Köszönöm! A hozzászólás módosítva: Nov 17, 2018
A case-en belül mentsd el az esemény időbélyegét. Ha t időn belül megint jön ugyanez az esemény, akkor dobd el.
Millis függvényre gondolsz? Azzal próbálkoztam már, de szerintem az interrupt és ez a millis "összeakadhatott" és nem jól működött, de mindjárt megpróbálom megcsinálni hátha jó lesz
Találtam egy jobbnak tűnő megoldást
DC konvertert szabályzom, asztalon működik is. Igaz XL4005 konverterrel. videó
Fix terhelésnél járható az út! A step down konverter is egy P-FET-et tartalmaz, szóval szinte ugyanazt készítetted. Viszont a sima PWM-nek kicsit jobb a hatásfoka, mint a step down konverternek (izzó esetén), ha ez esetleg számít valamit.
Viszont a megoldás nem éppen korrekt. A FB láb a visszacsatolás. Oda nem pwm jelet vár a vezérlő IC, és nem is DC feszültséget egy más forrásból. A kimenetről meg kell hagyni a visszacsatolást, be kell állítani a kimenő feszültséget, és a FB lábbal lehet tiltani a vezérlőt, soros diódával fel kell húzni magasra, akár PWM jellel. Ekkor lekapcsol a konverter, és az izzó fényét 0-100% között tudod módosítani. De oda RC szűrővel símított DC-t juttatni? Kicsit félmegoldásnak gondolnám. Mondjuk ha működik, akkor mindegy, az a lényeg. A hozzászólás módosítva: Nov 18, 2018
A műveleti erősítő visszacsatolása párhuzamos RC taggal simább kimenő jelet eredményezne.
Azt hiszem egy nyomógomb vezérlés kellett nekem, de ez is még csak fél megoldás, mert mindig egy másik gombot is meg kellett nyomnom hogy resetelődjön a led...
Esetleg a megoldásodra tudsz egy linket küldeni? Vagy hogyan keressek rá gugliban? Most a kód:
Ha a kimenetről meghagyom az összekötést, akkor semmivel sem tudom állítani a kimenő feszt
Idézet: Tiltani?„FB lábbal lehet tiltani a vezérlőt” Idézet: Tehát egy alacsony feszt beállítani és azt felhuzni? „soros diódával fel kell húzni magasra, akár PWM jellel” A hozzászólás módosítva: Nov 18, 2018
Miért kell másik gomb?
Ha a debounce működik, akkor csak annyit kell csinálnod, hogy megváltoztatod a led állapotát ha túl vagy azon az időn. Noha nem tudom hogy a kódod mit is akarna csinálni ha egyszer kész lesz, de nekem ehhez a feladathoz fölöslegesen elbonyolítottnak tűnik. Ennyi nem lenne elég?
Az általános XL4005/LM2596 stb. FB lábbal rendelkező step down konvertert ki tudsz kapcsolni, ha a FB lábra magasabb feszültséget adsz, mint aminek ott lennie kell. Pl. 1.25V kell az IC-nek, akkor ha oda minimum 1.3V-ot adsz, letilt, kikapcsol.
A kimenő feszültség le van osztva két ellenállással, a leosztott feszültség megy az FB lábra. Ha a kimenő feszültség kisebb, mint amit beállítottunk, akkor a FB lábra is kisebb fesz. jut, mint pl. az 1.25V, és elkezdi az IC emelni a kitöltési tényezőt, növekszik a kimeneten a feszültség. Ha magasabb a kimenő fesz., akkor csökkenti a kitöltési tényezőt, vagy leáll az IC. Az Arduino kimenetével soros 220Ohm (védve az Arduinot), vele soros 1N4148, vagy 1N4001, amit találsz, ez pedig mehet az IC FB lábára. A nyákon levő potival beállítod a maximális feszültséget. Ha az Arduino lábára PWM jelet állítasz be, az izzóra jutó max. feszültséget fogod megszaggatni a PWM ütemében. Az eredmény: fényerőszabályzás.
Ilyen távirányítóm van.
Karácsonyra lesz egy autó eleje és ennek az autónak index / fényszórók/ hűtőrács ki lesz ledezve és ezzel a távirányítóval szeretném vezérelni ezeket a ledeket (különböző módokat leprogramozni: villog, átmenet, felválltva villog... stb) jól kigyomláltad a programot a lényeg annyi, hogy ha a távirányítón megnyomok egy gombot az az arduino-n egy kódsorozat formájában jelenik meg. (jelen esetben 5247489 - power gomb) és ezt a kódot hozzá szeretném rendelni valamilyen funkcióhoz amit azt hittem egyszerűbb lesz... Alábbi képen az látható, hogy folyamatosan nyomom a gombot akkor így küldi a kódot. Megnézem a kódot hátha jó lesz nekem köszönöm! A hozzászólás módosítva: Nov 18, 2018
Amit elfelejtettem: azért veszélyes a nem megfelelő módon átalakítani a step dwon konvertert, mert ha a FB lábra valamilyen ok miatt (hardware-es vagy software-es hiba) kisebb fesz.-et kapcsolunk, mint kellene, akkor elkezd az IC egyre nagyobb kitöltési tényezővel dolgozni, és a bemenő feszültség megjelenik a kimeneten (kicsit kevesebb). Míg a soros 1N4148-as megoldással a kimenő feszültség korlátozott, bajt nem tudunk csinálni, könnyen kiszámítható az eredmény, az áramkör viselkedése.
A kódot kigyomláltam, ja Igazából csak az elvet akartam megmutatni, hogy szerintem hogy lenne ez jó, és a kód talán érthetőbb, mint a duma.
Mert ugye ha van jel akkor azt én kiolvasnám mindenképp, de csak akkor foglalkoznék vele érdemben, ha az előző jel óta eltelt X idő (mint a sw "debounce"). És ha ennyi eltelt, akkor vizsgálom hogy mi jött, és ha az amire reagálni akarok akkor csinálom amit kell. Nyilván lehet ez sokkal összetettebb is mint egy LED ki és bekapcsolása, mert azt simán megoldod egy boolean változóval, míg irányjelzőnél 4 állapot lehetséges (minden kikapcs, balra villog, jobbra villog, és a "négyes index"), ott változtatáskor le kell tárolnod hogy az adott oldal villog-e, és egy külön ciklusban külön időzítéssel kapcsolod be és ki a lámpákat. De mindegy is, túlbeszéltem, a kódom nem is biztos hogy jól működik, még az se biztos hogy fordul, csak leírtam hogy hogy kezdenék neki. Illetve még egyszer átnézve biztosan rossz a kód, az if(received) ágat nem zártam le és az alatta levő kódsorokat nem húztam be.
Próbálkozok vele igen
Az a baj, hogy minden ciklus végén ki kell resetelnem ezt: "mySwitch.available". Mármint nem baj gondolom, de ezáltal a kód is csak egy ciklus erejéig van meg. Úgy érzem túl nagy fába vágtam a fejszém ez már nekem túl bonyolult Köszönöm a segítséget próbálkozok vele
Hát ha ki kell akkor reseteld ki.
Sose használtam még ezt a libet, úgy gondoltam hogy hasonló, mint a Serial.available(), ha nincs jel akkor 0 a válasz, egyébként nem. De ha a basic példakód is tartalmazza a reset-elést (Bővebben: Link), akkor gondolom kell bele. Gondolom ezzel állítja be ismét az interrupt-ot, vagy tudomisén... A hozzászólás módosítva: Nov 18, 2018
Van egy érdekesség. A gyári kialakításban akárhova tekerem a potit, mindig 0.8 lesz a kettes-FB lábon. Nem lehet, hogy az áramra szabályoz?
Pont ez a lényege! A FB lábon mindig 0.8V lesz. Ha ott kevesebb van, addig emeli az IC a kitöltési tényezőt, ami által magasabb lesz a kimenő feszültség, tehát a feszültség osztó közepén is emelkedik a leosztott feszültség, amíg az FB lábon ismét 0.8V nem lesz. Ez a visszacsatolás lényege. Amikor tápot adsz a konverternek, a kimeneten nincs feszültség, a FB lábon is 0V van, és az IC elkezd működni. Ha lekötöd a FB lábat GND-re, az IC max. kitöltési tényezővel fog menni, ha 0.8V fölé húzod, leáll.
A hozzászólás módosítva: Nov 19, 2018
Ez a program nincsen elégé átgondolva a vázolt feladathoz!
Mivel 7 szer olvas 0-át, és csak 1-szer van a vizsgált eredmény. Nagy valószínűséggel igen ritkán fogja azt eltalálni, beállítót időnkénti 1 vizsgálattal.
És akkor mit kellene csinálni? Komolyan kérdezem, mert ha 0 jön eredménynek akkor mit csinálsz? Szerintem csak azt tudod, hogy eldobod, és várod a következő jelet, pont mint a kód amit írtam.
Amúgy azt se tudjuk, hogy ezt sok nulla és néha egy jel kombót milyen kód adja le...
Sziasztok!
Végre sikerült behatárolni a hibát, szeretnék segítséget kérni. Arduino nano-val dolgozok. Egyszerű a kód, egy 64bites 0-nál kisebb számot tartalmazó változót átrakok egy 32bites-be, majd elosztom egy pozitív számmal. A lényeg, hogy a program valamiért nem a signed, hanem az unsigned változóval számol!
Soros monitoron: "szevasz -10240000 133897728" Ha az "elso" valtozot unsigned-ként íratom ki soros monitorra, akkor 4284727296-ot kapok, és ezt osztja el 32-vel, így kapom a 133897728 eredményt. Nem értem miért az unsigned long long-gal számol. Aki akarja, le is tudja futtatni, és próbálkozni, miért nem a megfelelő eredményt kapom? Float számokkal nem szeretnék számolni, és tárhelyem se nagyon maradt (1K-t fogyasztana pluszban). Nekem ez úgy tűnik, mintha az Arduino IDE hibás lenne, a signed long long-ot nem tudja megfelelően signed long-ba átrakni, és ahogy néztem, semmit nem tud signed long long-gal normálisan számolni. Ti mit gondoltok? Köszi. A hozzászólás módosítva: Nov 19, 2018
Próbáld meg az osztót unsigned long helyett signed long-ként.
És az a "signed long long" is fura nekem |
Bejelentkezés
Hirdetés |