tren de jucărie pe Arduino
tren de jucărie pe Arduino
Bine ai venit entuziaști electronice! Am vrut să fac un robot și aceasta este o oportunitate, chiar și un simplu, dar totuși atât. Trenul a avut un emițător receptor radio de control TX-RX 2B-2B - Nu am văzut cum a lucrat înainte de eșecul este, probabil, bun. Motivul pentru eșec: în transmițător, tranzistorul rupt și cel mai important cip. Nu a scalde în detrimentul circuitelor de căutare, imediat am decis că jucăria proaprgreydyu. Trenul a mers înainte, înapoi, stop - a pierdut o melodie. Asta este! Asta a fost la început (stânga - se introduce un control (în cazul în care „Crone“) și demontați carcasa):
![tren de jucărie pe Arduino (jucărie) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x260_l1rp43oc99o30mq5ncsy.webp)
Experiența mea în domeniul electronicii până la săraci, dar apetitul vine cu mancatul - și este adevărat. Mai întâi trebuie să dau seama de un sistem de control de la distanță - ales o pereche de IR - TSOP 4838 și telecomanda nu este la fel ca și înlocuirea de radio de control, dar a decis să iasă din situația în paralel două TSOP 4838, și să le implementeze în direcții diferite (senzor IR în diagrama).
![tren de jucărie pe Arduino (jucărie) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x248_k9s4dd7kmcmjp0z20765.webp)
În timpul mișcării motorului înainte și înapoi va fi responsabil L293D șofer cip (colector de control al motorului).
diagrama schematică
![tren de jucărie pe Arduino (jucărie) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x290_r924kqii3ufdttmezszn.webp)
- RGB LED-ul este folosit de „lăcomie“ - au o mulțime de porturi nu sunt afectate la Atmege (RGB).
- Prin unitate (difuzor) va fi de ieșire de 8 tone.
- S. O. S - LED roșu și buzzer da trei puncte trei sincronă liniuþe trei puncte.
- În blocul (afișare mișcare) LED verde - înainte, înapoi roșu.
Nu va cauza codul programului, piesele de bază sunt ușor disponibile pe Internet, eu folosesc biblioteca „IRremote.h“, muzica a luat un site Amperka, soluții standard bazate pe caz și în cazul în care contorul pentru operatorii să pună în aplicare de pornire lent și oprire lentă a motorului. În general, nu este greu să ia gata și pus sub „nevoile“ lor. Am vrut să rămână doar un singur punct important - atunci când compilarea, Qb_PLAY irRemote și bibliotecile folosit același timer-ul, pe sfatul unui Amperki în biblioteca de pe drum IRremote # 92; IRremoteInt.h schimbat aici, aceste linii au Atmega 328:
#define IR_USE_TIMER1 // tx = PIN 9
#define IR_USE_TIMER2 // tx = PIN 3
Un alt avertisment: controler PWM de ieșire are o frecvență de 490 Hz, astfel încât în timpul motorului de derulare lentă - adică o pornire lină - începe zumzet decente. Deci, pentru a crește frecvența, puteți introduce următoarele în Setup:
TCCR0B = TCCR0B 0b11111000 | 0x01; // frecventa 62500 kHz pentru 5 și 6 de ieșire ARDUINO.
Dar aici, nu totul a mers bine pe TCCR0B (Temporizatorul 0) legat toate funcțiile de bază ale timpului în Arduino: adică, dacă schimbați funcțiile de temporizare, cum ar fi Delay (), Millis (), etc. va continua să funcționeze, dar într-o scară de timp diferite (mai repede sau mai lent). (Mulțumiri site-ul KAZUS). Am proshlyapil acest subiect, și sa răspândit deja la bord sa - a trebuit să reducă timpul în contorul. Timerele rămase nu sunt legate de întârziere (), Millis () modificarea acestora nu va afecta codul.
Dispozitiv de placă de circuit imprimat
Asta este de fapt o taxă:
![tren de jucărie pe Arduino (jucărie) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x433_10qhqkynh4t0zw9kczxb.webp)
Apoi stai codul Atmeg în bootloader cu un înregistrat aici, pe acest pin-:
![tren de jucărie pe Arduino (Arduino) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x290_qpa6vi02an72jl7kdrno.webp)
Asta bootloader se suturează la controler gol:
![tren de jucărie pe Arduino (Arduino) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x290_33igwkx1cooopr3ct0yu.webp)
Apoi, asamblarea și lipirea și depanare, numirea va da butoane de control mai bune:
Alocarea butoanelor de control
![tren de jucărie pe Arduino (tren) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x516_ercebbeh89cfo9sfgjb5.webp)
![tren de jucărie pe Arduino (Arduino) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x543_fhli5cwq910f9axvopns.webp)
Rezultatele muncii
![tren de jucărie pe Arduino (Arduino) tren de jucărie pe Arduino](https://webp.images-on-off.com/7/939/434x326_ns72qeensju9ce6k0rt5.webp)
Dintre minusuri - algoritmul de serie controler nu permite controlul simultan al trenului și comutatorul suplimentare (opțiuni de durată - muzica de redare), probabil, poate într-un fel, dar eu încă nu am stăpânit. Nici o diodă de protecție față de polaritate inversă, și, în general, nu a furnizat energie stabilă la controler - este, de asemenea, un minus. Dar, în general, toate ascultă telecomanda (și din orice unghi) se execută, flash-uri, etc. Cu mare respect - embedder Togliatti (1945)