Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
En dag hittade jag en intressant video på: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_aiomsg detta är verkligen en bra video …
Vid första anblicken känner jag att det är riktigt konstigt, och sedan lurade fötterna, jag vet inte vad som är den främsta anledningen till att denna designer gjorde en så vilseledande historia … det är omöjligt med en enkel IR -sensor, eller till och med utan någon styrenhet men bara enkla trioder.
Jag känner inte killen och hela historien, jag försöker bara göra det själv. Jag har precis gjort min egen design, med mycket enkla moduler:
- Alla Arduino -kompatibla styrenheter som Maduino
- L298N motorförare
- 3x IR -sensor
- Några vanliga hoppare
Steg 1: Hindradetektering
Det används 3 IR-sensorer för att upptäcka hindret, och vänster/höger sensor upptäckte hindret, det bör roteras mot klockan/antiklockningsriktningen, medan den mellersta sensorn detekterade, är det helt okej.
Sensorn 3 känner av om det finns något hinder framför. Ansluter signalstiftet till Maduino -ingångsstiften, till exempel Pin2/3/4;
Som programvara kan du enkelt kontrollera sensorns utgångsstatus för att bestämma vad motorn ska göra:
if (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // Om mellansensorn upptäcker hindret stannar motorstoppet
{
analogWrite (EN, 0);
Sluta();
}
if (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // om den rätta sensorn detekterar det hinder, motorn bakåt med hög hastighet;
{
analogWrite (EN, höghastighet);
Omvänd();
}
if (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // om
högra och mellersta sensorn upptäcker den hindrande motorn bakåt med låg hastighet;
{
analogWrite (EN, låg hastighet);
Omvänd();
}
……
Steg 2: Motorstyrning
Och en motorförare som driver motorn, med hög/låg hastighet, beror på sensorstatus.
Använd en L298N -modul för att driva motorn, med Maduino pin5/6, och PWM -stift (Maduino Pin9) till L298N Aktivera stift, och driv modulen med 9V:
int EN = 9; // PWM -kontroll
int highspeed = 80; // definiera hög hastighet
int låg hastighet = 60; // definiera låg hastighet
och sedan kan motorvarvtalet styras av:
analogWrite (EN, höghastighet);
Steg 3: Installera något där, en sådan hund …
Installera sensorerna och motorerna och gör något på, för mig, jag gillar en hund som leker med min 1,5 år gamla dotter. Ladda ner Arduino -koden här … gratis att kontakta mig: [email protected] om du har några frågor