
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02


Hvordan bygge et hinder for å unngå robot
Trinn 1: Black Box

det første trinnet brukte jeg en svart boks som base for roboten min.
Trinn 2: Arduino

Arduino er hjernen i hele systemet og orkestrerer motorene våre
Trinn 3: Fest Arduino til Blackbox

Jeg festet arduinoen til blackboxen med varmt lim
Trinn 4: Ultralydsensor

For å lage en robot som kan bevege seg alene trenger vi en slags inngang, en sensor som passer målet vårt. En ultralydsensor er et instrument som måler avstanden til et objekt ved hjelp av ultralyds lydbølger. En ultralydsensor bruker en transduser til å sende og motta ultralydspulser som videresender informasjon om et objekts nærhet
Trinn 5: Tilkobling av sensor til brødbrett til Arduino


Jeg brukte ledninger til å male forbindelsen mellom brødbrettet og arduino.
Vær oppmerksom på at ping -sensoren din kan ha en annen pin -layout, men den bør ha en spenningspinne, jordet pin, trig -pin og en ekko -pin.
Trinn 6: Motorskjerm

Arduino -kort kan ikke styre likestrømsmotorer alene, fordi strømmen de genererer er for lav. For å løse dette problemet bruker vi motorskjerm. trinnmotor. … Ved å adressere disse pinnene kan du velge en motorkanal å starte, spesifisere motorretningen (polaritet), stille inn motorhastighet (PWM), stoppe og starte motoren og overvåke strømabsorpsjonen til hver kanal
Trinn 7: Koble motorskjermen til Arduino

Bare fest motorskjermen til arduinoen med sensortrådene knust inn
Trinn 8: Koble de 4 motorene og batteriene til skjoldet

Hvert motorskjerm har (minst) to kanaler, en for motorene og en for en strømkilde, koble dem til hverandre
Trinn 9: Programmer roboten
kjør denne koden
#include #include
NewPing -ekkolodd (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 myservo;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
boolsk goesForward = false; int avstand = 80; int speedSet = 0;
ugyldig oppsett () {
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 distanse L = 0; forsinkelse (40); if (avstand <= 15) {moveStop (); forsinkelse (50); Flytt tilbake(); forsinkelse (150); moveStop (); forsinkelse (100); distanceR = lookRight (); forsinkelse (100); distanceL = lookLeft (); forsinkelse (100);
if (distanceR> = distanceL) {turnRight (); moveStop (); } annet {turnLeft (); moveStop (); }} annet {moveForward (); } distanse = readPing (); }
int lookRight () {myservo.write (50); forsinkelse (250); int distance = readPing (); forsinkelse (50); myservo.write (100); returavstand; }
int lookLeft () {myservo.write (120); forsinkelse (300); int distance = readPing (); forsinkelse (100); myservo.write (115); returavstand; forsinkelse (100); }
int readPing () {forsinkelse (70); int cm = sonar.ping_cm (); hvis (cm == 0) {cm = 200; } retur cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (RELEASE); motor3.run (RELEASE); motor4.run (RELEASE); } void moveForward () {
hvis (! goesForward) {goesForward = true; motor1.run (FREM); motor2.run (FREM); motor3.run (FREM); motor4.run (FREM); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); forsinkelse (5); }}}
void moveBackward () {goesForward = false; motor1.run (BACKWARD); motor2.run (TILBAKE); motor3.kjøring (TILBAKE); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); forsinkelse (5); } void turnLeft () {motor1.run (BACKWARD); motor2.run (TILBAKE); motor3.run (FREM); motor4.run (FREM); forsinkelse (500); motor1.run (FREM); motor2.run (FREM); motor3.run (FREM); motor4.run (FREM); }
void turnLeft () {motor1.run (BACKWARD); motor2.run (TILBAKE); motor3.run (FREM); motor4.run (FREM); forsinkelse (500); motor1.run (FREM); motor2.run (FREM); motor3.run (FREM); motor4.run (FREM); }
Anbefalt:
Hindring for å unngå LEGO Robot: 8 trinn (med bilder)

Hindring for å unngå LEGO Robot: Vi elsker LEGO, og vi elsker også Crazy Circuits, så vi ønsket å kombinere de to til en enkel og morsom robot som kan unngå å løpe inn i vegger og andre gjenstander. Vi viser deg hvordan vi bygde vårt, og skisserer det grunnleggende som trengs, slik at du kan bygge din egen
Hindring for å unngå robot ved bruk av Arduino Nano: 5 trinn

Hindring for å unngå robot ved hjelp av Arduino Nano: I denne instruksen skal jeg beskrive hvordan du kan hindre en robot ved å bruke Arduino
Hindring for å unngå padlebåt med Arudino: 9 trinn

Hindring for å unngå padlebåt med Arudino: Hei venner, i denne opplæringen vil jeg vise deg hvordan du lager en hindring for å unngå padlebåt. Jeg kom på denne ideen mens jeg slapp av i nærheten av fiskedammen min og tenkte på en idé for en plastisk utfordring. Jeg innså at plasten her vil være veldig
5 i 1 Arduino Robot - Følg meg - Linjefølge - Sumo - Tegning - Hindring for å unngå: 6 trinn

5 i 1 Arduino Robot | Følg meg | Linjefølge | Sumo | Tegning | Hindring for å unngå: Dette robotstyrkortet inneholder en ATmega328P -mikrokontroller og en L293D -motordriver. Selvfølgelig er det ikke annerledes enn et Arduino Uno -kort, men det er mer nyttig fordi det ikke trenger et annet skjold for å drive motoren! Det er hoppfritt
Robot for hindring av hindring for tung nyttelast: 6 trinn

Obstruksjonsrobot for å bære tung nyttelast: Dette er en hindringsrobot som er bygget for å bære min sønns rocker