This shows you the differences between two versions of the page.
pm:prj2023:avaduva:rc_car [2023/05/07 08:46] radu.mitcan [Hardware Design] |
pm:prj2023:avaduva:rc_car [2023/05/28 23:41] (current) radu.mitcan [Download] |
||
---|---|---|---|
Line 3: | Line 3: | ||
<note tip> | <note tip> | ||
- | Prezentarea pe scurt a proiectului vostru: | + | The project consists in building and programming a RC Car that will be controlled over Bluetooth Protocol. A mobile app will be used as a remote. |
- | * ce face | + | |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | <note tip> | + | {{:pm:prj2023:avaduva:project_diagram.png?300|}} |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
- | + | ||
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | |
- | </note> | + | |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | |
Components: | Components: | ||
Line 31: | Line 22: | ||
2/4 x Accumulators/Batteries | 2/4 x Accumulators/Batteries | ||
N/A Jumpers | N/A Jumpers | ||
- | </note> | + | |
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | + | The car is equipped with an Adafruit Motor Shield, which allows control of multiple motors simultaneously. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | The code begins by including the necessary libraries. AFMotor is the library for controlling motors using the Adafruit Motor Shield, and SoftwareSerial is used for communication with the Bluetooth module. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | {{:pm:prj2023:avaduva:p1.png?300|}} |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | Four motor objects are created using the AF_DCMotor class from the AFMotor library. These objects represent the individual motors connected to the motor shield. The parameters passed to the constructor specify the motor number and the frequency at which it operates. |
+ | |||
+ | In the setup() function, the serial communication with the Bluetooth module is initiated by calling bluetoothSerial.begin(9600). The baud rate is set to 9600, which should match the baud rate configured for the Bluetooth module. | ||
+ | |||
+ | The loop() function continuously checks if there is data available to be read from the Bluetooth module using bluetoothSerial.available(). If data is available, it is read using bluetoothSerial.read() and stored in the command variable. | ||
+ | |||
+ | After reading the command, the Stop() function is called to ensure that all motors are stopped before executing the new command. | ||
+ | |||
+ | {{:pm:prj2023:avaduva:p2.png?300|}} | ||
+ | |||
+ | Based on the received command, the code enters a switch statement to determine the action to be performed. If the command is 'F', the forward() function is called, which sets the motors to rotate forward. Similarly, for 'B', 'L', and 'R' commands, the back(), left(), and right() functions are called, respectively. | ||
+ | |||
+ | {{:pm:prj2023:avaduva:p3.png?300|}} | ||
+ | |||
+ | The forward() function sets the speed of all the motors to 255, which is the maximum velocity. Then, it calls the run() function for each motor with the FORWARD parameter, causing them to rotate in the clockwise direction. | ||
+ | |||
+ | Similarly, the back(), left(), and right() functions set the motors to rotate in the opposite directions, based on the desired movement. | ||
+ | This code allows an Arduino-controlled car to receive commands via a Bluetooth module and perform movements such as forward, backward, left, and right by controlling the motors connected to the Adafruit Motor Shield. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
- | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 54: | Line 59: | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | Code:{{:pm:prj2023:avaduva:bluetooth_car.ino.zip?300|}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||