Labdien pēcpusdienā cienītāji mājās gatavots! Šodien mēs montēsim vienkāršu attāluma meklētāju Arduino Pro Mini. Ierīce spēj izmērīt attālumu no 2 līdz 400 cm. Šīs ierīces kļūda ir tikai +/- 1-5 cm, atkarībā no izmērītā attāluma.
Instrumenti un materiāli
-Arduino Pro mini
Sensors HC-04
- indikators uz tm1637
-Vads (man ir - MGTF 0,12)
-Programmers
-Plastiskais korpuss
-Li-on akumulators
-Mazais slēdzis
- Uzlādes dēlis uz TP4056
Superlīme
-Dzelzs
-Solder
Rosins
Urbt, urbt utt.
Pirmais solis: Shēma:
Saskaņā ar shēmu viss ir vienkāršs, bez papildinājumiem.
Otrais solis - lietas sagatavošana:
Vispirms izmēģinām sensoru un urbjam divus caurumus 15 mm.
Pēc tam izveidojiet caurumu mikro-usb savienotājam ar 3-3,5 mm urbi.
Mēs izvēlamies urbi slēdža diametram un urbjmašīnai.
Uz vāka izgatavojam septiņu segmentu indikatora “logu” (fotoattēlā bez apstrādes), un visas neatbilstības tiek pabeigtas ar failu.
Trešais solis: programmaparatūra:
Skicē tiek izcelti mainīgie, kurus var pielāgot pats. Viss kods tiek komentēts.
# iekļaut // bibliotēkas bibliotēkai
# iekļaut
// ------------- lai konfigurētu --------------------------------- --------------------------------
bols garš = 0; // 0 - izmēra garumu no sensora
// 1 - izmēra garumu no korpusa sienas, kas ir pretī sensoram
neparakstīts int korpuss = 10; // attālums no sensora līdz pretējai korpusa sienai (centimetros)
#definēt CLK 2 // piespraudes, lai izveidotu savienojumu
#definēt DIO 3
#definēt TRIG 4
#definēt ECHO 5
// ------------------------------------------------ ----------------------------------------------
neparakstīts int impulss = 0; // mainīgie lielumi aprēķiniem
neparakstīts int sm = 0;
GyverTM1637 disp (CLK, DIO);
Nederīga iestatīšana () {
pinMode (TRIG, OUTPUT); // iestatīts kā izeja
pinMode (ECHO, INPUT); // iestatīts kā ieeja
spilgtums (7); // spilgtums 0-7
dispo punkts (0); // izslēdz kolu
displa.clear (); // notīriet indikatoru
}
tukšs cilpa () {
digitalWrite (TRIG, HIGH); // padeve 5 volti
kavēšanāsMikrosekundēs (10); // kavēšanās 10 mikrosekundes
digitalWrite (TRIG, LOW); // kalpo 0
impulss = pulseIn (ECHO, HIGH); // izmēra impulsa garumu
sm = impulss / 58; // konvertēt uz centimetriem
if (Long == 1) {// pārbaudiet iestatījumus
sm = sm + korpuss;
}
if (sm <= 2) {// nulles nepatiesas vērtības
sm = 1;
}
ja (sm> = 405) {
sm = 1;
}
int vesels skaitlis = sm / 10;
int komats = sm% 10;
decimāls = decimāls * 10;
displa.displayClock (vesels skaitlis, decimāls); // izeja uz indikatoru
kavēšanās (300); // kavēšanās 0,3 sek. starp izlaides vērtību
}
Pēc tam pievienojiet programmētāju un zibspuldzi MK.
Ceturtais solis Montāža:
Tā kā ierīce darbojas ar akumulatora enerģiju, mums nav nepieciešama papildu maksa. Tāpēc uz Arduino tāfeles mēs lodējam gaismas diodes un atiestatīšanas pogu (lai samazinātu izmēru).
Līmējiet akumulatoru korpusam ar superlīmi. Mēs līmējam uzlādes dēli uz akumulatora, uzstādām slēdzi un visu lodējam pēc shēmas.
Mēs līmējam sensoru pie lietas un visu pielodējam pēc shēmas.Sākumā bija ideja pielīmēt dēli uz abpusējas lentes, bet tad tika nolemts to pielīmēt uz superlīmja. Indikatoru var pieskrūvēt vai pielīmēt.
Piektais solis: Tests:
Piezīme: ceturtajā segmentā vienmēr parādīsies 0. Tas ir paredzēts, lai pārliecinātos, ka pēdējais segments nav tukšs. Izrādās, ja rādījums ir 270, tad tas nozīmē, ka attālums ir 27 cm.
Lai būtu pārliecināts, liecību var pārbaudīt ar lineālu.