Innholdsfortegnelse:
- Trinn 1: Hva er problemet med ultralydsensorer og mikrokontrollere?
- Trinn 2: Hvordan fungerer det?
- Trinn 3: Tekniske detaljer
- Trinn 4: Hvordan implementere?
Video: Oppdag hindringer asynkront med ultralyd: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Jeg bygger for moro skyld en robot som jeg vil flytte autonomt inne i et hus.
Det er et langt arbeid, og jeg gjør trinn for trinn.
Dette instruerbare fokuset på gjenkjenning av hindringer med Arduino Mega
Ultralydsensorer HC-SR04 vs HY-SRF05 er billige og enkle å bruke, men kan bli vanskelige å integrere i mikrokontrollersløyfen i en kompleks robot. Jeg ønsket å kjøre hindringsdeteksjon på en asynkron måte.
_
Jeg har allerede publisert 3 instrukser om funksjonene til denne roboten:
- Lag din hjulkoder
- Lag din WIFI -gateway
- Bruk treghetsmodulenhet
Og en dokumentasjon om å kombinere kunstig intelligens og ultralyd for å lokalisere roboten.
Trinn 1: Hva er problemet med ultralydsensorer og mikrokontrollere?
Synkron ventetid og Arduino -begrensninger
Mikrokontrollerkoden kjøres i en sløyfe og støtter ikke flertråd. Ultralydsensorer er basert på signalvarighet. Denne varigheten varer opptil 30 m s som er veldig lang å vente på inne i sløyfen når mikrokontrollerne må håndtere flere motorer og sensorer (for eksempel servo- og likestrømsmotorer med hjulkodere).
Så jeg ønsket å utvikle et objekt som kjører asynkront.
Trinn 2: Hvordan fungerer det?
Den er designet for Atmega for gjenkjenning av hindringer. Den støtter opptil 4 ultralydsensorer.
Takket være periodisk tidsavbrudd kan systemet overvåke opptil 4 ultralydsensorer. Hovedkoden må bare definere hvilken sensor som skal aktiveres med tilstand og terskel. Hoveddelen vil bare bli avbrutt i tilfelle (tilstand, terskel) vises.
Hovedfunksjonene er:
- Varsel er den grunnleggende hinderdeteksjonen og gir avbrudd hvis minst 1 av de 4 sensorene oppdager en avstand under terskelen
- Monitor er en utvidet funksjon som gir avbrudd på en kombinasjon av avstandstilstand på opptil 4 sensorer. De mulige forholdene er over, under, like eller ikke lik terskler.
Trinn 3: Tekniske detaljer
Bruk timer4 så pin 6 7 8 ikke kan brukes som PWM.
For hver sensor trenger objektet en utløserkode og en avbruddskode.
På toppen av sensorene avbryter PIN -koder objektet trenger en annen avbrutt PIN for programvarebruk.
Trinn 4: Hvordan implementere?
Koble sensorene som ovenfor
Last ned fra dette GitHub -depotet
- EchoObstacleDetection.cpp,
- EchoObstacleDetection.h
- EksempelEchoObstacleDetection.ino
Lag EchoObstacleDetection -katalogen inne i IDE -biblioteket og flytt.cpp og.h
Test det
Åpne eksempelEchoObstacleDetection.ino.
Dette er et enkelt eksempel på gjenkjenning av hindringer med 2 ultralydsensorer.
Utgangen er rettet på seriell skjerm. Først vil den skrive ut avstander som er oppdaget av de to sensorene, og deretter skrive ut varsler avhengig av avstander under terskler.
Anbefalt:
Oppdag vibrasjoner ved hjelp av en piezoelektrisk støttappemodul: 6 trinn
Oppdag vibrasjoner ved hjelp av en piezoelektrisk støttappsmodul: I denne opplæringen lærer vi hvordan du oppdager støtvibrasjoner ved hjelp av en enkel piezoelektrisk sensor -vibrasjonsmodul og Visuino. Se en demonstrasjonsvideo
Oppdag bevegelse og ødelegg mål! Autonomt DIY -prosjekt: 5 trinn
Oppdag bevegelse og ødelegg mål! Autonomous DIY Project: Detect Motion and Destroy Target! I denne videoen viser jeg deg hvordan du bygger et DIY bevegelsessporingsprosjekt med en Raspberry Pi 3. Prosjektet er autonomt, så det beveger seg og skyter pistolen når den oppdager bevegelse. Jeg brukte lasermodul for dette prosjektet, men du
Boe-Bot: Robot for hindring av hindringer: 6 trinn
Boe-Bot: Robot for hindring av hindringer: Denne lille roboten bruker whiskers for å oppdage hindringer. Når en eller begge whiskers blir utløst, rygger han og vender seg til en annen retning. Ellers går han videre. Drevet av 4 AA -batterier, lar Paralax hovedkort dette lille
Oppdage hindringer og advarsler - Arduino UNO og ultralyd: 4 trinn (med bilder)
Oppdage hindringer og advarsler - Arduino UNO og ultralyd: Dette er veiledning for å hjelpe deg med å forstå ultralyd og summer og gå dypere inn i å lære Arduino, følg disse trinnene og gi meg tilbakemelding
Vurderer et Ajax -nettsted med et asynkront påloggingsskjema: 6 trinn (med bilder)
Vurderer et Ajax -nettsted med et asynkront påloggingsskjema: Problemet: Spidering -verktøy tillater ikke AJAX -påloggingsautentisering. Denne instruksjonen viser deg hvordan du logger inn via et AJAX -skjema ved hjelp av Python og en modul som heter Mechanize. Edderkopper er webautomatiseringsprogrammer som blir stadig mer populære