Kazalo:
- Zaloge
- Korak: Ultrazvočni VS infrardeči senzor
- 2. korak: Shema
- 3. korak: Značilnost senzorja
- 4. korak: Serijska komunikacija
- 5. korak: Aplikacija Qt
- 6. korak: Arduino izvorna koda
Video: Infrardeči radar z Arduinom: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
V tem majhnem projektu bi vam rad pokazal, kako lahko z Arduinom ustvarite preprost radar doma. Na internetu je veliko podobnih projektov, vendar vsi uporabljajo ultrazvočni senzor za merjenje razdalje. V tem projektu uporabljam infrardeči senzor za merjenje razdalje.
Moj cilj je z njim ustvariti zelo preprost in poceni sistem LIDAR in implementirati kartirno napravo.
Zaloge
- Arduino (uporabil sem Maple Mini)
- Senzor ostre razdalje (uporabil sem Sharp GP2Y0A02YK0F)
- Mikro servo (9 g)
- Ogledna plošča, žice
- Izbirno: 4.7k upor, 100nF kondenzator
Korak: Ultrazvočni VS infrardeči senzor
Glavna razlika med ultrazvočnimi in infrardečimi senzorji razdalje je v tem, da ultrazvočni senzor meri razdaljo v širšem območju. Zato ne more natančno določiti položaja ovire. To pomeni, da meri razdaljo najbližjega predmeta, ki se nahaja znotraj kota ~ +-30 °.
Seveda to ne pomeni, da je senzor Sharp boljši. Včasih je ta lastnost lahko zelo uporabna (na primer z brezpilotnimi letali za merjenje višine od tal). Prava izbira je popolnoma odvisna od zahtev vašega projekta.
2. korak: Shema
Povezavo med deli je zelo preprosto. Izberite izhod PWM in analogni vhod na plošči Arduino ter na te nožice povežite senzorje razdalje Servo in Sharp. V ta namen sem uporabil naslednje zatiče:
- PA0: Analogni vhod za senzor ostre razdalje
- PA9: PWM izhod za servo
Včasih ima lahko Sharp IR senzor hrupne izhode, zato morate vanj namestiti preprost nizkoprepustni filter. Za zmanjšanje hrupa na analognem zatiču sem uporabil 4,7 k upor in 100 nF kondenzator. Poleg tega sem izmerjeno vrednost filtriral tudi v kodi tako, da sem jo večkrat prebral in izračunal povprečje.
3. korak: Značilnost senzorja
Žal ima infrardeči senzor razdalje nelinearne lastnosti. To pomeni, da za dosego razdalje ni dovolj pomnožiti izmerjeno vrednost ADC s konstantno vrednostjo in ji dodati še eno konstantno vrednost.
Čeprav podatkovni list senzorja vsebuje značilnosti, ga raje merim sam v določenem projektu (lahko je odvisen od uporabljene napetosti). Za to sem naredil pare iz izmerjene vrednosti ADC in razdalje na vsakih 10 cm. (Moj senzor je lahko izmeril pravilno razdaljo od 12 cm).
Te pare sem uporabil v kodi, da sem z linearno interpolacijo dosegel pravilno razdaljo.
Na koncu dokumenta boste našli preprosto kodo Arduino za merjenje vrednosti ADC med značilnimi meritvami.
4. korak: Serijska komunikacija
Za pošiljanje izmerjenih vrednosti kotne razdalje v računalnik sem uporabil serijsko komunikacijo. Ker moram poslati več bajtov in različne vrste sporočil, sem oblikoval preprost komunikacijski protokol.
Ta procotol omogoča generično definiranje različnih vrst sporočil. V tem projektu sem uporabil dve vrsti sporočil:
- Parametri: Uporablja se za pošiljanje parametrov v aplikacijo PC, določenih na Arduinu, kot sta največja razdalja in število ovir v krogu.
- Ovira: Uporablja se za pošiljanje zaznane ovire. Prepozna se po kotu servomotorja in izmerjeni razdalji. Položaj x-y bo izračunala aplikacija za osebni računalnik.
5. korak: Aplikacija Qt
Za komunikacijo z Arduinom in risanje izmerjenih točk kot radar sem naredil računalniško aplikacijo v Qt (C ++). Prejema nekatere parametre (določene na Arduinu) in izmerjene točke razdalje.
Lahko prenesete tudi aplikacijo in njeno izvorno kodo.
6. korak: Arduino izvorna koda
Nekatere parametre na vrhu kode lahko prilagodite z makri.
Upoštevajte, da če spremenite značilnost senzorja razdalje Sharp, morate spremeniti vrednosti matrike distAdcMap !
- InfraRadar.c: Koda radarja. Kopirajte in prilepite v svoj projekt Arduino.
- InfraRadarMeasurement.c: Koda za karakteristično merjenje. Kopirajte in prilepite v svoj projekt Arduino. Za preverjanje vrednosti ADC uporabite serijsko konzolo.
Priporočena:
Infrardeči MP3 predvajalnik: 6 korakov (s slikami)
Infrardeči MP3 predvajalnik: zgradite MP3 predvajalnik z infrardečim daljinskim upravljalnikom za približno 10 USD (USD). Ima običajne funkcije: predvajanje, premor, predvajanje naslednje ali prejšnje, predvajanje posamezne pesmi ali vseh skladb. Ima tudi različice izenačevalnika in nadzor glasnosti. Vse je mogoče nadzorovati prek r
Naredite infrardeči termometer za COVID-19 z MicroPythonom: 8 korakov
Naredite infrardeči termometer za COVID-19 z MicroPythonom: Zaradi izbruha koronavirusne bolezni (COVID-19) mora kadrovska služba podjetja izmeriti in registrirati temperaturo vsakega delavca. To je dolgočasno in dolgotrajno opravilo za kadre. Tako sem naredil ta projekt: delavec je pritisnil gumb, to v
Infrardeči matrični sistem za vnos gesla z Arduinom: 13 korakov
Infrardeči matrični sistem za vnos gesla z Arduinom: Ekipa ICStation vam predstavlja sistem za vnos gesla za infrardečo matriko, ki temelji na plošči Arduino, združljivi z ICStation. Deluje pod napajanjem DC 5v in za vnos gesla uporablja matrično tipkovnico 4 *4 ali infrardeči daljinski upravljalnik, mi pa
Infrardeči daljinski in IR sprejemnik (TSOP1738) z Arduinom: 10 korakov
Infrardeči daljinski in IR sprejemnik (TSOP1738) z Arduinom: Ta navodila so namenjena začetnikom Arduina. To je eden mojih prejšnjih projektov z Arduinom. Ko sem to naredil, sem zelo užival in upam, da bo tudi vam všeč. Najbolj privlačna lastnost tega projekta je “ Brezžično upravljanje ”. In to je
Infrardeči daljinski upravljalnik I2C z Arduinom: 8 korakov (s slikami)
Infrardeči daljinski upravljalnik I2C z Arduinom: preambula V tem navodilu je opisano, kako ustvariti univerzalni daljinski upravljalnik z uporabo I2C za vmesnik. Kako nenavadno pravite, da uporabljate podrejeno napravo I2C? Da, podrejena naprava I2C. To je zato, ker je natančen čas IR paketov precej zahteven in