IR CAR

Student: Căroi Narcis-Florin

Grupa: 336CB
Mail: narcis_florin.caroi@stud.acs.upb.ro

Introducere

Proiectul constă într-o mașinuță controlată prin infraroșu cu ajutorul unei telecomenzi ce are rolul de emițător deoarece aceasta trimite unde către un sensor de infraroșu ce are rolul de receptor. Am ales acest proiect deoarece, încă din copilărie, am avut o pasiune pentru acest timp de jucării și le dezasamblam să văd cum sunt construite.

Descriere generală

Functionalitate

Cu ajutorul unei telecomenzi emițătoare de unde infraroșu, vom trimite comenzi către un senzor de infraroșu, iar in funcție de codul trimis de la senzor la arduino vom știi ce tip de mișcare dorește utilizatorul. Apoi, cu ajutorul unui modul de motoare vom putea transmite putere catre toate motoarele sau către cele de pe o anumită parte în funcție de cazul in care ne aflăm și anume:cazul in care vrem ca mașinuța sa aibe o mișcare rectilinie sau curbilinie. Ca user exeperience-ul să fie mai bun, am decis să adaug si 3 led-uri, unul verde pentru momentul în care mașinuța se deplasează in față, unul roșu pentru momentul în care mașinuța se mișcă in spate, iar unul RGB ce ne arată în ce treaptă de viteză ne aflăm.

Schema bloc


Hardware Design

Componente utilizate

Voi folosi componente de la un pachet de mașinuță dezasamblată pe care l-am cumpărat(piesele de caroserie, 4 motoare și 4 roți), un modul driver pentru motoare, arduino, acumulatori, un suport pentru aceștia, un senzor de infraroșu și o telecomandă.

Descriere componente

4 x motor dc 3V-6V cu reductor 1:48 cunoscut și ca TT motor, acestuia ii variază proprietățile în funcție de tensiune, având RPM de la 90+/-10% la 3V până la 200+/-10% RPM la 6V și putere de aproximativ 0.15Nm la 3V până la 0.60Nm la 6V.

4 x roată 65mm cu anvelopă din cauciuc
modul driver motoare L298N este un modul cu putere mare pentru motoare DC si Stepper. Cu ajutorul sau poți controla atât viteza, cât si direcția a maxim 4 motoare DC.
arduino mega 2560 placă bazată pe microcontrolerul ATmega2560. Această placa are 54 pini digitali de I/O(din care 14 oferă ieșire PWM), 16 intrări analogice, o memorie flash de 256Kb și frecventa de 16Mhz.
modul receptor ir folosit pentru a detecta semnal IR transmis de transmițătoare. Acesta are o frecvență de 38Khz si suportă o tensiune de 5V, iar tipul de conexiune este I2C.
telecomandă mini slim ce pune la dispoziție 17 butoane, având o distanță optimă de funcționare de până la 8m.
acumulatori 18650 de tip Li-Ion, cu o tensiune nominala de 3.60V și o capacitate de 2500mAh, folosiți pentru a alimenta driver-ul de motoare pe pin-ul de drive.
breadboard
Comutator KCD1-11-2P on/off buton, folosit pentru a închide sau a deschide circuitul, astfel permit curentului de la acumulatori sa circule sau nu.
2 x led 3mm am folosit unul de culoare roșie ce se aprinde atunci când mașina se deplasează în spate sau stânga/dreapta cu marșarier, iar unul verde atunci când se deplasează în față sau stânga/dreapta în față.
led tricolor cu catod comun 5mm folosit pentru a arata treapta de viteza in care ne aflam:

  • roșu pentru treapta 1
  • galben pentru treapta 2
  • verde pentru treapta 3


Schema electrică


Software Design

Descrierea implementării

Mediul de programare pe care l-am folosit este ArduinoIDE.
Pe parcursul construirii circuitului, am decis să testez componentele separat, am obținut 3 etape de cod.

Etapele implementării

Driver motoare

Aici am scris cod pentru testarea conexiunilor motoarelor în driver. Am verificat ca pe fiecare parte, cele doua roți să aibă același sens în momentul deplasării, dar și faptul ca prin pinii de input trimit datele bine, adica motoarele respecta sensurile de miscare pe care le doresc.

Receptor IR

Aici am verificat mai întâi codurile recepționate de receptor pentru fiecare buton pe care voiam să îl folosesc, apoi am verificat am format codul pentru mișcarea pe care ar fi trebuit sa o aiba mașina, adică am printat un string pentru fiecare cod.

Etapa finală

Am combinat cele doua etape, cu anumite modificări pentru ca mașinuța să se miște cât timp unul dintre butoane este apăsat, iar în momentul în care se eliberează butonul aceasta să se oprească, obținând cod-ul final. Mașinuța răspunde la următoarele comenzi din telecomană:

  • săgeată sus - mașinuța se deplasează în față
  • săgeată jos - mașinuța se deplaseaza în spate
  • săgeată dreapta - mașinuța se deplasează în față sau în spate virând dreapta
  • săgeată stânga - mașinuța se deplasează în față sau în spate virând stânga
  • OK - schimbă modul de deplasare al mașinuței pe săgețile stânga/dreapta
  • 1 - aceasta merge în prima “treaptă de viteză”
  • 2 - aceasta merge în a doua “treaptă de viteză”
  • 3 - aceasta merge în a treia “treaptă de viteză”

Schema de activitate


Biblioteci

  • IRremote.h

Download

Page
Codurile sursa cu cele 3 etape

Rezultate obtinute

Partea de jos

Aici se află partea de circuit a motoarelor. După cum se poate vedea în poza atașată, am conectat câte două motoare în driver pentru a folosi unul singur, astfel roțile se vor misca pe părti împreună.

Partea de sus

Aici se află partea de circuit cu senzorul de IR, conectările la arduino, butonul de ON/OFF ce pornește și oprește mașinuța.
Aici se poate vedea partea de sus în care am adăugat și led-urile.

Demo

Bibliografie/Resurse

pm/prj2021/abirlica/ircar.txt · Last modified: 2021/05/31 00:01 by narcis_florin.caroi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0