Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
A kérdés eldöntéséhez az is hozzá tartozik, mekkora a led max/min fényerőhöz tartozó arduinós számérték, és mekkora a fényerő max/min LDR-ből kiolvasott számérték szerint. Ezen adatok ismeretében lehet tanácsot adni. A feszültséget mint fogalmat a programba nem tudod beírni.
Szerintem ebből a progiból hiányzik a map() fügvény.
Először is, a beolvasott érték ugye 0-1023 lehet. Ezt át kellene konvertálni egy fényerő szintre ami 0-100 % PWM kitöltési tényező. Az fogja a LED -et 0 és 100 % fényerő közt állítani... A fényérzékelőd nem tudom, hogy GND -re, vagy tápra van e kötve, de azt egy feszültségosztó elrendezésbe kellene elhelyezni megfelelő felhúzó vagy lehúzó ellenállással. Ha fordítva működik, elég csak a fényérzékelőt, és az előfeszítő ellenállást megcserélni... Legalább is én így csinálnám...
"Minimum-nál 0,01V maximumnál 2,80V"
Azaz 0, 575 között változik, ezt kell 255 és 0 közé konvertálni. map(value, fromLow, fromHigh, toLow, toHigh) int bright=reading/4; helyett:
light sensornak ilyet használok. Be van kötve a - és + 5V táp és A3-ra a kimenet. Abba nem vagyok biztos, hogy az ellenállásnak itt mi szerepe van.
Köszi. Így már jó. Csak még egy kérdés. Mit kell átírjak ha a minimumon változtatni akarok
Nem tudom. Tulajdonképpen az ellenállás és a fotoellenállás alkot egy feszültségosztót amit az arduino analóg lába mér. Az is lehet a baj hogy a fényerő változás nem lineáris az értékkel amit kapsz.
Ha az ellenállás tápon van, felhúzó, ha testen van, akkor lehúzó ellenállásnak hívják.
Gyakorlatilag a fényszenzorral sorba kötve a táp és test között, egy feszültségosztót képez. A közös ponton attól függően változik a feszültség, ahogy a fényérzékelő változtatja az ellenállását a beeső fény hatására...
Szerbusztok.
Szeretném megkérdezni hogy az arduinoval vezérelt LCD (16x2) vezérlésénél mindenképp a könyvtárban megadott digitális lábakra kell kötni? (D12 , D11 , D5 , D4 , D3 , D2) Vagy ezt én megváltoztathatom pl.: D5 , D6 ,D7, D8, D9, D10 (vagy amelyik digitális lábra éppen szeretném)? Üdv.
Megváltoztathatod, csak ahol van a hivatkozás a lábakra ott át kell írni.
Akkor gondolom az sem számít hogy PWM vagy sima digitális láb.
Köszönöm a választ. Üdv.
Minden láb több funkciós! Ha nem kell az adott funkció, akkor használhatod digitálisan! Kb.
Csak annyival egészíteném ki az előttem szólót (írót), hogy az analóg lábakat is használhatod digitálisként erre (és másra is), kivéve az A6 és A7 lábakat, amik csak ADC-ként funkcionálnak (328P csippnél).
Az analóg lábakra hivatkozhatsz digitális lábként is. Például: A0 = D14
Köszönöm a válaszokat, infókat.
Üdv.
Ha a kapcsolási rajz , illetve a tervezés úgy kívánja meg , hogy jobb lesz az elrendezés tőle , akkor miért ne.Csak akkor meg kell jegyezni , hogy át lett írva.
A hozzászólás módosítva: Máj 6, 2021
Sziasztok!
Csak annyi volt a bajom hogy az ESP bizonyos kimeneteire kötött tranzisztoros meghajtású relék, táp ráadásánál egy pillanatra behúztak, nem volt gondom lebegéssel. Áttettem olyan kimenetekre amik bootolásnál nem aktiválodnak maguktól és így megoldódott. Köszönöm mindenkinek a tanácsokat! Üdv! Balázs A hozzászólás módosítva: Máj 7, 2021
Jogos az észrevétel, hiszen nem tudjuk, hogy, milyen áramkör van rácsatlakoztatva. TTL-nél biztosan magas lesz, CMOS-nál meg lehet hogy magas lesz.
Hali! Az arduino-t Bedugtam az egyik usb csatlakozóba, és hiába megyek az eszközkezelőbe, nem írja ki hogy melyik porton van, csak annyit hogy "FT232R USB UART".
Az arduino IDE programban pedig a port kiválasztása szekció nem is működik, halványan van kiírva, szóval arra még rákattintani sem tudok. Arduino nano-m van, arra is vannak beállítva a program beállításai. Próbáltam már letörölni, és újra letölteni a programot de egyszer se működött. Van bárkinek ötlete mi lehet a gond?
Köszi, időközben megnéztem a boardomat és rájöttem hogy tényleg a driver itt a hiba.
Igen, letöltöttem a hozzá megfelelő illesztőprogramot, már látja a gépem az eszközt és fel is ismeri!
Megpróbáltam feltölteni a villogó tesztprogramot, de ezt a hibaüzenetet adja ki:
stk500 típusú programozót használsz?
A port jól van beállítva?
A COM 3 van beállítva az eszközkezelőben és az arduino IDE-ben is.
Processzornál állítsd old bootloaderre!
Sziasztok.
Van egy programom ami SPWM jelet állít elő az arduino 2 kimenetén, egymással ellenfázisban. Olyan kérdésem volna hogy ha átírom hogy A0 bemeneten a szokásos potméteres szabályozással 2hz-200hz közt tudjam változtatni az SPWM frekvenciáját, akkor az nem lenne már túl sok számítás az arduino részére? A két kimenet a 9-es és 10-es PWM lábon jön le. A kódot lentebb beillesztem.
Határeset...
Szerintem már pont nem egészséges. Ezzel együtt ha nincsen más interruptod, akár még működhet is. Ha jól látom 100kHz-re van beállítva a timer interrupt, aminek a 160 szorosa az órajel. Mindez 50 Hz kimenet eléréséhez. Ha négyszerezed a frekvenciát, akkor az interrupt vs órajel arány csak 1:40 lesz. Ha jól emlékszem ez az architektura egy órajelre egy utasítást hajt végre. Ezzel együtt lesz még pár plusz utasítás is. Nézd meg assembly listingben, hogy hány utasítást foglal a timer kód.
De a 100 kHz csak a kommentben szerepel, az ICR1 regisztert viszont 1600-zal tölti fel a program. Akkor ez nem 10 kHz inkább?
Szia, egyenlőre ott tartok (matekból nem vagyok túl jó) hogy nem tudtam eltolni a működési frekvenciát se alacsonyabbra se magasabbra potméterrel. Elkészült a bemenet, olvassa de nem sikerült belefűznöm szerintem rendesen a programba.
|
Bejelentkezés
Hirdetés |