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

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

Î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

  • 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

Apoi stai codul Atmeg în bootloader cu un înregistrat aici, pe acest pin-:

tren de jucărie pe Arduino

Asta bootloader se suturează la controler gol:

tren de jucărie pe Arduino

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 de jucărie pe Arduino

Rezultatele muncii

tren de jucărie pe Arduino

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)