
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40


Kuidas ehitada takistusi robotit vältides
Samm: must kast

Esimese sammuna kasutasin oma roboti aluseks musta kasti.
Samm: Arduino

Arduino on kogu süsteemi aju ja korraldab meie mootoreid
Samm: Arduino kinnitamine Blackboxi

Kinnitasin arduino kuuma liimi abil musta kasti külge
Samm: ultraheli andur

Selleks, et teha robot, mis suudab ise liikuda, vajame mingisugust sisendit, andurit, mis sobib meie eesmärgiga. Ultraheliandur on seade, mis mõõdab kaugust objektini ultrahelilainete abil. Ultraheliandur kasutab andurit ultraheliimpulsside saatmiseks ja vastuvõtmiseks, mis edastavad teavet objekti läheduse kohta
Samm: anduri ühendamine leivalauaga Arduinoga


Ma kasutasin juhtmeid leivalaua ja arduino vahelise ühenduse loomiseks.
Pöörake tähelepanu sellele, et teie ping -anduril võib olla erinev tihvtide paigutus, kuid sellel peaks olema pinge-, maandus-, käivitus- ja kajapolt.
6. samm: mootorikilp

Arduino lauad ei saa alalisvoolumootoreid ise juhtida, kuna nende tekitatavad voolud on liiga madalad. Selle probleemi lahendamiseks kasutame mootorikilpe. Mootori kilbil on 2 kanalit, mis võimaldab juhtida kahte alalisvoolumootorit või 1 samm -mootor. … Nende tihvtide abil saate valida käivitatava mootorikanali, määrata mootori suuna (polaarsuse), määrata mootori kiiruse (PWM), peatada ja käivitada mootori ning jälgida iga kanali voolu neeldumist
Samm: ühendage mootorikilp Arduinoga

Lihtsalt kinnitage mootorikilp arduino külge, anduri juhtmed on krigistatud
Samm: 4 mootori ja aku ühendamine kilbiga

Igal mootorikilbil on (vähemalt) kaks kanalit, üks mootoritele ja teine toiteallikale, ühendage need üksteise suhtes
Samm: programmeerige robot
käivitage see kood
#kaasama #kaasama
NewPingi sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMootorimootor1 (1, MOTOR12_1KHZ); AF_DCMootorimootor2 (2, MOTOR12_1KHZ); AF_DCMootorimootor3 (3, MOTOR34_1KHZ); AF_DCMootorimootor4 (4, MOTOR34_1KHZ); Servo myservo;
#defineeri TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
tõeväärtus läheb Edasi = vale; int kaugus = 80; int speedSet = 0;
tühine seadistus () {
myservo.attach (10); myservo.write (115); viivitus (2000); kaugus = readPing (); viivitus (100); kaugus = readPing (); viivitus (100); kaugus = readPing (); viivitus (100); kaugus = readPing (); viivitus (100); }
void loop () {int kaugusR = 0; int kaugusL = 0; viivitus (40); if (kaugus <= 15) {moveStop (); viivitus (50); moveBackward (); viivitus (150); moveStop (); viivitus (100); kaugusR = lookRight (); viivitus (100); kaugusL = lookLeft (); viivitus (100);
if (kaugusR> = kaugusL) {turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } kaugus = readPing (); }
int lookRight () {myservo.write (50); viivitus (250); int kaugus = readPing (); viivitus (50); myservo.write (100); tagasisõidu kaugus; }
int lookLeft () {myservo.write (120); viivitus (300); int kaugus = readPing (); viivitus (100); myservo.write (115); tagasisõidu kaugus; viivitus (100); }
int readPing () {delay (70); int cm = sonar.ping_cm (); kui (cm == 0) {cm = 200; } tagasitulek cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (RELEASE); motor3.run (RELEASE); motor4.run (RELEASE); } void moveForward () {
kui (! läheb Edasi) {läheb Edasi = tõsi; mootor1.jooks (EDASI); motor2.run (EDASI); motor3.run (EDASI); motor4.run (EDASI); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); viivitus (5); }}}
void moveBackward () {goForward = false; motor1.run (TAGASI); motor2.run (TAGASI); motor3.run (TAGASI); motor4.run (TAGASI); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); viivitus (5); } void turnLeft () {motor1.run (BACKWARD); motor2.run (TAGASI); motor3.run (EDASI); motor4.run (EDASI); viivitus (500); mootor1.jooks (EDASI); motor2.run (EDASI); motor3.run (EDASI); motor4.run (EDASI); }
void turnLeft () {motor1.run (BACKWARD); motor2.run (TAGASI); motor3.run (EDASI); motor4.run (EDASI); viivitus (500); mootor1.jooks (EDASI); motor2.run (EDASI); motor3.run (EDASI); motor4.run (EDASI); }
Soovitan:
Takistus LEGO roboti vältimine: 8 sammu (koos piltidega)

Takistus LEGO roboti vältimine: Me armastame LEGOd ja armastame ka hullumeelseid ringradu, nii et tahtsime need kaks ühendada lihtsaks ja lõbusaks robotiks, mis väldib seintesse ja muudesse objektidesse sattumist. Näitame teile, kuidas me oma ehitasime, ja kirjeldame vajalikke põhitõdesid, et saaksite ise luua
5 ühes Arduino robot - Jälgi mind - Rida järgides - Sumo - Joonis - Takistuste vältimine: 6 sammu

5 ühes Arduino robot | Jälgi mind | Rida järgides | Sumo | Joonis | Takistuste vältimine: see roboti juhtpaneel sisaldab ATmega328P mikrokontrollerit ja L293D mootori draiverit. Muidugi ei erine see Arduino Uno plaadist, kuid see on kasulikum, kuna see ei vaja mootori juhtimiseks teist kaitsekilpi! See on hüppest vaba
Roveri vältimine Dexteriga: 4 sammu

Takistuste vältimine Roveriga Dexteriga: Kui olete Dexteri kogukonnas uus, vaadake palun https://www.instructables.com/id/Getting-Started-With-Dexter/ ja ultraheli andur
Arduino Bluetooth -robotiauto: 18 sammu (piltidega)

Arduino Bluetooth-robotiauto: ehitage oma esimene Arduino robot-auto! Kõige täielikumad ja põhjalikumad samm-sammult visuaalsed juhised oma esimese Arduino Bluetooth-robotauto ehitamiseks. Nautige
Robotiauto Bluetoothi, kaamera ja MIT App Inventoriga 2: 12 sammu (piltidega)

Robotiauto Bluetoothi, kaamera ja MIT App Inventor2 abil: kas olete kunagi tahtnud oma robotiautot ehitada? Noh … see on sinu võimalus !! Selles juhendis tutvustan teile, kuidas teha Bluetooth -auto ja MIT App Inventor2 abil juhitavat robotautot. Pange tähele, et olen algaja ja see on minu esimene instakt