Hoe meitsje jo in ienfâldige robot

Hoe meitsje jo in ienfâldige robot

It bouwen fan in ienfâldige robot is in leuke manier om te learen oer elektroanika, basismeganika en programmearjen. In protte minsken tinke dat robots djoer en yngewikkeld wêze moatte, mar jo kinne eins begjinne mei in lyts projekt dat maklik thús yninoar te setten is. Yn dit artikel sille wy in ienfâldige robot bouwe dy't obstakels ûntwykt mei ultrasone sensoren. Dizze robot kin foarút rinne en automatysk draaie as er in objekt foar him detektearret. Dit projekt is geskikt foar begjinners, studinten, of elkenien dy't robotika leare wol.

1. Begryp it konsept fan ienfâldige robots

Yn 't algemien hawwe robots trije haadkomponinten: it brein (controller), de sintugen (sensors) en de spieren (aktuators). Yn dit projekt:

– Kontrôler: Arduino Uno (of kompatibel)
– Sensor: HC-SR04 ultrasone sensor foar it mjitten fan ôfstân
– Aktuator: Gelijkstroommotor dy't de tsjillen oandriuwt
– Motorbestjoerder: L298N (of L293D) motorbestjoerder sadat de motor troch Arduino bestjoerd wurde kin

As de sensor de ôfstân foar de robot lêst en de ôfstân te lyts is, sil de Arduino de motorbestjoerder opdracht jaan om de rjochting fan beweging te feroarjen, bygelyks rjochts of lofts te draaien.

2. Nedich ark en materialen

Hjir is in list mei faak brûkte komponinten dy't maklik te finen binne yn elektroanikawinkels of merken:

1. Arduino Uno (1 stik)
2. L298N motorbestjoerder (1 stik)
3. HC-SR04 ultrasone sensor (1 stik)
4. Gelijkstroommotor + fersnellingsbak en tsjillen (2 stikken) foar 2-tsjil robot (differinsjaal oandriuwing)
5. Tsjil (1 stik) lyts balansearjend tsjil oan 'e foar- of efterkant
6. Batterijen (bygelyks 2 × 18650 of 7,4V-pakket) of 6xAA, neffens de behoeften fan 'e motor
7. Robotchassis (kin klearmakke kocht wurde of makke wurde fan acryl/multipleks)
8. Jumperkabels (manlik-froulik en manlik-manlik)
9. Oan/út-skeakel (opsjoneel, mar tige handich)
10. Lyts breaplankje (opsjoneel)
11. Bouten, moeren, skroevedraaiers en hjitte lym as nedich

As jo ​​wat noch ienfâldiger wolle (sûnder ultrasone sensoren), kinne jo in "linefolger"-robot bouwe mei linesensoren, mar ferzjes dy't obstakels foarkomme, fiele faak mear "libbend" om't se reagearje op objekten foar har.

LÊZE  Basisteory fan elektromagnetyske weagen

3. It ûntwerpen fan it robotchassis

It chassis is it frame wêrop alle ûnderdielen monteard binne. Jo kinne in klearmakke chassis-kit brûke of jo eigen bouwe fan lichtgewicht materialen lykas acryl, PVC of tin hout. It prinsipe is:

– Monteer twa gelijkstroommotors oan 'e lofter- en rjochterkant.
- Ynstallearje de tsjillen op 'e motorfyts.
– Foegje in tsjil ta as balansearder om de robot stabyl te meitsjen.
– Plak de batterij yn in posysje dy't de robot net kantelt.
– De Arduino en motordrivers moatte boppe pleatst wurde foar maklike tagong.

Soargje derfoar dat de kabel net nei ûnderen hinget, sadat er net yn 'e tsjillen fêst komt te sitten.

4. Basis bedradingsskema

Hjir is in algemien ferbiningskonsept (pinnen binne oanpasber):

a) Motor nei bestjoerder L298N
– Linker motor nei útfier OUT1 en OUT2
– Rjochtermotor nei útfier OUT3 en OUT4

b) L298N-stjoerprogramma nei Arduino
– IN1, IN2 foar linker motor nei guon digitale Arduino-pinnen
– IN3, IN4 foar rjochter motor nei guon digitale Arduino-pinnen
– ENA en ENB (ynskeakelje) kinne ferbûn wurde mei de Arduino PWM-pinnen om de snelheid te kontrolearjen (opsjoneel). As dat net it gefal is, hawwe guon L298N-modules al in ynskeakelje-jumper om de motor op folle snelheid te litten draaie.

c) HC-SR04 Sensor nei Arduino
– VCC nei 5V Arduino
– GND nei GND Arduino
– TRIG nei de digitale pin fan 'e Arduino
– ECHO nei Arduino digitale pin

d) Krêft
De motor hat mear stroom nedich as de Arduino leverje kin. Dêrom:
– De haadbatterij giet nei de motordriver (+12V- en GND-terminals op 'e L298N).
– Arduino kin ek fan in batterij (fia VIN) of in aparte powerbank/USB oandreaun wurde.
– Grûn: De batterij/driver GND en de Arduino GND moatte ferbûn wêze foar it kontrôlesignaal om stabyl te wêzen.

De meast foarkommende flater ûnder begjinners is ferjitten om de GND yninoar te setten, sadat de robot ûnregelmjittich beweecht.

LÊZE  Ynlieding ta smart grid-netwurken

5. De wurklogika fan 'e robot foar it foarkommen fan obstakels

De robot sil wurkje mei in ienfâldige flow:

1. Lês de ôfstân fan 'e ultrasone sensor ôf.
2. As de ôfstân grutter is as de drompel (bygelyks 20 sm), beweecht de robot foarút.
3. As de ôfstân ≤ 20 sm is, stoppet de robot efkes.
4. De robot beweecht in bytsje tebek en draait dan (bygelyks nei rjochts) foar in pear hûndert millisekonden.
5. Lês de ôfstân nochris ôf en werhelje dit.

Mei dit patroan sil it lykje as oft de robot obstakels "ûntwykt", sels as er net it meast optimale paad kiest.

6. Ienfâldich Arduino-koadefoarbyld

Hjirûnder is in foarbyld fan in basiskoade. Jo kinne de pinnen oanpasse oan jo sirkwy:

"'cpp
definiearje TRIG 8
definiearje ECHO 9

// Linker motor
definiearje IN1 2
definiearje IN2 3

// Rjochter motor
definiearje IN3 4
definiearje IN4 5

lange doer;
int ôfstân;

int lêsOfstân() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HEGE);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);

doer = pulseIn(ECHO, HIGH);
int cm = doer 0.034 / 2;
werom cm;
}

leechte foarút() {
digitalWrite(IN1, HEGE);
digitaalWrite(IN2, LOW);
digitalWrite(IN3, HEGE);
digitaalWrite(IN4, LOW);
}

void omkearde() {
digitaalWrite(IN1, LOW);
digitalWrite(IN2, HEGE);
digitaalWrite(IN3, LOW);
digitalWrite(IN4, HEGE);
}

void rjochtsôfslaan() {
digitalWrite(IN1, HEGE);
digitaalWrite(IN2, LOW);
digitaalWrite(IN3, LOW);
digitalWrite(IN4, HEGE);
}

leechte stop() {
digitaalWrite(IN1, LOW);
digitaalWrite(IN2, LOW);
digitaalWrite(IN3, LOW);
digitaalWrite(IN4, LOW);
}

lege opset () {
pinMode(TRIG, ÚTVOER);
pinMode(ECHO, YNFIER);

pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

Serial.begin (9600);
}

leechte loop () {
ôfstân = lêsôfstân();
Serial.println(ôfstân);

as (ôfstân > 20) {
trochgean();
} Else {
ophâlde();
fertraging (200);
omkeare();
fertraging (300);
ophâlde();
fertraging (200);
gean rjochts();
fertraging (400);
ophâlde();
}

fertraging (50);
}
""

Dizze koade is de meast basale ferzje. As de robot te faak crasht, kinne jo de drompel ferheegje nei 25-30 sm of de draaitiid ferheegje.

7. Testen en ôfstimmen

Sadree't de robot yninoar set is, fier dan stap-foar-stap testen út:

1. Test earst de motor: brûk de foarút/efterút-funksje om te soargjen dat de tsjillen yn 'e juste rjochting draaie.
2. Test de ultrasone sensor: sjoch de ôfstânsresultaten yn 'e Arduino IDE Serial Monitor.
3. Kombinearje it systeem: fier it folsleine programma út en observearje de reaksje fan 'e robot.

LÊZE  Hoe wurket in elektromotor?

As de robot efterút draait of beweecht wylst er foarút moatte, moatte jo miskien de motorkabels omwikselje of de IN1-IN2 (en IN3-IN4) logika omkeare.

8. Faak foarkommende problemen en oplossingen

Guon obstakels dy't faak ûntsteane:

– Robot beweecht hielendal net: kontrolearje batterij, kontrolearje motorbestjoerder, soargje derfoar dat de ynskakeljumper aktyf is.
– Arduino reset wylst de motor draait: ûnfoldwaande stroomfoarsjenning of motorlûd. Besykje in aparte batterij foar de Arduino te brûken, in kondensator ta te foegjen en de ierde te reparearjen.
– De ôfstânssensorlêzing is ynstabyl: soargje derfoar dat de sensor rjochtút wiist, hâld him fuort fan oermjittige trillingen, en soargje derfoar dat de kabel net los sit.
– De robot sit "fêst" yn in hoeke: foegje logika foar willekeurige draaien ta of brûk servo's om de sensoren te ferpleatsen, sadat se nei lofts en rjochts "sjen" kinne.

9. Untwikkelingsideeën nei sukses

As de basisrobot ienris oan 'e gong is, kinne jo it opwurdearje nei wat ynteressanters:

– Servo's tafoegje om de ultrasone sensoren te ferpleatsen, sadat de robot it bêste paad kiest.
– Bluetooth-kontrôle tafoege (HC-05), sadat it fan in mobile tillefoan bestjoerd wurde kin.
– Mei help fan linesensors in linefolgerrobot meitsje.
- Pas de PWM-snelheid oan foar soepeler beweging.
– Foegje in buzzer of LED ta as yndikator by it detektearjen fan in obstakel.

Konklúzje

It bouwen fan in ienfâldige robot hoecht net dreech te wêzen. Mei in Arduino, in DC-motor, in motordriver en in ultrasone sensor kinne jo in robot meitsje dy't automatysk kin bewege en obstakels ûntwike. De kaaien ta sukses binne nette bedrading, foldwaande middels en yngeande testen. As jo ​​dit projekt ienris goed dien hawwe, sille jo better taret wêze om kompleksere robotikaprojekten oan te pakken, lykas in kamera-basearre tûke robot of ien dy't objekten folgje kin.

As jo ​​wolle, kin ik jo helpe by it meitsjen fan in detaillearre bedradingsdiagram neffens de pinnen dy't jo kieze, of de koade oanpasse sadat de robot willekeurich links/rjochts kin draaie en "yntelliginter" wêze kin.

Lit in reaksje achter