Arduino - Remote control (RF-TX) - Printable Version +- DIY Electronic projects (https://forum.yu3ma.net) +-- Forum: Mikrokontroleri (https://forum.yu3ma.net/forumdisplay.php?fid=52) +--- Forum: Razvojni sistemi i moduli (https://forum.yu3ma.net/forumdisplay.php?fid=56) +--- Thread: Arduino - Remote control (RF-TX) (/showthread.php?tid=1353) |
RE: Arduino - Remote control (RF-TX) - gorankg - 01-24-2018 (01-24-2018, 05:52 PM)Makso Wrote: Proradilo je. Ne treba while(1) za arduino sketch. To radi ono loop. Makso, predlažem ti da odeš na sledeću stranicu i pogledaš kako se pozivaju arduino ugrađeni primeri. Ima ih dosta, data je šema povezivanja, izvorni kod i obješnjeno je šta koji primer radi: https://www.arduino.cc/en/Tutorial/BuiltInExamples Najbrže se uči iz primera prođi prvo to. Serijsku komunikaciju uspostavi i probaj prvo između arduina i računara. Ima primera i za dvosmernu uart komunikaciju. Ima kasnije vremena za bežičnu komunikaciju jer ti je tu malo oteženo debagovanje. RE: Arduino - Remote control (RF-TX) - me[R]a - 01-24-2018 Evo Makso probaj ovo : Ovde mozes dodavati jos tastera samo u array byte taster[] dodas pin na koji je vezan taster i u array int command[numButtons] dodas komandu za taj pin i ne moras nista vise menjati u kodu.... Ovo ti je kod za transmit a na drugoj strani samo citaj komande i na osnovu njih izvrsavaj dalje radnje... Code: int LED = 12; Ovo ti je bez interapta koji za ovakav jednostavan primer i nije potreban kad program naraste do granica potrebe za njim onda cemo ga i implemetirati... RE: Arduino - Remote control (RF-TX) - me[R]a - 01-25-2018 Kad isprobas javi... RE: Arduino - Remote control (RF-TX) - Makso - 01-25-2018 @YuMERA Probao sam, i to radi, samo ima problem jer ne mogu raditi dvije i više komandi istovremeno, o tome je već bilo govora ranije da mi treba 2-3 komande minimalno istovremeni, izgleda ću ipak morati ići na if...else petlje.? Još jedna nedoumica, na koju sam potpuno zaboravio, da li mi je bolje da radim kombinaciju sa Arduino Nano + ekspander MCP23017 zbog proširenja pinova ili da idem na Arduino Mega (tu bih imao pinova na pretek, samo mi je teže napraviti pcb na koji će se postaviti Mega)? RE: Arduino - Remote control (RF-TX) - me[R]a - 01-25-2018 Ajd probat cemo drugu varijantu. Sto se tice PCB i Mege ne pravis pcb na koji ces ubosti Megu nego pravis pcb koji ces ubosti u Megu. RE: Arduino - Remote control (RF-TX) - me[R]a - 01-26-2018 Evo primer sa mogucnoscu stiskanja vise tastera istovremeno: Code: byte taster[] = {8,9}; // ovde dodas pinove za druge tastere ako ti zatreba U ovom primeru mozes da dodajes tastere samo u array byte taster[] dodas pin na koji je vezan taster. Komanda koja se salje je integer koji je kreiran od vrednost bitova(0 ili 1) u zavisnosti da li je taster pritisnut ili nije. Posto ti u ovom primeru koristis samo dva tastera to znaci da ce se "komanda" kreirati od dva bita i njena max vrednost ce biti 3 primer: Code: dva tastera : Na prijemnoj strani treba samo da od pristigle "komnde" ispitas njene bitove koji je stovan a koji nije i tako ces znati koji su tasteri pritisnuti. Ako nije pritisnut ni jedan taster onda ovaj primer salje stalno "komandu" 0 ako hoces to da izbacis onda posaljes amo jednom 0 i cekas da se to stanje promenmi na taj nacin smanjujes opterecenost wifi modula sa komandom 0 RE: Arduino - Remote control (RF-TX) - Makso - 01-26-2018 Probao sam i taj kod i on radi kako si opisao, samo čini mi se da će biti malo teže ispisati kombinacije komandi kad se tu doda 20-tak ulaznih tastera? Da li bih trebao koristiti interrupt u kodu ili da ne koristim, mislim kolika je sigurnost od blokiranja MCU-a sem spoljašnjih smetnji, pretpostavljam da se malo poboljša rad sa interrupt-om, ili ipak griješim? Dobro si pomenuo to kada nije aktivna ni jedna komanda da pošalje samo jednom "0", mislim da meni to ovde nije potrebno jer će se po završetku korištenja odmah gasiti daljinski. Ja sam pokušavao ovako: Code: int LED = 12; Što se tiče PCB-a, znači da koristim Megu i da izbjegnem ekspandere.? RE: Arduino - Remote control (RF-TX) - me[R]a - 01-26-2018 Ne znam sta da ti kazem... Moji pokusaji su kao jedan od mnogo nacina kako moze to da se napravi. E sad 20 tastera ne bi ni za ovaj moj kod bio problem jer sa jednim bajtom mozes da prenes informaciju od 8 tastera. znaci tebi treba 3 bajta za 20 (24) tastera. Sve sta bi morao da uradis je da neke deklaracije variabli iz int promenis u long Mislim da ti trebas prvo da resis hardverski deo tvog sklopa pa onda da za njega pises softver a ne da pravis softver a da jos uvek ne znas kakav ce biti hardver... To hardwerski najednostavnije je da uradis sa input shift register (npr. 74HC597) kojim trenutno ocitas sva stanja prekidaca i onda serijskim putem posaljes tu informaciju a na transmit strani stavis output shift register (npr. 74HC595) na koji prosledis primljenu informaciju a on aktivira releje ili vec sta mislis da palis i gasis. RE: Arduino - Remote control (RF-TX) - vojinilic - 01-26-2018 Makso, a sta mislis o tome da se ti licno malo potrudis i uradis nesto sam na osnovu komentara i predloga clanova? Uopste nije u redu da ti clanovi citaju misli i pisu kod umesto tebe, a ti samo da kazes: “Radi mi to, ali bi mi trebalo jos ovo i ovo.” Razmisli malo o tome. Ako zelis pomoc, kazi tacno i konkretno sta ti treba. Niko odavde nije Kraljica Kleopatra, pa da moze da cita rvoje misli. YuMera je izginuo dok ti nije napisao kod, a ti kazes radi, al bi mi trebalo jos to. Imaj respekta prema coveku i njegovom vremenu. Mozda sam grub, ali poenta foruma nije resavanje problema u sitna crevca, niti citanje misli, vec stvar konsultacija i dogovora. Jos jednom se izvinjavam ako sam grub, ali to je moje vidjenje stvari. Pozdrav, Vojin RE: Arduino - Remote control (RF-TX) - Makso - 01-26-2018 Drugari, ja se stvarno izvinjavam ako sam nekoga uvrijedio ili nešto slično tome, nije mi bila namjera... U svakom slučaju, dosta ste mi stvari objasnili i nešto sam novo naučio, a tome se posebno radujem. Bacam se na izradu PCBa-a i ostatka hardvera, pa ću se odlučiti da li ću ići na Megu ili Nano + ekspander/shift register, mada prije da ću se odlučiti na Nano + ekspander/shift register, biće mi jednostavniji PCB za ovu verziju... Još jedno pitanje da li trebam na ulaze i izlaze iz ekspandera/shift registra raditi kao da su direktni pinovi na MCU-u, pull-up otpornik, redni otpornik za smetnje i optokapler? RE: Arduino - Remote control (RF-TX) - Makso - 01-31-2018 Ovako sam ja to zamislio.? RE: Arduino - Remote control (RF-TX) - vojinilic - 01-31-2018 Ne mogu obe I2C periferije da imaju istu slave addr. RE: Arduino - Remote control (RF-TX) - Makso - 01-31-2018 To bi trebalo da se mijenja hardverski na A0, A1, A2 pinovima? EDIT Evo našao sam. RE: Arduino - Remote control (RF-TX) - vojinilic - 01-31-2018 Pa ti si postavio 000 na obe periferije. To ne moze. RE: Arduino - Remote control (RF-TX) - veselinovic - 01-31-2018 Nisam siguran da dva I2C uredjaja na istoj magistrali mogu imati istu adresu, a kod tebe je to slucaj. promijeni adresu jednog od dva MCP. Dalje, ne bih nikad reset pin povezao direktno na 5V, nego bih stavio elektrolit cca 47uFna pin, a sa +5V neki otpornik cca 1k. To ce sigurno resetovati kolo cak i pri sporom porastu ulaznog napona. Trece, C1 bih premjestio iza diode D1, i tako ga pridruzio samo HC12. Na svako kolo sto blize nozicama bih zakacio neki kondenzator. Bogdan stavi SMD pa nareda neboder kondenzatora jedan iznad drugog. RE: Arduino - Remote control (RF-TX) - Makso - 01-31-2018 @veselinovic Da li bi tu nešto uticalo na potrošnju, jer će sklop sa te šeme biti na baterijskom napajanju? RE: Arduino - Remote control (RF-TX) - vojinilic - 01-31-2018 Makso, prvo namesti razlicite i2c adrese. Rst linije od expandera uvek vodi na mcu, tako da kada se mcu inicijalizuje, onda on podize periferije. Ako ces baterijsko napajanje, onda moras da kazes kakvo baterijsko napajanje. Takodje int linije od expandera dovedi na mcu. One ti govore da li je nesto pritisnuto, a ne samo da vrtis i2c u krug. Na taj nacin se postize smanjena potrosnja. Mcu spava, a budi ga taster preko int linije. RE: Arduino - Remote control (RF-TX) - Makso - 02-02-2018 Evo sa nekim ispravkama. Da li reset može ovako da ostane na nekom pinu od MCU-a a ja u kod dodam da je taj pin HIGH čim se kod inicijalizuje? Interrupt pinovi sa ekspandera, da li njih sve smijem sastaviti i spojiti na jedan pin MCU-a, čini mi se da u ds-u piše da su to samo izlazni pinovi? Da li bi još nešto trebao dodati ili izmjeniti? Za baterije sam mislio koristiti poznati model 18650 baterije 3.7V, povezati dvije u seriju da bih imao 7.4V i preko nekog kvalitetnijeg stabilizatora spustio na 5V, tako dodati nekoliko parova baterija, te su mi baterije lako dostupne a i dosta su rasprostranjene.? RE: Arduino - Remote control (RF-TX) - gorankg - 02-02-2018 Reset može ovako. Ako su inicijalno INT pinovi konfigurisani kao open-drain (proveri ovo u datasheet-u) onda možeš da ih vezuješ zajedno na jedan pin MCU. Naravno, treba da imaš i jedan pull-up otpornik. Opet nisi ispravio adrese. RE: Arduino - Remote control (RF-TX) - Makso - 02-02-2018 Kad sam objavio post onda sam se sjetio za adrese, ostaviću na pcb nekakve jumpere za int pinove da mogu razdvojeno povezati na svaki zasebni pin MCU-a ili sve zajedno, ako budem i imao potrebe za tim, jer daljinski neće raditi dugo ako se ne koriste komande. Počeću polako pcb da crtam... |