Inhoudsopgave:

Hoe maak je een slimme robot met Arduino: 4 stappen
Hoe maak je een slimme robot met Arduino: 4 stappen

Video: Hoe maak je een slimme robot met Arduino: 4 stappen

Video: Hoe maak je een slimme robot met Arduino: 4 stappen
Video: Zó bouw je je eigen robot! | Het LAB #7 2024, November
Anonim
Image
Image

Hallo,

Ik ben arduino-maker en in deze tutorial laat ik je zien hoe je een slimme robot maakt met arduino

als je mijn tutorial leuk vond, overweeg dan om mijn YouTube-kanaal genaamd de arduino-maker te ondersteunen

Benodigdheden

DINGEN DIE JE NODIG HEBT:

1) arduino uno

2) ultrasone sensor:

3) Bo-motor

4) wielen

5) ijsstokjes

6) 9v batterij

Stap 1: VERBINDINGEN

LIJM ALLE COMPONENTEN OP DE PLAATS
LIJM ALLE COMPONENTEN OP DE PLAATS

Nadat u nu alle benodigdheden hebt gekregen, moet u beginnen met het aansluiten van alle dingen volgens het hierboven gegeven schakelschema

Stap 2: LIJM ALLE COMPONENTEN OP DE PLAATS

OKE,

sluit nu alle dingen op hun plaats aan zoals weergegeven in de bovenstaande afbeelding

Stap 3: PROGRAMMERING

Nutsvoorzieningen,

begin met het programmeren van het bord met de onderstaande code:

//ARDUINO OBSTAKEL VERMIJDEN AUTO//// Voordat u de code uploadt, moet u de benodigde bibliotheek installeren// //AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing-bibliotheek https://github.com/livetronic/Arduino-NewPing// //Servo-bibliotheek https://github.com/arduino-libraries/Servo.git // // Om de bibliotheken te installeren, gaat u naar schets >> Opnemen Bibliotheek >>. ZIP-bestand toevoegen >> Selecteer de gedownloade ZIP-bestanden van de bovenstaande links //

#erbij betrekken

#erbij betrekken

#erbij betrekken

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // stelt de snelheid van DC-motoren in

#define MAX_SPEED_OFFSET 20

NewPing-sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotormotor1(1, MOTOR12_1KHZ);

//AF_DCMotormotor2(2, MOTOR12_1KHZ); //AF_DCMotormotor3 (3, MOTOR34_1KHZ); AF_DCMotormotor4(4, MOTOR34_1KHZ); Servo-mijnservo;

boolean goesForward=false;

int afstand = 100; int speedSet = 0;

ongeldige setup() {

mijnservo.attach(10);

mijnservo.write(115); vertraging (1000); afstand = readPing(); vertraging (100); afstand = readPing(); vertraging (100); afstand = readPing(); vertraging (100); afstand = readPing(); vertraging (100); }

lege lus() {

int afstandR = 0; int afstandL = 0; vertraging (40); if(afstand<=15) { moveStop(); vertraging (100); moveBackward(); vertraging (300); verplaatsStop(); vertraging (200); afstandR = lookRight(); vertraging (300); afstandL = kijk Links(); vertraging (300);

if(afstandR>=afstandL)

{ draaiRechts(); verplaatsStop(); }anders { draaiLinks(); verplaatsStop(); } }else { moveForward(); } afstand = readPing(); }

int lookRight()

{ mijnservo.write(50); vertraging (650); int afstand = readPing(); vertraging (100); mijnservo.write(115); retour afstand; }

int lookLeft()

{ mijnservo.write(170); vertraging (650); int afstand = readPing(); vertraging (100); mijnservo.write(115); retour afstand; vertraging (100); }

int leesPing() {

vertraging (70); int cm = sonar.ping_cm(); if(cm==0) { cm = 250; } retour cm; }

ongeldig moveStop() {

motor1.run(RELEASE); //motor2.run (RELEASE); //motor3.run (RELEASE); motor4.run(RELEASE); } ongeldig moveForward() {

if(!gaatVooruit)

{ gaatVooruit=waar; motor1.run(VOORUIT); //motor2.run (VOORUIT); //motor3.run (VOORUIT); motor4.run(VOORUIT); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // verhoog de snelheid langzaam om te voorkomen dat de batterijen te snel leeg raken { motor1.setSpeed(speedSet); //motor2.setSpeed (speedSet); //motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); vertraging (5); } } }

void moveBackward() {

gaatVooruit=false; motor1.run (ACHTERUIT); //motor2.run (ACHTERUIT); //motor3.run (ACHTERUIT); motor4.run (ACHTERUIT); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // verhoog de snelheid langzaam om te voorkomen dat de batterijen te snel leeg raken { motor1.setSpeed(speedSet); //motor2.setSpeed (speedSet); //motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); vertraging (5); } }

ongeldig turnRight() {

motor1.run (ACHTERUIT); //motor2.run (ACHTERUIT); //motor3.run (VOORUIT); motor4.run(VOORUIT); vertraging (350); motor1.run(VOORUIT); //motor2.run (VOORUIT); //motor3.run (VOORUIT); motor4.run(VOORUIT); } void turnLeft() { motor1.run(FORWARD); //motor2.run (VOORUIT); //motor3.run (ACHTERUIT); motor4.run (ACHTERUIT); vertraging (350); motor1.run(VOORUIT); //motor2.run (VOORUIT); //motor3.run (VOORUIT); motor4.run(VOORUIT); }

Aanbevolen: