Orodha ya maudhui:

Rada ya infrared Na Arduino: Hatua 6
Rada ya infrared Na Arduino: Hatua 6

Video: Rada ya infrared Na Arduino: Hatua 6

Video: Rada ya infrared Na Arduino: Hatua 6
Video: Infrared Obstacle Avoidance module for Arduino with code 2024, Novemba
Anonim
Image
Image

Katika mradi huu mdogo ningependa kukuonyesha jinsi unaweza kuunda Rada rahisi nyumbani na Arduino. Kuna miradi mingi sawa kwenye wavuti, lakini zote zinatumia sensa ya ultrasonic kupima umbali. Katika mradi huu mimi hutumia sensa ya infrared kwa kipimo cha umbali.

Lengo langu ni kuunda mfumo rahisi na wa bei rahisi wa LIDAR nayo na kutekeleza kifaa cha ramani.

Vifaa

  • Arduino (nilitumia Mini Maple)
  • Sensorer ya umbali mkali (nilitumia Sharp GP2Y0A02YK0F)
  • Servo ndogo (9g)
  • Bodi ya mkate, waya
  • Hiari: Mpingaji 4.7k, 100nF Capacitor

Hatua ya 1: Sensorer ya infrared ya Ultrasonic

Mpangilio
Mpangilio

Tofauti kuu kati ya sensorer za umbali wa ultrasonic na infrared ni kwamba sensor ya ultrasonic inapima umbali katika anuwai pana. Kwa hivyo haiwezi kupata nafasi ya kikwazo. Inamaanisha kuwa inapima umbali wa kitu cha karibu zaidi ambacho kiko ndani ya safu ya pembe ya ~ + -30 °.

Kwa kweli, haimaanishi kuwa sensor ya Sharp ni bora. Wakati mwingine mali hii inaweza kuwa muhimu sana (k.m kutumiwa na drones kupima urefu kutoka ardhini). Chaguo sahihi ni kabisa kulingana na mahitaji ya mradi wako.

Hatua ya 2: Mpangilio

Mpangilio
Mpangilio
Mpangilio
Mpangilio

Ni rahisi sana kufanya unganisho kati ya sehemu. Chagua Pato la PWM na Ingizo la Analog kwenye bodi yako ya Arduino na unganisha sensorer za umbali wa Servo na Sharp kwenye pini hizo. Nilitumia pini zifuatazo kwa kusudi hili:

  • PA0: Uingizaji wa Analog kwa sensorer ya umbali wa Sharp
  • PA9: Pato la PWM kwa Servo

Wakati mwingine sensorer ya Sharp IR inaweza kuwa na pato la kelele, kwa hivyo lazima uweke Kichujio rahisi cha Pass Pass juu yake. Nilitumia kipinga 4.7k na 100nF capacitor kupunguza kelele kwenye pini ya analog. Mbali na hilo pia nilichuja thamani iliyopimwa katika nambari kwa kuisoma mara kadhaa na kuhesabu wastani.

Hatua ya 3: Tabia ya Sensorer

Tabia ya Sensorer
Tabia ya Sensorer
Tabia ya Sensorer
Tabia ya Sensorer

Kwa bahati mbaya sensa ya umbali wa infrared iliyotumiwa ina tabia isiyo ya kawaida. Inamaanisha kuwa kupata umbali, haitoshi kuzidisha kipimo cha ADC kilichopimwa na thamani ya kila wakati na kuiongeza thamani nyingine ya kila wakati.

Ingawa data ya kihisi hutoa tabia, napendelea kuipima mimi mwenyewe katika mradi maalum (inaweza kutegemea voltage iliyotumika). Kwa hili, nilitengeneza jozi kutoka kwa Thamani ya ADC na umbali kwa kila cm 10. (Sensor yangu iliweza kupima umbali sahihi kutoka cm 12).

Nilitumia jozi hizi kwenye nambari kupata umbali sahihi na Ufafanuzi wa Linear.

Utapata nambari rahisi ya Arduino mwishoni mwa hati, kupima Thamani ya ADC wakati wa kipimo cha tabia.

Hatua ya 4: Mawasiliano ya serial

Mawasiliano ya serial
Mawasiliano ya serial

Nilitumia mawasiliano ya serial kutuma viwango vya umbali-pembe kwa PC. Kwa kuwa lazima nitume ka nyingi na aina tofauti za ujumbe, nilibuni itifaki rahisi ya mawasiliano.

Prokota hii hufanya iweze kufafanua aina tofauti za ujumbe kwa njia ya kawaida. Katika mradi huu nilitumia aina mbili za ujumbe:

  • Vigezo: Inatumiwa kutuma vigezo kwenye Programu ya PC, iliyoainishwa kwenye Arduino kama umbali wa juu na idadi ya vizuizi katika raundi.
  • Kizuizi: Inatumiwa kutuma kikwazo kilichogunduliwa. Inatambuliwa na pembe ya servo na umbali uliopimwa. Nafasi ya x-y itahesabiwa na programu tumizi ya PC.

Hatua ya 5: Maombi ya Qt

Maombi ya Qt
Maombi ya Qt

Kuwasiliana na Arduino na kuchora alama zilizopimwa kama rada nilifanya Programu ya PC katika Qt (C ++). Inapokea vigezo kadhaa (vilivyoainishwa kwenye Arduino) na alama za umbali zilizopimwa.

Unaweza kupakua programu tumizi na nambari yake ya chanzo pia.

Hatua ya 6: Msimbo wa Chanzo wa Arduino

Unaweza kubadilisha paremeter kadhaa juu ya nambari na macros.

Kumbuka, kwamba ikiwa utabadilisha tabia ya sensorer ya umbali wa Sharp, lazima ubadilishe maadili ya safu ya distAdcMap !

  • InfraRadar.c: Nambari ya rada. Nakili na ubandike kwenye mradi wako wa Arduino.
  • InfraRadarMeasurement.c: Nambari ya kipimo cha tabia. Nakili na ubandike kwenye mradi wako wa Arduino. Tumia Serial Console kuangalia Maadili ya ADC.

Ilipendekeza: