Masina teleghidata IR

Autor: Jianu Sebastian-Vasile 332CC

Email: jianu.sebi@gmail.com

Introducere

Proiectul consta in realizarea unui masini cu 4 roti controlata prin infrarosu de o telecomanda.

Descriere generală

Masina va avea 4 motoare, faruri, semnalizari si va fi controlata din telecomada, putand merge in fata, spate, stanga, dreapta, sa prinzi farurile si semnalizarile.

Schemă bloc

Resurse hardware

  • ATMega324
  • 4 Motoare
  • Driver motoar
  • Sasiu
  • Senzor IR
  • Telecomanda
  • 4 Leduri Galbene, 2 Leduri Albe
  • Rezistente
  • Acumulatori(7 * Beterie 1.5V)

Hardware Design

Schema electrica

Descriere

La placuta de atmega este conectat un driver prin vcc, gnd si 4 pini pentru a controla cele 4 motoare, 2 leduri albe si 2 cate 2 leduri galbene o placuta de arduino la care este conectat un senzor IR care receptioneaza datele de la o telecomnda si o alimentare construita din 7 baterii de 1.5V conectate in serie care care vcc-ul la driver si gnd la atmega. Nu am reusit sa receptionez asa cum trebuie semnalul de la sezorul IR cu atmega asa ca am decis pentru a vaea un prioect functional sa folosec o placuta de arduino doar pentru acest lucru iar restul cu atmega: controlul directiei si ledurile Placuta arduino receptioneaza pe pinul 11 semnalul de la telecomanda si apoi se seteaza pe HIGH urmatori pini:

  • Pinul 2 - inseamna comanda de mers in fata
  • Pinul 3 - inseamna comanda de mers in spate
  • Pinul 4 - inseamna comanda de mers in stanga
  • Pinul 5 - inseamna comanda de mers in dreapta
  • Pinul 6 - inseamna comanda de aprins faruri
  • Pinul 7 - inseamna comanda de aprins semnalizare dreapta
  • Pinul 8 - inseamna comanda de aprins semnalizare stanga
  • Apoi cu atmega verific pe ce pini primesc curent si in functie de pin trimit date catre motoare sau leduri:
  • Pini PC0-3 Motoare
  • Pini PA1-3 Leduri
  • Software Design

    Implemantarea

    Pentru implemantarea proiectul am urmat pasi: Am setat pini de intrare si de iesire apoi am verificat daca este curente pe pinul PD0 atunci motoarele trebuie sa mearga in fgata deci setez pe pini PC0 si PC1 HIGH si pe pini PC2 si PC3 LOW. Daca pinul PD1 este pe HIGH atunci motoarele trebuie sa mearga in spate deci inversez pini 0 si 1 pe LOW si 2 si 3 pe HIGH. Daca pinul PD4 este pe HIGH atunci masina va merge in stanga deci voi opri motoparle de pe partea stanga si vor merge doar cele de pe dreapta setand pinul PC0 pe HIGH iar pini PC1-3 pe LOW Daca pinul PD5 este pe HIGH atunci masina va merge in dreapta deci invers ca la stanga inversand doar pini PC1 care devine HIGH si PC0 care devine LOW. Daca pinul PD6 este pe HIGH atunci trebuie aprinse farurile deci voi seta pe HIGH pinul PA1. Daca pinul PB0 este pe HIGH atunci trebuie aprinsa semnanalizarea stanga deci voi seta o variabila auxiliara pe 1 care sta asa cat timp pinul este pe HIGH apoi se seteaza pe 0, si daca acesta variabila este 1 atunci voi seta pinul PA2 cu un delay. Daca pinul PB1 este pe HIGH atunci trebuie aprinsa semnanalizarea dreapta la fel ca la dreapta doar ca este setat pinul PA3. Pentru arduino am folosit biblioteca IRremote.h apoi folosind irrecv.enableIRIn() si irrecv.decode am luat semnalul din telecomnda si am setat pini corespuzatori.

    Mediu de dezvoltare:

  • Avr-gcc
  • Vim
  • Makefile
  • BootloadHID
  • Arduino IDE
  • Etapele de construire

    Pasi de constructie

  • 1 Am lipit placuta
  • 2 Am lipit firele la motoare
  • 3 Am conectat motoarele de driver
  • 4 Am pus totul pe un sasiu
  • 5 Am conectat bateriile
  • 6 Am constuit o carcasa de carton
  • 7 Am lipit rezistente pe fire si apoi am lipit firele la leduri
  • 8 Am facut legaturile intre placute, driver, leduri, alimentare.

    Designe

    Pentru carcasa de carton am ales sa contruiesc un tir de la Scania, deorece era mai mult loc pentru face cable management. Forma tirului este destul de realista si construita la scara pana si oglizile :)

    Mod de functionare:

  • Daca se apasa sageata in sus masina va merge in fata pana cand aceasta este reapasata sau se apasa tasta pause
  • Daca se apasa sageata in jos masina va merge in spate pana cand aceasta este reapasata sau se apasa tasta pause
  • Daca se apasa sageata dreapta masina va merge in dreapta pana cand aceasta este reapasata sau se apasa tasta pause
  • Daca se apasa sageata stanga masina va merge in stanga pana cand aceasta este reapasata sau se apasa tasta pause
  • Daca se apasa butonul de power atunci se aprind farurile pana cand este reapasat butonul
  • Daca se apasa butonul de - atunci se aprinde semnalizarea stanga pana cand este reapasat butonul
  • Daca se apasa butonul de + atunci se aprinde semnalizarea dreapta pana cand este reapasat butonul
  • Se poate schimba directia fara a reapasa butonul de directie sau stop, de exemplu daca masina merge in fata pot sa schimb directia spre dreapta direct fara a apasa din nou pe butonul in fata sau pe stop.
  • Video

    Link catre un demo video pe youtube:Visit video

    Concluzii

    Este primul proiect din facultate la care am lucrat cu drag, fiind foarte practic si interesant. Imi pare foarte rau ca nu am resusit sa citesc semnalul IR cu atmega dar sper ca il voi face foarte curand. Tirul meu este funtional cu putin ajutor de la o placuta de arduino si sper ca pe parcurs sa implementez mai multe functii ca de exemplu viiteze diferite, claxon, mai multe leduri si sa ii pun niste baterii mai mari sa faca drifturi :)

    Jurnal

  • 21.04.2019 - Schema bloc + Lista de piese
  • 05.05.2019 - Schema electrica
  • 23.05.2019 - Update schema electrica
  • 23.05.2019 - ADD Software Design
  • 23.05.2019 - ADD Rezultate obtinute
  • Bibliografie/Resurse: