Sveiki! šio prietaiso tikslas yra nustatyti atstumą iki objekto naudojant sonarą, nuotolio ieškiklį. Sužinokite, kaip įdiegti sonarą Arduino, pavyzdžiui, kodas, kuriame yra paaiškinimas, kalibravimas ir kaip naudoti prietaisą atstumui apskaičiuoti. Atminkite, kad kai kuriuose vaizduose bus naudojama plokštė, skirta žuvų ieškikliui pritvirtinti prie Arduino, o kai kurie ne, tačiau jie yra keičiami, nes yra vienodi.
Medžiagos
Mums reikės:
1. „Arduino“ lenta
2. Hidroakustinis nuotolio ieškiklis
3. džemperiai
3.5. laidai (pasirinktinai, skirti naudoti ant lentos)
4. duonos lentelė (pasirinktinai)
Hidroakustinio nuotolio ieškiklio prijungimo prie Arduino schema
1. Įjunkite jungtį prie 11 kaiščio
2. Prijunkite „Echo“ prie 10 kaiščio
3. GND jungtys prie atitinkamų GND kaiščių Arduino
4. Prijunkite „vcc“ prie 5 V padėties maitinimo šaltinyje su „Arduino“
Ryšio technologija
1. Prijunkite „vcc“ prie teigiamo plokštės gnybto, o GND - prie neigiamo gnybto
2. Prijunkite neigiamą GND gnybtą prie Arduino, o teigiamąjį gnybtą - prie Arduino 5 V padėties
3. Prijunkite trig, 8 kaištyje
4. Prijunkite aidą prie 9 kaiščio
Kodas
Šis kodas jau buvo sukalibruotas, nes jis buvo gautas iš išorinio šaltinio, į kurį buvo įtrauktas kalibravimas.
#define trigPin 9 // praneša Arduino, kad trig pin yra 9 pin
#define echoPin 10 // praneša Arduino, kad aido kaištis yra 10 kaištis
negaliojanti sąranka () {
„Serial.begin“ (9600); // nustato duomenų perdavimo spartą iki 9600
pinMode (trigPin, OUTPUT); // nustato trigPin kaip išvestį
pinMode (echoPin, INPUT); // nustato „echoPin“ kaip įvestį
}
tuščia kilpa () {
plūdės trukmė, atstumas;
„digitalWrite“ (trigPin, LOW);
atidėtiMikrosekundės (2);
„digitalWrite“ (trigPin, HIGH);
vėlavimasMikrosekundės (10);
// „digitalWrite“ (trigPin, LOW);
trukmė = pulseIn (echoPin, HIGH);
Serial.println (trukmė);
atstumas = (trukmė / 2) * 0,0344; // apskaičiuoja trukmę centimetrais
if (atstumas <= 2) {
„Serial.print“ („Distance =“);
„Serial.println“ („Už diapazono ribų“); // nespausdina atstumo, jei mažesnis už tam tikrą intervalą
}
dar {
„Serial.print“ („Distance =“);
Serial.print (distance); // atspausdina atstumą per intervalą
Serial.println („cm“);
vėlavimas (500);
}
vėlavimas (500);
}
Vykdykite programą
Pradėję programą, įrašykite duomenis ir sėkmės jums!
Kaina: ~ 143