INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Ek bou vir die plesier 'n robot wat ek outonoom in 'n huis wil skuif.
Dit is 'n lang werk en ek doen dit stap vir stap.
Hierdie instruksionele fokus op die opsporing van hindernisse met Arduino Mega
Ultrasoniese sensors HC-SR04 vs HY-SRF05 is goedkoop en eenvoudig om te gebruik, maar dit kan moeilik wees om in die mikrobeheerderlus in 'n komplekse robot te integreer. Ek wou hindernisopsporing op 'n asynchrone manier uitvoer.
_
Ek het reeds 3 instruksies oor die kenmerke van hierdie robot gepubliseer:
- Maak u wielkodeerder
- Maak u WIFI -gateway
- Gebruik traagheidsmodule -eenheid
En 'n dokumentasie oor die kombinasie van kunsmatige intelligensie en ultraklank om die robot te lokaliseer.
Stap 1: Wat is presies die probleem met ultrasoniese sensors en mikrobeheerders?
Synchrone wag en Arduino beperkings
Die kode vir mikrobeheerders loop in 'n lus en ondersteun nie multi-threads nie. Ultrasoniese sensors is gebaseer op seinduur. Hierdie duur duur tot 30 m s, wat baie lank is om in die lus te wag as die mikrobeheerders met veelvuldige motors en sensors te doen het (byvoorbeeld servo- en GS -motors met wielkoders).
Ek wou dus 'n voorwerp ontwikkel wat asynchroon loop.
Stap 2: Hoe werk dit?
Dit is ontwerp vir Atmega vir die opsporing van hindernisse. Dit ondersteun tot 4 ultrasoniese sensors.
Danksy periodieke tydsonderbreking kan die stelsel tot 4 ultrasoniese sensors monitor. Die hoofkode hoef slegs te bepaal watter sensor met toestand en drempel moet geaktiveer word.
Die belangrikste funksies is:
- Waarskuwing is die basiese hindernisopsporing en bied onderbrekings as ten minste 1 van die 4 sensors 'n afstand onder sy drempel opspoor
- Monitor is 'n uitgebreide funksie wat onderbrekings bied op 'n kombinasie van afstandstoestand van tot 4 sensors. Die moontlike toestande is verby, onder, gelyk of nie gelyk aan drempels nie.
Stap 3: Tegniese besonderhede
Gebruik timer4 sodat pen 6 7 8 nie as PWM gebruik kan word nie.
Vir elke sensor benodig die voorwerp 'n sneller -PIN en 'n onderbrekings -PIN.
Bo -op die sensors onderbreek PIN's, het die voorwerp 'n ander PIN nodig om sagteware te gebruik.
Stap 4: Hoe om dit te implementeer?
Koppel die sensors soos hierbo
Laai af vanaf hierdie GitHub -bewaarplek
- EchoObstacleDetection.cpp,
- EchoObstacleDetection.h
- VoorbeeldEchoObstacleDetection.ino
Skep die gids EchoObstacleDetection in u IDE -biblioteek en skuif die.cpp en.h
Toets dit
Maak voorbeeldEchoObstacleDetection.ino oop.
Dit is 'n eenvoudige voorbeeld van die opsporing van struikelblokke met 2 ultrasoniese sensors.
Die uitset word op die seriële monitor gerig. Eerstens druk dit die afstande wat deur die twee sensors opgespoor word, af en druk dan waarskuwings na gelang van afstande onder drempels.