Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ránézek, de ma már nem lesz rá időm.
Most a szövegszín beállításokkal variálok, nem tudom, hogy kell RGB módban használni a tft.setTextColor() fügvényt. Vagyis félig értem mert úgy működik, hogy:
Csak azt nem vágom, hogy miért négy értékből áll a HEX kód. ![]() Igazából úgy akartam, hogy vagy 1x3, vagy 2x3 csoportra legyen osztva, de úgy összevissza színez... A hozzászólás módosítva: Nov 24, 2016
Idézet: 0xFFFF = 0b1111 1111 1111 1111„Csak azt nem vágom, hogy miért négy értékből áll a HEX kód.” R: 5 bit G: 5 bit B: 6 bit Általában így oszják el a színeket. Lehet, hogy a piros vagy a zöld a hat bites, most csak gyorsan tippeltem, nincs kedvem megnézni. ![]() A hozzászólás módosítva: Nov 24, 2016
Akkor már csak egy olyan online konvertert kéne találnom, ami ismeri is ezt a formátumot, mert amit eddig próbáltam az is mind 2x3 -as formátumba (0xFFFFFF) adja vissza az értéket...
![]()
Amit linkeltem lib, abban van ilyen konverter.
Tisztelt Fórumozók!
Működik a 6 led fényerejét (PWM) szabályzó kapcsolásom 3 nyomógombbal. Az egyikkel kiválasztom a beállítandó ledet, a másik kettővel a fényerejét (+-). Az egészet az EEPROM-ba írom és így megőrzi azokat. Ha változtatok valamelyiken annak értékét felülírja. Tovább akarnám fejleszteni IR távirányítóra, de van egy probléma. Ha beírom a irrecv.enableIRIn(); kötelező vevő parancsot akkor a digital pin 3 (PWM) nem működik. Nem tudom találkozott e már valaki ilyen problémával? Mi lehetne a megoldás? Válaszotokat előre is köszönöm.
3 timer van az Arduinoban. Te mindet használod a 6pwm-mel. Az infravevő is szeretne timert használni. Ő nem tudja, hogy már használatban van, így kisajátítja magának. Itt érkeztünk el az Arduino uno/mini pro korlátaihoz. Arduino nélkül, szépen c-ben leprogramozva megoldható lenne a probléma, kapásból 2 féleképpen. Vegyél nagyobb Arduino-t, ott van pl. a mega. Abban már sokkal több pwm modul van.
Esetleg átrakod a nem működő kimenetet szoftveres pwm-re, egy másik lábon. De ha egy pwm nem megy, a párjával is gondban leszel, ugyanis egy timerre 2 pwm kimenet csatlakozik. A másikat is át kellene pakolni, hogy a timer teljesen szabad maradjon az infravevőnek. Aztán már csak reménykedjünk, hogy a szoftveres pwm nem akad össze semmivel. A hozzászólás módosítva: Nov 25, 2016
Egy kis segítséget kérek.
Arduino nano digit lába (mondjuk D2) és RTC modul (zs-042 - DS3231 chipes) 32k lába közé elég egy vezeték vagy szükséges valami áramvédelem (200 ohm mondjuk)? Gondolok arra, hogy ha valamiért a nano D2-ese kimenetre (H szintre) áll és a 32k-n jön a föld - vagy fordítva - akkor nem bántják egymást?
Köszönöm a segítségedet, most utána nézek a szoftveres pwm-nek. Most, hogy újra átnéztem a beállításoknak igazad volt, mert a digital11 lábat is elvette a digital3 mellé.
De, bánthatják egymást. A kimenetek nyitott kollektorosak. Vagy nem jó helyen keresem, vagy az adatlap hallgat róla, hogy mekkora a maximális áram, amit ezek a lábak elviselnek. Én 10 kOhm-os ellenállást javaslok.
Köszi!
A 328p leírása néhol kétségbeejtően részletes van amit meg örjítően nehéz megtalálni. Na igen, az RTC chip speckóját meg nem is néztem. Őt sem árt védeni. Akkor a 10k-val a biztos.
Sziasztok,
Engem is utol ért az ARDUINO-s aktivitás vagyis szeretném közelebbről is megtanulni a programozásukat. Kérdés: El ronthattam-e az ARDUINO MINI PRO-t azzal, hogy 5 V-tal is próbáltam bele tölteni a programot? Nincs különösebb jelölés rajta, hogy hány voltot szeret . Egyszer valahogy sikerült betölteni, lehet akkor még 3,3 V-on próbálkoztam de aztán soha többé semmi nem megy bele, azóta is az az egy program fut rajta. Közületek volt valakinek hasonló gondja?
Halihó!
Szeretném resetelni a beállittot időn belül pl 10sec idő allat megnyomom a button2 akkor újra kezdje a számolást a 10sec ami void Timer_reset() nem igazán müködik zavaros! Igy kelene hogy müködjön timmer diagram képen!
Ekkor a delay -t ne használd ! Azzal rontod el.
A delay(10) helyett az idő múlását millis() fügvénnyel számold ki (lekéred mindig a millisel az induló értéket 1 változóba majd összehasonlítod az értékét a sok ezerrel többel (millis 1000 érték változása egyenlő 1 sec ) ha ez éppen 10ezer akkor 10 sec az időzítés! Ekkor nem függesztődik fel a uC működése , megszakításokra is jobban reagál . DELAY esetén "kvázi megáll a uC" teljesen . A hozzászólás módosítva: Nov 26, 2016
figyelek....
felvázolnád mire gondolsz én kifogytam az ötletekböl egyenlöre! ![]()
A millis függvényt használd fel időzítésre ennyi a lényeg ...
Vissza olvasol, itt többen belefutnak ebbe a problémába. Vagy keressél rá multitasking arduino vagy időzítés delay nélkül. Erre van tipikus példa program is hogy gombnyomásra lehet villogó sebességet váltani... Amíg delayyal dolgozol akkor csak adott pillanatban tudsz váltani, millis esetén bármikor. Vagy nézd át azt amit az arduino megszakítás kezeléséről írnak. delay nelkul idozit multitasking millis A hozzászólás módosítva: Nov 26, 2016
Az egész kodban van 2 db millis idözités ami fix 10sec millis a másiknak kelene ezt ujra inditani 10sec belüli idö intervalumba ha button2 meg nyomon na ez ami nem müködik Timer_reset() !
Timer_counter1 teljes millis idözités!
A delay(10) utasitassal rontod el ... ezt csak ismételni tudom ... enélkül végezd el millis el a 10 sec időzítést.
Idézet: „void Timer_counter1() { t1=millis(); if( t1 > t_kovetkezo1 ) { t_kovetkezo1=t1+10000; delay(10); digitalWrite(wirePin, LOW); }” ott a delay 10 ... ez baj !
Első hiba, hogy elöjelnélküli: unsigned long nak kel deklarálni a változókat!
void Timer_counter1()
{ t1=millis(); if( t1 > t_kovetkezo1 ) { t_kovetkezo1=t1+10000; digitalWrite(wirePin, LOW); } igy is a helyzet változatlan de ez a rész frankon idözit 10sec is!!!
Szia!
t_kovetkezo1 == 0; Ez sem jó! (már ha értékadó utasítást szerettél volna)
long vagy unsigned long nincs változás....
erre a részre gongolok énis de mi???
amikor folyik 10sec a Timer_counter1 azon idön belül ha nyomok egy button2 akkor kelene ujrainditani induljon 10 sec ez lene a logikai lényeg az egész megoldásnak!
ok akkor használd ... én szóltam ...
![]()
fáradt vagyok, de:
t_kovetkezo1 = 0;
leirom fizikai példával!
button2=mozgásérzékelö " void Timer_reset()" lámpa bekapcsolva maradási idö =10sec "Timer_counter1();" mozgási idö = véletlenszerü ha mozgás van egyszer lámpa bekapcsolási idö max 10sec van több mozgás 10sec mindig ujra indul lámpa bekapcsolás folyamatos látszik vagyis csak nullázuk a 10sec! A hozzászólás módosítva: Nov 26, 2016
button elindítja az időzítést, button2 újraindítja a futó időzítést
A hozzászólás módosítva: Nov 26, 2016
Gergő köszönöm nagyon!
![]() ![]() Ez ugy müködik ahogy kell teljesült egy nagy problémám ami univerzálisan felhasználható lett több projektemhez is! ![]()
Kapu48 írását nem vetted figyelembe : előjel nélküli long változó kell.
Idézet: „Első hiba, hogy elöjelnélküli: unsigned long nak kel deklarálni a változókat! unsigned long t1, t_kovetkezo1;” Másik amikor a millis 0-zódik kb.: 50naponként ... azt is illik figyelni és lekezelni. |
Bejelentkezés
Hirdetés |