Table of Contents

Masina cu telecomanda 🚗

Movileanu Raluca - 331CB

Introducere

Proiectul consta intr-o masina care primeste comenzi de la o telecomanda, comenzile fiind mesaje cu instructiuni pentru deplasarea masinii: fata, spate, stanga, dreapta, diagonale si rotiri (rotire stanga, rotire dreapta). De asemenea, masina va avea montat si un girofar cu sirena. Scopul proiectului este realizarea unei masini care poate fi comandata de la distanta folosind module radio. Utilitatea sa vine din faptul ca proiectul meu este de fapt o jucarie cu care ma pot distra atat singura cat si cu prietenii.

Descriere generală

La apasarea unui buton din cele 10 (pentru fata, spate, stanga, dreapta, diagonale, rotire stanga, rotire dreapta) de pe telecomanda, placuta Arduino NANO va transmite un mesaj catre placuta Arduino MEGA de pe masina, prin intermediul transmitterului si al receiverului care comunica radio printr-o adresa data. In functie de mesajul primit de receiver, placuta MEGA va da comenzi controllerelor de motoare, care la randul lor vor actiona motoarele DC in modul dorit de catre utilizator.Voi avea si un buzzer si 2 leduri rosii ce se vor stinge si aprinde la un interval de timp.

  • Masina se va deplasa pe urmatoarele directii conform pozei:

Hardware Design

Lista piese

  • 1 X Arduino NANO
  • 1 X Arduino MEGA
  • 10 X buton
  • 4 X roata
  • 4 X motor DC 3V (MOTOR CU REDUCTOR 3-6V)
  • 2 X controller motor (Modul cu Driver de Motoare Dual L298N)
  • 2 X trans-receiver radio (NRF24L01 - 2.4G Wireless Transceiver Module)
  • 2 X LED
  • 1 X buzzer
  • 3 X suport baterii
  • 2 X suport baterii 9V
  • 1 X breadboard mare
  • 1 X breadboard mic
  • 1 X breadboard mini
  • 13 X rezistente
  • fire

Placuta Arduino NANO se afla pe telecomanda, ea primeste comenzi de la butoane si le transmite mai departe la placuta Arduino Mega de pe masina prin intermediul transmitterului(de pe telecomanda) si al receiverului(de pe masina). Placuta Arduino NANO este alimentata de 4 baterii AA. Placuta Arduino MEGA primeste comanda, trimite semnale la cele doua drivere pentru motoare(Modul cu Driver de Motoare Dual L298N) care actioneaza motoarele(MOTOR CU REDUCTOR 3-6V) la o viteza stabilita in cod, aceasta fiind setata folosind pini PWM. Placuta Arduino MEGA este alimentata de o baterie de 9V iar driverele sunt alimentate de cate 4 baterii AA. Pe placuta Arduino MEGA se mai afla doua leduri si un buzzer care alterneaza intre starile aprins si stins, acestea servind rolurile de girofar, respectiv sirena.

Telecomanda

Arduino NANO:

butoanele analogice au fost folosite pentru butoane deoarece nu sunt disponibile destui pini digitali pentru a conecta toate butoanele la digital deoarece modulul nRF24L01 ocupa 5 pini digitali din 12

am folosit pentru ultimele doua butoane pini digitali deoarece nu au mai fost disponibili pini analogici pentru a conecta asemenea celorlalte butoane de pe telecomanda

Masina

Arduino MEGA

Driver motor L298N (1)

Driver motor L298N (2)

Software Design

  • Mediu de dezvoltare: Arduino IDE
  • Librarii şi surse 3rd-party: SPI.h, nRF24L01.h, RF24.h

Telecomanda:

Initializare:

Setup:

Loop:

Functia 'comanda':

In codul pentru telecomanda am folosit urmatoarele concepte:

  • SPI: Utilizat pentru comunicarea cu modulul RF24 pentru transmisie wireless.
  • GPIO: Utilizat pentru citirea starii pinilor digitali (rotireStanga si rotireDreapta).
  • ADC: Utilizat pentru citirea valorilor analogice de la pinii A0-A7 (fata, spate, stanga, dreapta, etc.).
  • UART: Utilizat pentru comunicarea seriala pentru debug (comunicare cu monitorul serial).

Masina:

Initializare:

Setup:

Loop:

In codul pentru masina am folosit urmatoarele concepte:

  • SPI (Serial Peripheral Interface): Utilizat pentru comunicarea cu modulul RF24 pentru receptia comenzilor wireless.
  • GPIO (General Purpose Input/Output): Utilizat pentru controlul motoarelor si a LED-urilor. Pinii motoarelor (ex. motor1Inainte, motor1Inapoi, etc.) si LED-urilor (led1, led2) sunt setati ca iesiri.
  • UART (Universal Asynchronous Receiver-Transmitter): Utilizat pentru comunicarea seriala pentru debugging (comunicare cu monitorul serial).
  • Timere: Utilizat pentru a alterna starea buzzer-ului si a LED-urilor la fiecare 3 secunde.
  • PWM (Pulse Width Modulation): Utilizat pentru a seta o valoare PWM pentru anumiti pinii (pentru controlul vitezei).

Rezultate Obţinute

 

Concluzii

Am reusit sa realizez o masina cu telecomanda conform planului propus initial.

Indicatori de performanta:

Optimizari pe care le-as putea adauga:

Download

pm_project.zip

Jurnal

  • 30 aprilie - procurarea pieselor
  • 3 mai - realizare descriere proiect
  • 13-14 mai - realizarea telecomenzii fizice
  • 15-16 mai - realizarea masinii fizice
  • 16 mai - proiectare scheme electrice (telecomanda+masina)
  • 13-16 mai - am implementat si modificat codul in paralel cu realizarea componentelor fizice
  • 23 mai - realizare caroserie masina

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF