Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Šiandien aš kalbėsiu apie labai naudingą projektą. Jis vadinamas vandens lygio indikatoriumi su SMS pranešimu. Kiekvienas turi savo namuose talpyklą. Problema ta, kad nėra sistemos, leidžiančios sekti vandens kiekį bake. Tada atsiranda antrinė problema, kai įjungus vandens siurblį jie neįsivaizduoja, kada jis pripildomas, o kartais būna situacijų, kai siurblys ir toliau siurbia vandenį į baką, o vanduo pradeda išsilieti iš bako. Yra energijos švaistymas ir vandens švaistymas. Taigi ši sistema yra labai naudinga vandens lygiui nustatyti. Tai taip pat naudinga aukštiems pastatams, kuriuose neįmanoma patikrinti vandens lygio.
Pradėkime.
1 žingsnis: komponentai
1. Atmega328
2. Arduino Uno
3. Perjunkite x1
4. Kristalų osciliatorius x1
5. 10uf kondensatorius x2
6. BC547 npn tranzistorius x4
7. Rezistorius 1k x5
8. Rezistorius 100 x8
9. PCB x1
10. LM7805 5 voltų reguliatorius
11. LM7812 12 voltų reguliatorius
12. Kondensatorius 22uf x2
13. Saulės panelis 20v
14. Šildytuvas x1
15. Laidai
16. GSM modemas 800H arba 900A
2 žingsnis: jungtys ir PCB gamyba
Sujunkite tranzistorius su rezistoriais ant duonos lentos, kaip parodyta ckt diagramoje, patikrinkite išvestį. Išvestis bus didesnė nei 3 voltai, kad logika HIGH būtų siunčiama arduino.
Sumontuokite rezistorius ir tranzistorius ant plokštės.
Ant PCB pritvirtinkite 28 kontaktų lizdą.
Mes gaminame savarankišką arduino.
Lituokite kristalų osciliatorių kartu su 22uf kondensatoriais.
Prijunkite tranzistorių išėjimus prie analoginių kaiščių.
Tinkamai prijunkite įtampos reguliatorių prie kondensatorių.
Šilumos kriauklė turi būti pritvirtinta prie 7812 įtampos reguliatoriaus, nes GSM modemas iš jo semia daugiau srovės.
Saulės kolektorius prijungtas prie 7812 ic įėjimo.
Lituokite visus komponentus, kaip nurodyta PCB ckt diagramoje. Patikrinkite jungtis.
3 žingsnis: programavimas
Prijunkite „arduino UNO“prie kompiuterio, kuriame yra „atmega328“
Įrašykite šį kodą į savo arduino
int a = 0; int b = 0;
int c = 0;
int d = 0;
negaliojanti sąranka ()
{pinMode (A1, INPUT);
pinMode (A0, INPUT);
pinMode (A2, INPUT);
pinMode (A4, INPUT);
Serial.begin (9600);
}
tuštumos kilpa ()
{int r = digitalRead (A4);
int s = digitalRead (A0);
int t = digitalRead (A1);
int u = digitalRead (A2);
jei (r == HIGH && s == LOW && t == LOW && u == LOW)
{jei (a == 0)
{Serial.println ("AT+CMGF = 1");
vėlavimas (500);
Serial.println ("AT+CMGS = \" tavo nr. / ""); // Keisti imtuvo telefono numerio delsą (500);
Serial.print („1 lygis Įjunkite variklį“); // žinutė, kurią norite išsiųsti
vėlavimas (500);
Serijinis.rašyti (26);
vėlavimas (500);
a ++; b = 0; c = 0; d = 0;
}
}
jei (r == HIGH && s == HIGH && t == LOW && u == LOW)
{jei (b == 0)
{Serial.println ("AT+CMGF = 1");
vėlavimas (500);
Serial.println ("AT+CMGS = \" jūsų nr. / ""); // Pakeiskite imtuvo telefono numerį
vėlavimas (500);
Serial.print („2 lygio vanduo“);
// žinutė, kurią norite išsiųsti
vėlavimas (500);
Serijinis.rašyti (26);
vėlavimas (500);
b ++; a = 0; c = 0; d = 0;
} }
jei (r == HIGH && s == HIGH && t == HIGH && u == LOW) {jei (c == 0)
{Serial.println ("AT+CMGF = 1");
vėlavimas (500);
Serial.println ("AT+CMGS = \" tavo nr. / ""); // Keisti imtuvo telefono numerio delsą (500);
Serial.print („3 lygio vanduo“); // žinutė, kurią norite išsiųsti
vėlavimas (500);
Serijinis.rašyti (26);
vėlavimas (500);
c ++; b = 0; d = 0; a = 0; }}
jei (r == HIGH && s == HIGH && t == HIGH && u == HIGH)
{if (d == 0) {Serial.println ("AT+CMGF = 1");
vėlavimas (500);
Serial.println ("AT+CMGS = \" jūsų nr. / ""); // Pakeiskite imtuvo telefono numerį
vėlavimas (500);
Serial.print („Visas bako išjungimo variklis“); // žinutė, kurią norite išsiųsti
vėlavimas (500);
Serijinis.rašyti (26);
vėlavimas (500);
d ++; c = 0; b = 0; a = 0;
} }
Kitas
{Serial.print („Grandinė neprijungta“);
}
}
Dabar pašalinkite „ic“ir įdiekite jį į PCB
4 žingsnis: Surinkimas ir bandymas
Paimkite PVC vamzdį, kurio aukštis lygus jūsų vandens talpyklai.
Prijunkite laidus nuo ckt skirtingais bako lygiais.
Atminkite, kad Vcc viela visada panardinama į vandenį.
Atlikite visus ryšius.
Prijunkite Rx of ic, esantį 2 kaištyje, prie GSM modemo Tx
Prijunkite Tx of ic, esantį 3 kaištyje, prie GSM modemo Rx
Prijunkite saulės kolektorių prie įėjimo 7812 ic.
Patikrinkite visus ryšius ir projektas paruoštas.
Padarykite sistemą pastogę, kad ji apsaugotų nuo lietaus.
Išbandyk!