Innholdsfortegnelse:
- Trinn 1: Historie
- Trinn 2: Teori og metodikk
- Trinn 3: Maskinvareoppsett
- Trinn 4: Programvareoppsett
- Trinn 5: Feilsøking
- Trinn 6: Arduino -kode
Video: Enkelt radarsystem fra Magicbit: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Denne opplæringen viser hvordan du lager et enkelt radarsystem ved hjelp av HC-SR04 sensor og Microbit dev board med prosessering og Arduino IDE.
Rekvisita:
- SG90 Mikroservomotor
- Stikkledere (generisk)
- Brødbrett (generisk)
- Magicbit
- USB-A til mikro-USB-kabel
- Ultralydssensor - HC -SR04 (Generisk)
Trinn 1: Historie
I denne opplæringen vil vi lære om hvordan du lager et enkelt radarsystem ved hjelp av Magicbit core dev -bord. For dette formålet bruker vi HC-SR04 ultralydssensor, og for å vise data bruker vi behandlingsmiljø. La oss komme i gang.
Trinn 2: Teori og metodikk
La oss først diskutere hvordan dette fungerer. Prinsippet er veldig enkelt. Først roterer vi sensoren vår rundt vertikal akse i 180 graders område kontinuerlig. Under denne bevegelsen tar vi dataene om avstand til nærmeste objekt fra ultralydsensor i alle vinkler. For denne prosessen bruker vi Magicbit kjernekort. Etterpå må vi etablere forbindelsen til behandlingsmiljøet for å vise dataene våre. Derfor bruker vi seriell kommunikasjonsprotokoll med passende overføringshastighet. Deretter designer vi vårt radarsystemgrensesnitt ved å bruke prosessering IDE. I den IDE konfigurerer vi vår serielle kommunikasjon for å få sanntidsdata via seriell. Så vi kommuniserer i sanntid med Magicbit og viser dataene som sendes fra Magicbit til behandlings -IDE.
Trinn 3: Maskinvareoppsett
For dette prosjektet brukte vi hovedsakelig tre maskinvarekomponenter. De er Magicbit, servomotor og ultralydsensor. Forbindelsen mellom alle disse delene er vist i figuren ovenfor.
Ultralydsensor brukte 3,3 v for oppstart. Derfor brukte vi høyre nedre port på Magicbit -kortet for å koble ultralydssensor til Magicbit. Men servomotor brukes 5V for riktig bruk, derfor brukte vi venstre nedre port for å koble servomotor med Magicbit. I dette tilfellet bruker vi Magic bit servokontaktmodul. Men hvis du ikke har den modulen, kan du bruke tre jumper -ledninger til å koble 5V til 5V, Gnd til Gnd og signalpinne til 26 -pins på magicbit.
Etter å ha bygget kretsen har vi en liten mekanisk del å bygge. sett servokontakt på én side til servomotor ved hjelp av liten mutter. Fest deretter sensoren på kontakten med en L -formet brakett eller på riktig måte. Etter hele systemet fikset vi på brødbrett. Men du kan bruke en annen overflate for å montere servo og Magicbit.
Trinn 4: Programvareoppsett
Programvaresiden er lite kompleks. For riktig forståelse kan du henvise til følgende lenker før du går videre til neste del.
magicbit-arduino.readthedocs.io/en/latest/
hello.processing.org/editor/
La oss se på Arduino IDE -koden og hvordan den koden fungerer.
For å kjøre servo bruker vi ESP32 servobibliotek. Dette biblioteket inkluderer nesten i magic bit board manager i Arduino IDE. For å håndtere ultralydssensor bruker vi newPing -biblioteket. Dette kan lastes ned fra følgende lenke.
bitbucket.org/teckel12/arduino-new-ping/do…
Last ned zip -filen og gå til verktøy> inkluder bibliotek> legg til zip -bibliotek i Arduino. velg nå den nedlastede zip -filen til det nye pin -biblioteket. For kommunikasjon med prosessering brukte vi seriell kommunikasjon med 115200 baudhastighet. Dette er den mest riktige frekvensen for ESP32. I alle vinkler sender vi dataene våre til datamaskinen ved hjelp av denne protokollen. Avstand til nærmeste frontobjekt fra sensoren, rotasjonsretning og rotasjonsvinkel er inkludert i disse dataene. Ved å bruke to for løkker roterer vi servoen vår i to retninger. Mens vi roterte én grad, sendte vi serielle data 4 ganger. Grunnen til det kan du forstå i behandlingen av delforklaringen.
Nå er det på tide å se på behandlingsmiljøet. Dette er Java -basert programmeringsprogramvare. Vi kan skrive skisse av programmet vårt i denne skissen i behandling av IDE. Vi kan også generere visuell utgang fra å kjøre programmet vårt. Du kan også ta utgang som 2D- og 3d -objekter. Ikke bare det, dette kan brukes til bildebehandling og mange flere ting.
I behandlingsskissen først designer vi vårt datavisningsgrensesnitt ved hjelp av enkle grafiske funksjoner. Ved starten av koden etablerer vi vår serielle kommunikasjon ved å inkludere serielle biblioteker. I oppsettfunksjonen må du gjøre noen endringer i henhold til hvilken USB -port du brukte for å koble Magicbit til datamaskinen. du kan sjekke porten din ved hjelp av Arduino IDE når du konfigurerer Arduino IDE for å laste opp koden. Endre deretter navnet på kommandoporten i oppsettdelen i behandlingsskissen. når seriell data er tilgjengelig, utløser Serialevent -funksjonen automatisk. Derfor er hovedlogikken i koden inkludert i seriell hendelse for å forhindre at vinkler og data mangler. når nye data er tilgjengelige, tegner vi en linje i skjermen i henhold til vinkelen vår. På den tiden hvis det ikke er noe objekt detekterer, er hele linjen grønn. Hvis ikke, vil en del av linjen være rød i henhold til avstanden fra sensor til objekt. Også i henhold til rotasjonsretningen tegner vi ytterligere 200 linjer nær den linjen med synkende nivå av grønn farge. mellom hver Main har vi 0,25 graders forskjell. Derfor får vi 4 avlesninger om gangen fra Magicbit i hver graders rotasjon. På grunn av det kan vi lage vakker søkende hånd i skjerm.
Etter å ha lastet opp kodesuksessen helt til magi og angitt maskinvare, velg behandlings -IDE og kjør koden ved å klikke på Kjør -knappen. Nå har du et veldig enkelt radarsystem.
Du kan tilpasse kodene som du ønsker det du vil vise.
Trinn 5: Feilsøking
Behandlingsskissen kjører ikke.
- Vent litt. På grunn av oppstartstiden er avhengig av PC -en og GPU -ytelsen.
- Kontroller at serienummeret er riktig på behandlingsskissen.
- Kontroller at USB -tilkoblingen er riktig festet.
- Kontroller forbindelsen mellom ultralydsensor og Magicbit.
- Åpne den serielle skjermen og kontroller at dataene kommer fra Arduino. Hvis ikke, er problemet din Arduino -kode eller på USB -tilkoblingen.
Servo fungerer ikke.
- Kontroller at USB -tilkoblingen er riktig festet.
- Sjekk ledningene.
- Sjekk at servoen er i god stand.
Trinn 6: Arduino -kode
#inkludere
#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing ekkolodd (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // inkludere servobibliotek int distanse; Servo RadarServo; ugyldig oppsett () {Serial.begin (115200); RadarServo.attach (26); // Definerer hvilken pin som er servomotoren festet forsinkelse (3000); } void loop () {// roterer servomotoren fra 15 til 165 grader for (int i = 0; i <= 180; i ++) {RadarServo.write (i); forsinkelse (50); distance = sonar.ping_cm (); // Kaller en funksjon for å beregne avstanden målt av ultralydsensoren for hver grad for (int j = 0; j0) {pause; } Serial.print (i); // Sender gjeldende grad til Serial Port Serial.print (","); // Sender tilleggstegn rett ved siden av den forrige verdien som trengs senere i Processing IDE for indeksering av Serial.print (j); // Sender gjeldende grad til Serial Port Serial.print ("*"); Serial.print (1); // Sender avstandsverdien til Serial Port Serial.print ("/"); // Sender tilleggstegn rett ved siden av den forrige verdien som trengs senere i Processing IDE for indeksering av Serial.print (avstand); // Sender avstandsverdien til Serial Port Serial.print ("."); // Sender tilleggstegn rett ved siden av den forrige verdien som trengs senere i Processing IDE for indeksering}} // Gjentar de foregående linjene fra 165 til 15 grader for (int i = 180; i> = 0; i-) {RadarServo.skrive (i); forsinkelse (50); avstand = sonar.ping_cm (); for (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {fortsette; } Serial.print (i); // Sender gjeldende grad til Serial Port Serial.print (","); // Sender tilleggstegn rett ved siden av den forrige verdien som trengs senere i Processing IDE for indeksering av Serial.print (j); // Sender gjeldende grad til Serial Port Serial.print ("*"); Serial.print (-1); // Sender avstandsverdien til Serial Port Serial.print ("/"); // Sender tilleggstegn rett ved siden av den forrige verdien som trengs senere i Processing IDE for indeksering av Serial.print (avstand); // Sender avstandsverdien til Serial Port Serial.print ("."); // Sender tilleggstegn rett ved siden av den forrige verdien som trengs senere i Processing IDE for indeksering}}
}
Anbefalt:
3D -rekonstruksjon fra et enkelt foto: 8 trinn
3D -rekonstruksjon fra et enkelt foto: Oppgaven med 3D -rekonstruksjon er vanligvis forbundet med kikkert. Alternativt kan du flytte et enkelt kamera rundt objektet. I mellomtiden, hvis formen på objektet er kjent, kan oppgaven løses fra et enkelt foto. Det er det du har på
COVID-19 Dashboard (enkelt og enkelt): 4 trinn
COVID-19 Dashboard (enkelt og enkelt): Overalt er det et stort utbrudd av det nye COVID-19-viruset. Det ble nødvendig å holde øye med det nåværende scenariet med COVID-19 i landet. Så, hjemme, var dette prosjektet jeg tenkte på: " An Information Dashboard " - En dag
DIY radarsystem ved bruk av ultralydsensor: 3 trinn
DIY radarsystem ved bruk av ultralydssensor: Her deler jeg dette prosjektet med deg som er enkelt å lage med ultralydsensor arduino og servomotor
ULTRASONISK RADARSYSTEM VED Å BRUKE ARDUINO: 3 trinn
ULTRASONISK RADARSYSTEM VED Å BRUKE ARDUINO: Kretsen beskrevet her demonstrerer hvordan et ultralydbasert radarsystem fungerer. Den bruker ultralydsensor til å oppdage et objekt og måle avstanden og roterer i henhold til servomotor. Rotasjonsvinkelen vises på en 16x2 LCD -skjerm
Enkelt og enkelt bærbart stativ for fanget: 4 trinn
Enkelt og enkelt bærbart stativ for fanget: Jeg så meg rundt i en rekke butikker etter et bærbart stativ som får luftstrøm til den bærbare datamaskinen, men en der jeg faktisk kunne bruke den på fanget. Fant ikke noe som var det jeg ønsket, så jeg bestemte meg for å lage mitt eget