Sommario:

Come Realizzare un Robot Intelligente Usando Arduino: 4 Passaggi
Come Realizzare un Robot Intelligente Usando Arduino: 4 Passaggi

Video: Come Realizzare un Robot Intelligente Usando Arduino: 4 Passaggi

Video: Come Realizzare un Robot Intelligente Usando Arduino: 4 Passaggi
Video: Ho costruito un ROBOT SMART INTELLIGENTE! 💡 2024, Dicembre
Anonim
Image
Image

Ciao,

Sono un creatore di arduino e in questo tutorial ti mostrerò come creare un robot intelligente usando arduino

se ti è piaciuto il mio tutorial, considera di supportare il mio canale YouTube chiamato il creatore di arduino

Forniture

COSE DI CUI HAI BISOGNO:

1) arduino uno

2) sensore a ultrasuoni

3) Motore Bo

4) ruote

5) bastoncini di gelato

6) batteria 9v

Fase 1: CONNESSIONI

INCOLLA TUTTI I COMPONENTI IN POSIZIONE
INCOLLA TUTTI I COMPONENTI IN POSIZIONE

Dopo, ottenendo tutte le forniture ora, dovresti iniziare a collegare tutte le cose secondo lo schema del circuito sopra indicato

Passaggio 2: INCOLLA TUTTI I COMPONENTI IN POSIZIONE

OK,

ora collega tutte le cose sul posto come mostrato nell'immagine sopra

Fase 3: PROGRAMMAZIONE

Ora,

iniziare a programmare la scheda con il codice indicato di seguito

//ARDUINO OBSTACLE EVITACTION CAR//// Prima di caricare il codice devi installare la libreria necessaria// //AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing Library https://github.com/livetronic/Arduino-NewPing// //Servo Library https://github.com/arduino-libraries/Servo.git // // Per installare le librerie vai a sketch >> Includi Libreria >> Aggiungi file. ZIP >> Seleziona i file ZIP scaricati dai collegamenti sopra //

#includere

#includere

#includere

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // imposta la velocità dei motori DC

#define MAX_SPEED_OFFSET 20

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotore motore1(1, MOTOR12_1KHZ);

//AF_DCMotore motore2(2, MOTOR12_1KHZ); //AF_DCMotore motore3(3, MOTOR34_1KHZ); AF_DCMotore motore4(4, MOTOR34_1KHZ); Servo mio servo;

booleano goesForward=false;

distanza int = 100; int speedSet = 0;

void setup() {

mioservo.attach(10);

mioservo.write(115); ritardo(1000); distanza = readPing(); ritardo(100); distanza = readPing(); ritardo(100); distanza = readPing(); ritardo(100); distanza = readPing(); ritardo(100); }

ciclo vuoto() {

int distanzaR = 0; distanza intL = 0; ritardo(40); if(distanza<=15) { moveStop(); ritardo(100); tornare indietro(); ritardo(300); moveStop(); ritardo(200); distanzaR = lookRight(); ritardo(300); distanzaL = lookLeft(); ritardo(300);

if(distanzaR>=distanzaL)

{ Girare a destra(); moveStop(); }else { turnLeft(); moveStop(); } }else { moveForward(); } distanza = readPing(); }

int lookRight()

{ mioservo.write(50); ritardo(650); int distanza = readPing(); ritardo(100); mioservo.write(115); distanza di ritorno; }

int lookLeft()

{ mioservo.write(170); ritardo(650); int distanza = readPing(); ritardo(100); mioservo.write(115); distanza di ritorno; ritardo(100); }

int readPing() {

ritardo(70); int cm = sonar.ping_cm(); if(cm==0) {cm = 250; } restituisce cm; }

void moveStop() {

motore1.run(RELEASE); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run(RELEASE); } void moveForward() {

if(!va avanti)

{ va avanti=vero; motore1.run(AVANTI); //motor2.run(AVANTI); //motor3.run(AVANTI); motor4.run(AVANTI); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // aumentare lentamente la velocità per evitare di scaricare le batterie troppo velocemente { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); ritardo(5); } } }

void moveBackward() {

va avanti=falso; motore1.run(INDIETRO); //motor2.run(INDIETRO); //motor3.run(BACKWARD); motor4.run(BACKWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // aumentare lentamente la velocità per evitare di scaricare le batterie troppo velocemente { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); ritardo(5); } }

void turnRight() {

motore1.run(INDIETRO); //motor2.run(BACKWARD); //motor3.run(AVANTI); motor4.run(AVANTI); ritardo(350); motore1.run(AVANTI); //motor2.run(AVANTI); //motor3.run(AVANTI); motor4.run(AVANTI); } void turnLeft() { motor1.run(FORWARD); //motor2.run(AVANTI); //motor3.run(BACKWARD); motor4.run(BACKWARD); ritardo(350); motore1.run(AVANTI); //motor2.run(AVANTI); //motor3.run(AVANTI); motor4.run(AVANTI); }

Consigliato: