
Cuprins:
- Pasul 1: Black Box
- Pasul 2: Arduino
- Pasul 3: Atașarea Arduino la Blackbox
- Pasul 4: senzor cu ultrasunete
- Pasul 5: Conexiunea la panou a senzorului la Arduino
- Pasul 6: Scut motor
- Pasul 7: Conectarea ecranului motorului la Arduino
- Pasul 8: Conectarea celor 4 motoare și baterii la ecran
- Pasul 9: Programați robotul
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04


Cum să construiești un robot pentru a evita obstacolele
Pasul 1: Black Box

primul pas am folosit o cutie neagră ca bază pentru robotul meu.
Pasul 2: Arduino

Arduino este creierul întregului sistem și ne orchestrează motoarele
Pasul 3: Atașarea Arduino la Blackbox

Am atașat arduino la cutia neagră folosind adeziv fierbinte
Pasul 4: senzor cu ultrasunete

Pentru a crea un robot care se poate mișca singur, avem nevoie de un fel de intrare, un senzor care să se potrivească obiectivului nostru. Un senzor cu ultrasunete este un instrument care măsoară distanța față de un obiect folosind unde sonore ultrasonice. Un senzor cu ultrasunete utilizează un traductor pentru a trimite și primi impulsuri ultrasonice care retransmite informații despre apropierea unui obiect
Pasul 5: Conexiunea la panou a senzorului la Arduino


Am folosit fire pentru a conecta la bărbați conexiunea dintre panou și arduino.
Acordați atenție faptului că senzorul dvs. de ping poate avea un aspect diferit al pinului, dar ar trebui să aibă un pin de tensiune, pin de masă, pin pin și un pin ecou.
Pasul 6: Scut motor

Plăcile Arduino nu pot controla singur motoarele de curent continuu, deoarece curenții pe care îi generează sunt prea mici. Pentru a rezolva această problemă folosim scuturile motorului. Scutul motorului are 2 canale, ceea ce permite controlul a două motoare de curent continuu sau 1 motor pas cu pas. … Adresând acești pini, puteți selecta un canal al motorului pentru a iniția, specifica direcția motorului (polaritatea), setați viteza motorului (PWM), opriți și porniți motorul și monitorizați absorbția curentă a fiecărui canal.
Pasul 7: Conectarea ecranului motorului la Arduino

Pur și simplu atașați scutul motorului la arduino cu firele senzorului strânse
Pasul 8: Conectarea celor 4 motoare și baterii la ecran

Fiecare scut motor are (cel puțin) două canale, unul pentru motoare și unul pentru o sursă de alimentare, conectați-le unul față de celălalt
Pasul 9: Programați robotul
rulați acest cod
#include #include
Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1 (1, MOTOR12_1KHZ); AF_DCMotor motor2 (2, MOTOR12_1KHZ); AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo miservo;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
boolean mergeForward = false; int distanta = 80; int speedSet = 0;
configurare nulă () {
myservo.attach (10); myservo.write (115); întârziere (2000); distanță = readPing (); întârziere (100); distanță = readPing (); întârziere (100); distanță = readPing (); întârziere (100); distanță = readPing (); întârziere (100); }
bucla void () {int distanceR = 0; int distanțaL = 0; întârziere (40); if (distanță <= 15) {moveStop (); întârziere (50); mergi inapoi(); întârziere (150); moveStop (); întârziere (100); distanțăR = lookRight (); întârziere (100); distanțăL = lookLeft (); întârziere (100);
if (distanceR> = distanceL) {turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distanță = readPing (); }
int lookRight () {myservo.write (50); întârziere (250); int distanță = readPing (); întârziere (50); myservo.write (100); distanța de întoarcere; }
int lookLeft () {myservo.write (120); întârziere (300); int distanță = readPing (); întârziere (100); myservo.write (115); distanța de întoarcere; întârziere (100); }
int readPing () {delay (70); int cm = sonar.ping_cm (); if (cm == 0) {cm = 200; } returnează cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (ELIBERARE); motor3.run (ELIBERARE); motor4.run (ELIBERARE); } void moveForward () {
if (! goesForward) {goesForward = true; motor1.run (FORWARD); motor2.run (FORWARD); motor3.run (FORWARD); motor4.run (FORWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); întârziere (5); }}}
void moveBackward () {mergeForward = false; motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (BACKWARD); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); întârziere (5); } void turnLeft () {motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (FORWARD); motor4.run (FORWARD); întârziere (500); motor1.run (FORWARD); motor2.run (FORWARD); motor3.run (FORWARD); motor4.run (FORWARD); }
void turnLeft () {motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (FORWARD); motor4.run (FORWARD); întârziere (500); motor1.run (FORWARD); motor2.run (FORWARD); motor3.run (FORWARD); motor4.run (FORWARD); }
Recomandat:
Robotul care evită obstacolele folosind Arduino Nano: 5 pași

Robot care evită robotul folosind Arduino Nano: În acest instructiv, voi descrie cum puteți face un robot care să evite obstacolele folosind Arduino
Norul înnorat te vindecă (Robotul care evită obstacolele cu funcția de colectare): 8 pași

Norul înnorat te vindecă (Robotul de a evita obstacolele cu funcția de colectare): o mașină inutilă - Arduino Robot
Robotul care evită obstacolele folosind microcontrolerul (Arduino): 5 pași

Robotul de evitare a obstacolelor folosind microcontrolerul (Arduino): În acest instructiv, vă voi învăța cum să faceți un robot de evitare a obstacolelor care funcționează cu Arduino. Trebuie să vă familiarizați cu Arduino. Arduino este o placă de control care utilizează microcontrolerul ATMEGA. Puteți folosi orice versiune de Arduino, dar eu ha
Robotul care evită obstacolele folosind senzori cu ultrasunete: 9 pași (cu imagini)

Robot de evitare a obstacolelor folosind senzori cu ultrasunete: Acesta este un proiect simplu despre robotul de evitare a obstacolelor folosind senzori cu ultrasunete (HC SR 04) și placa Arduino Uno. proiect tutorial, împărtășește-ți
Robot Minecraft Creeper care evită obstacolele: 7 pași

Robot Minecraft Creeper care evită obstacolele: acest robot a fost făcut să participe la provocarea Minecraft, Epilog Challenge IX și la prima competiție de autor. Se bazează pe una dintre cele mai iconice mafiote Minecraft: Creeper. Acest robot folosește o carcasă imprimată 3D, deci trebuie să aveți acces la un