Indholdsfortegnelse:
- Trin 1: Hvad du har brug for i dette projekt:
- Trin 2: Kredsløbsdiagram
- Trin 3: Programmering af Arduino UNO
- Trin 4: Fantastisk
Video: Sådan laver du en DIY Arduino -hindring for at undgå robot derhjemme: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Hej Guys, I denne Instructable, vil du lave en forhindring for at undgå robot. Denne instruks involverer at bygge en robot med en ultralydssensor, der kan registrere objekter i nærheden og ændre deres retning for at undgå disse objekter. Ultralydssensoren vil blive fastgjort til en servomotor, der konstant scanner til venstre og højre og leder efter objekter i vejen.
Så uden videre, lad os komme i gang!
Trin 1: Hvad du har brug for i dette projekt:
Her er reservedelslisten:
1) Arduino Uno
2) Motor Driver Shield
3) Gearmotor, stel og hjul sæt
4) Servomotor
5) Ultralydssensor
6) Li-ion batteri (2x)
7) Batteriholder
8) Han- og hunjumperstrøm
9) Loddejern
10) Oplader
Trin 2: Kredsløbsdiagram
Arbejder:
Inden vi går i gang med projektet, er det vigtigt at forstå, hvordan ultralydssensoren fungerer. Det grundlæggende princip bag ultralydssensorens funktion er som følger:
Ved hjælp af et eksternt trigger -signal gøres Trig -pin på ultralydssensoren logisk høj i mindst 10µs. Et lydsignal fra sendermodulet sendes. Denne består af 8 pulser på 40KHz.
Signalerne vender tilbage efter at have ramt en overflade, og modtageren registrerer dette signal. Echo -stiften er høj fra tidspunktet for afsendelse af signalet og modtagelse af det. Denne tid kan konverteres til afstand ved hjælp af passende beregninger.
Formålet med dette projekt er at implementere en hindring for at undgå robot ved hjælp af ultralydssensor og Arduino. Alle forbindelser foretages i henhold til kredsløbsdiagrammet. Projektets arbejde forklares nedenfor.
Når robotten tændes, kører begge robotens motorer normalt, og robotten bevæger sig fremad. I løbet af denne tid beregner ultralydssensoren kontinuerligt afstanden mellem robotten og den reflekterende overflade.
Disse oplysninger behandles af Arduino. Hvis afstanden mellem robotten og forhindringen er mindre end 15 cm, stopper robotten og scanner i venstre og højre retning efter ny afstand ved hjælp af servomotor og ultralydssensor. Hvis afstanden mod venstre side er mere end den i højre side, forbereder robotten sig til en venstresving. Men først bakker den lidt op og derefter aktiverer venstre hjulmotor i omvendt retning.
På samme måde, hvis den rigtige afstand er mere end den for den venstre afstand, forbereder robotten højre rotation. Denne proces fortsætter for evigt, og robotten bliver ved med at bevæge sig uden at ramme nogen forhindring.
Trin 3: Programmering af Arduino UNO
#omfatte
#omfatte
#omfatte
# definer TRIG_PIN A1
# definer ECHO_PIN A0
# definer MAX_DISTANCE 200
# definere MAX_SPEED 255 // indstiller DC -motorers hastighed
# definere MAX_SPEED_OFFSET 20
NewPing -ekkolod (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor3 (3, MOTOR34_1KHZ);
AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo myservo;
boolsk goesForward = false;
int afstand = 100; int speedSet = 0;
ugyldig opsætning () {
myservo.attach (10);
myservo.write (115); forsinkelse (2000); distance = readPing (); forsinkelse (100); distance = readPing (); forsinkelse (100); distance = readPing (); forsinkelse (100); distance = readPing (); forsinkelse (100); }
void loop () {
int distanceR = 0; int distanceL = 0; forsinkelse (40);
hvis (afstand <= 15) {moveStop (); forsinkelse (100); moveBackward (); forsinkelse (300); moveStop (); forsinkelse (200); distanceR = lookRight (); forsinkelse (200); distanceL = lookLeft (); forsinkelse (200);
hvis (distanceR> = distanceL) {
Drej til højre(); moveStop (); } ellers {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }
int lookRight () {
myservo.write (50); forsinkelse (500); int distance = readPing (); forsinkelse (100); myservo.write (115); returafstand; }
int lookLeft () {
myservo.write (170); forsinkelse (500); int distance = readPing (); forsinkelse (100); myservo.write (115); returafstand; forsinkelse (100); }
int readPing () {
forsinkelse (70); int cm = sonar.ping_cm (); hvis (cm == 0) {cm = 250; } cm tilbage; }
void moveStop () {
motor3.run (RELEASE);
motor4.run (RELEASE); }
void moveForward () {
hvis (! goesForward) {
goesForward = true;
motor3.run (FREM);
motor4.run (FREM); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // langsomt sænke hastigheden for at undgå at nedlade batterierne for hurtigt {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); forsinkelse (5); }}}
void moveBackward () {
goesForward = falsk;
motor3.run (BACKWARD);
motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // langsomt sænke hastigheden for at undgå at nedlade batterierne for hurtigt {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); forsinkelse (5); }}
void turnRight () {
motor3.run (FREM);
motor4.run (BACKWARD); forsinkelse (500);
motor3.run (FREM);
motor4.run (FREM); }
void turnLeft () {
motor3.run (BACKWARD);
motor4.run (FREM); forsinkelse (500);
motor3.run (FREM);
motor4.run (FREM); }
1) Download og installer Arduino Desktop IDE
- vinduer -
- Mac OS X -
- Linux -
2) Download og indsæt filen NewPing -bibliotek (Ultrasonic sensor function library) i mappen Arduino biblioteker.
- Download NewPing.rar herunder
- Udpak den til stien - C: / Arduino / libraries
3) Upload koden til Arduino -kortet via et USB -kabel
Downloadkode:
Trin 4: Fantastisk
Nu er din robot klar til at undgå enhver forhindring …
Jeg vil med glæde besvare eventuelle spørgsmål, du har
E -mail mig: [email protected]
Websted:
Abonner på min YouTube-kanal:
Instagram:
Facebook:
Tak skal du have:)
Anbefalede:
Sådan laver du en DIY Arduino Gesture Control Robot derhjemme: 4 trin
Sådan laver du en DIY Arduino Gesture Control Robot derhjemme: Sådan laver du en DIY Arduino Gesture Control Robot derhjemme. I dette projekt vil jeg vise dig, hvordan du laver en DIY Arduino Gesture Control Robot
Sådan laver du en forhindring for at undgå robot: 6 trin
Sådan laver du en forhindring for at undgå robot: Hindring for at undgå robot er en simpel robot, der betjenes af en arduino, og det gør, at den bare strejfer rundt og undgår forhindringer. Det registrerer forhindringerne med en HC-SR04 ultralydssensor med andre ord, hvis robotten registrerer genstand tæt på
DIY Arduino -forhindring Undgå bil derhjemme: 5 trin
DIY Arduino Obstacle Undgå bil derhjemme: I denne artikel vil jeg vise dig, hvordan du laver en Arduino Obstacle Undgår bil derhjemme
Sådan laver du en forhindring for at undgå robot ved hjælp af Arduino: 5 trin
Sådan gør du en forhindring Undgå robot ved hjælp af Arduino: I denne instruktive vil jeg lære dig, hvordan du laver en forhindring for at undgå robot, der arbejder med Arduino. Du skal være fortrolig med Arduino. Arduino er et controller board, der bruger atmega microcontroller. Du kan bruge enhver version af Arduino, men jeg har
Sådan laver du forhindringer for at undgå robot- Arduino-stil: 4 trin
Sådan laver du forhindringer for at undgå robot- Arduino-stil: Du har altid ønsket at lave en af de seje robotter, der stort set kan undgå ethvert objekt. Alligevel havde du ikke penge nok til at købe en af de virkelig dyre, med allerede udskårne dele, hvor alle materialer var der for dig. Hvis du er som