Inhoudsopgave:
- Stap 1: Zwarte doos
- Stap 2: Arduino
- Stap 3: De Arduino aansluiten op Blackbox
- Stap 4: Ultrasone sensor
- Stap 5: Breadboard-verbinding van sensor met Arduino
- Stap 6: Motorschild
- Stap 7: Motor Shield aansluiten op Arduino
- Stap 8: De 4 motoren en batterijen aansluiten op Shield
- Stap 9: Programmeer de robot
Video: Obstakel vermijden van robotauto - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Hoe een obstakel te bouwen dat een robot ontwijkt?
Stap 1: Zwarte doos
de eerste stap gebruikte ik een zwarte doos als basis voor mijn robot.
Stap 2: Arduino
De Arduino is het brein van het hele systeem en orkestreert onze motoren
Stap 3: De Arduino aansluiten op Blackbox
Ik heb de arduino aan de blackbox bevestigd met behulp van hete lijm
Stap 4: Ultrasone sensor
Om een robot te maken die uit zichzelf kan bewegen, hebben we een soort input nodig, een sensor die past bij ons doel. Een ultrasone sensor is een instrument dat de afstand tot een object meet met behulp van ultrasone geluidsgolven. Een ultrasone sensor gebruikt een transducer om ultrasone pulsen te verzenden en te ontvangen die informatie over de nabijheid van een object doorgeven
Stap 5: Breadboard-verbinding van sensor met Arduino
Ik gebruikte draden om de verbinding tussen het breadboard en de arduino te mannelijk.
Let op dat uw ping-sensor een andere pinlay-out kan hebben, maar dat deze een spanningspen, grondpen, trig-pen en een echo-pen moet hebben.
Stap 6: Motorschild
Arduino-boards kunnen zelf geen gelijkstroommotoren aansturen, omdat de stromen die ze genereren te laag zijn. Om dit probleem op te lossen gebruiken we motorschilden. Het motorschild heeft 2 kanalen, waardoor twee gelijkstroommotoren kunnen worden bestuurd, stappenmotor. … Door deze pinnen te adresseren, kunt u een motorkanaal selecteren om te starten, de motorrichting (polariteit) specificeren, het motortoerental (PWM) instellen, de motor stoppen en starten en de stroomopname van elk kanaal controleren
Stap 7: Motor Shield aansluiten op Arduino
Bevestig eenvoudig het motorschild aan de Arduino met de sensordraden erin geknarst
Stap 8: De 4 motoren en batterijen aansluiten op Shield
Elk Motor Shield heeft (minimaal) twee kanalen, één voor de motoren en één voor een stroombron, sluit ze ten opzichte van elkaar aan
Stap 9: Programmeer de robot
voer deze code uit
#include #include
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;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
boolean goesForward=false; int afstand = 80; int speedSet = 0;
ongeldige setup() {
mijnservo.attach(10); mijnservo.write(115); vertraging (2000); afstand = readPing(); vertraging (100); afstand = readPing(); vertraging (100); afstand = readPing(); vertraging (100); afstand = readPing(); vertraging (100); }
void loop() {int distanceR = 0; int afstandL = 0; vertraging (40); if(afstand<=15) { moveStop(); vertraging (50); moveBackward(); vertraging (150); verplaatsStop(); vertraging (100); afstandR = lookRight(); vertraging (100); afstandL = kijk Links(); vertraging (100);
if(distanceR>=distanceL) { turnRight(); verplaatsStop(); }anders { draaiLinks(); verplaatsStop(); } }else { moveForward(); } afstand = readPing(); }
int lookRight() { myservo.write(50); vertraging (250); int afstand = readPing(); vertraging (50); mijnservo.write(100); retour afstand; }
int lookLeft() { mijnservo.write(120); vertraging (300); int afstand = readPing(); vertraging (100); mijnservo.write(115); retour afstand; vertraging (100); }
int readPing() {vertraging(70); int cm = sonar.ping_cm(); if(cm==0) { cm = 200; } retour cm; }
void moveStop() { motor1.run(RELEASE); motor2.run (RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); } ongeldig moveForward() {
if(!goesForward) { goesForward=true; motor1.run(VOORUIT); motor2.run(VOORUIT); motor3.run(VOORUIT); motor4.run(VOORUIT); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) { motor1.setSpeed(speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); vertraging (5); } } }
void moveBackward() { goesForward=false; motor1.run (ACHTERUIT); motor2.run (ACHTERUIT); motor3.run(ACHTERUIT); motor4.run (ACHTERUIT); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) { motor1.setSpeed(speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); vertraging (5); } void turnLeft() { motor1.run (ACHTERWAARTS); motor2.run (ACHTERUIT); motor3.run(VOORUIT); motor4.run(VOORUIT); vertraging (500); motor1.run(VOORUIT); motor2.run(VOORUIT); motor3.run(VOORUIT); motor4.run(VOORUIT); }
void turnLeft() { motor1.run (ACHTERWAARTS); motor2.run (ACHTERUIT); motor3.run(VOORUIT); motor4.run(VOORUIT); vertraging (500); motor1.run(VOORUIT); motor2.run(VOORUIT); motor3.run(VOORUIT); motor4.run(VOORUIT); }
Aanbevolen:
Obstakel vermijden van LEGO-robot: 8 stappen (met afbeeldingen)
Obstakel vermijden van LEGO-robot: we houden van LEGO en we houden ook van gekke circuits, dus we wilden de twee combineren tot een eenvoudige en leuke robot die kan voorkomen dat hij tegen muren en andere objecten botst. We laten u zien hoe we de onze hebben gebouwd en geven een overzicht van de basisprincipes die nodig zijn, zodat u uw eigen kunt bouwen
5 in 1 Arduino-robot - Volg mij - Regel volgend - Sumo - Tekenen - Obstakel vermijden: 6 stappen
5 in 1 Arduino-robot | Volg mij | Regel volgend | Sumo | Tekenen | Obstakel vermijden: deze robotbesturingskaart bevat een ATmega328P-microcontroller en een L293D-motorstuurprogramma. Het is natuurlijk niet anders dan een Arduino Uno-bord, maar het is nuttiger omdat het geen ander schild nodig heeft om de motor aan te drijven! Het is vrij van sprong
Obstakel Rover vermijden met Dexter: 4 stappen
Obstacle Avoiding Rover Met Dexter: Als je nieuw bent bij Dexter Community, raadpleeg dan de https://www.instructables.com/id/Getting-Started-With-Dexter/In dit project ontwikkelen we een Obstacle avoiding Rover met behulp van ons Dexter-bord en ultrasone sensor
Obstakel vermijden auto: 5 stappen
Obstacle Avoidance Car: Hoeksensorauto is een zelfvermijdende intelligente auto, de carrosserie van de auto gebruikt een aluminium frame, de hoofdbediening met behulp van Arduino / Nano-microcontroller, de printplaat heeft een plug-in-ontwerp (het is gemakkelijker om een externe sensor aan te sluiten via microcontroller
Thuis een robotauto maken: 3 stappen
Hoe maak je een robotauto thuis: maak thuis een ribotische auto