Documente Academic
Documente Profesional
Documente Cultură
-referat-
Proiectul propus pentru aceasta lucrare a fost confectionarea unui braț robotic, cu structură
metalică care să fie automatizata prin programarea Arduino și a cărui mișcări să fie comandate de către
operator printr-o aplicație dezvoltată in mediul android.
Componente
Pentru a realiza brațul robotic avem nevoie de următoarele componente:
- Servomotor MG995
- Breadboard830
- Fire tată-tată
- Șurubelnița (stelară)
- Cutter
- Foarfecă
Servomotor MG995
Servomotoarele sunt folosite în aplicatii foarte variate in care este
necesara precizia. Acest tip de servomotor este unul foarte des întalnit
și îl puteți folosi pentru a construi imprimante 3D, un CNC sau la
masinute teleghidate pentru a misca rotile din fata in curbe, etc.
Specificații:
- Greutate: 55 g
Arduino Mega 2560 este un microcontroler bazat pe ATmega2560. Dispune de 54 de intrări / ieșiri
digitale (dintre care 15 pot fi utilizate ca ieșiri PWM), 16 intrări analogice, 4 UART (porturi seriale
hardware), un oscilator de cristal de 16 MHz, o conexiune USB, o mufă de alimentare, un antet ICSP, și un
buton de resetare.
Specificații Tehnice:
- Tensiune de funcționare: 5 V;
- 4 x UART;
Efectorul
Caracteristici tehnice:
- Material: aluminiu
- Greutate: 68g (fără motor)
- Unghi maxim de deschidere a cleștelui: 55mm
- Lungime: 108mm (cleștele închis)
- Lațime: 98mm (cleștele deschis)
Efectorul
In schema de conexiuni se regaseste conectarea servomotoarelor MG995 si a modulului bluethoot HC-
05 la placa de dezvoltare Arduino Mega
2560.
Servomotoarele au 3 pini;
- VCC (rosu)
- GND (maro)
- Semnal (galben)
- GND
Alimentarea modulului bluethoot HC-05 se face din pinii VCC (5V) respectiv GND de pe placa de dezvoltare
Arduino.
Iar pinii TXD si RXD ai modulului bluethoot HC-05 au fost conectati la pinii 10 si respectiv 11 din
partea I/O digitale.
Realizarea aplicației pentru smartphone
void setup()
{
myservo1.attach(3); // pinul de semnal al servomotorul la pinul 3
myservo2.attach(5); // pinul de semnal al servomotorul la pinul 5
myservo3.attach(6); // pinul de semnal al servomotorul la pinul 6
myservo4.attach(9); // pinul de semnal al servomotorul la pinul 9
Serial.begin(9600); //această comandă realizează conecțiunea cu bluethoot
bluetooth.begin(9600);
}
void loop()
{
if(bluetooth.available()>= 2 ) //Citește semnalul de la bluethoot
{
unsigned int servopos = bluetooth.read();
unsigned int servopos1 = bluetooth.read();
unsigned int realservo = (servopos1 *256) + servopos;
Serial.println(realservo);
if (realservo >= 1000 && realservo <1180) {
int servo1 = realservo;
servo1 = map(servo1, 1000, 1180, 0, 180);
myservo1.write(servo1);
Serial.println("Servo 1 ON");
delay(10);
}
if (realservo >= 2000 && realservo <2180) {
int servo2 = realservo;
servo2 = map(servo2, 2000, 2180, 0, 180);
myservo2.write(servo2);
Serial.println("Servo 2 ON");
delay(10);
}
if (realservo >= 3000 && realservo <3180) {
int servo3 = realservo;
servo3 = map(servo3, 3000, 3180, 0, 180);
myservo3.write(servo3);
Serial.println("Servo 3 ON");
delay(10);
}
if (realservo >= 4000 && realservo <4180) {
int servo4 = realservo;
servo4 = map(servo4, 4000, 4180, 0, 180);
myservo4.write(servo4);
Serial.println("Servo 4 ON");
delay(10);
}
}
}