Cuprins:

Sistem anti-îngheț: 8 pași
Sistem anti-îngheț: 8 pași

Video: Sistem anti-îngheț: 8 pași

Video: Sistem anti-îngheț: 8 pași
Video: Putem incarca sistemul de incalzire in pardoseala cu antigel? 2024, Iunie
Anonim
Sistem anti-îngheț
Sistem anti-îngheț

Acest proiect își propune să prevină formarea de gheață sau zăpadă prin utilizarea saramurii ca agent anti-îngheț. Utilizând senzorul de umiditate și temperatură pentru a detecta condițiile de mediu, aspersorul împrăștie apa de saramură care este controlată de Raspberry Pi. Senzorul IR este utilizat pentru a detecta oameni și animale. Când detectează oameni, aspersorul se oprește.

întregul set de instrucțiuni pentru construirea și utilizarea proiectului este furnizat în pagina mea GitHub.

GitHub: Sistem anti-îngheț

Pasul 1: GitHub Link

Vă rugăm să vizitați pagina noastră GitHub pentru a înțelege diferitele componente, instrumente și pachete utilizate pentru a construi sistemul.

Sistem anti-îngheț

consultați linkul de mai sus pentru a afla mai multe despre proiect, deoarece are diferite pagini, inclusiv readme și wiki asociate acestuia, pentru a vă ajuta mai bine în construirea cu ușurință a propriului sistem anti-gheață.

Voi oferi instrucțiuni pas cu pas începând cu al treilea pas înainte, astfel încât să le fie mai ușor entuziaștilor RPi să o construiască din instructabile:)

Pasul 2: demonstrație live pe YouTube

consultați pagina noastră YouTube pentru o demonstrație live. link furnizat mai jos:

Demo YouTube pentru sistemul anti-îngheț

Pasul 3: Componente necesare

Componente necesare
Componente necesare
Componente necesare
Componente necesare
Componente necesare
Componente necesare

Hardware:

1. Senzor IR: HC-SR501 PIR Detector de mișcare Tensiune: 5V - 20V Consum de energie: ieșire 65mATTL: 3,3V, 0V Timp de blocare: 0,2 sec Metode de declanșare: L - dezactivează declanșatorul de repetare, H activează declanșatorul de repetare metri Temperatura: - 15 ~ + 70 Dimensiune: 32 * 24 mm, distanță între șurub 28mm, M2, dimensiunea obiectivului în diametru: 23mm

2. Senzor de umiditate și temperatură: DHT22 (AM2302)

Cost redus 3 până la 5V putere și I / O 2,5 mA utilizare maximă în timpul conversiei (în timp ce solicitați date) Bun pentru citiri de umiditate 0-100% cu precizie de 2-5% Bun pentru citiri de temperatură de -40 până la 80 ° C ± 0,5 ° C precizie rata de eșantionare de peste 0,5 Hz (o dată la 2 secunde) Datele cu o singură magistrală sunt utilizate pentru comunicarea între MCU și DHT22, costă 5 ms pentru comunicarea cu o singură dată.

3. Pompă cu motor DC fără perii Decdeal QR50E

Cost redus și versatil Rating 12V 5W Cantitate de pompă 280l / H poate gestiona diferite tipuri de soluții, inclusiv apă sărată (saramură) și ulei la diferite temperaturi

4. Baterie DC 12V / sursă de alimentare

Pasul 4: Cum să implementați codul și conexiunile

Cod:

  1. Clonați depozitul.
  2. Copiați Codul / html în / var / www / html
  3. În folderul Cod, fișierul principal poate fi executat.
  4. Dacă ați schimbat numărul pinului de intrare / ieșire, puteți utiliza CMake pentru a reconstrui fișierul principal.
  5. Deschideți browserul introduceți adresa raspberryPi pentru a accesa interfața cu utilizatorul.

Conexiuni:

Folosim numerotarea WiringPi în codul nostru, prin urmare:

putere GPIO: 4.

motor GPIO: 3.

Senzor PIR GPIO: 0.

Senzor DHT22 GPIO: 7.

Pasul 5: Instalare

Deoarece proiectul nostru a implicat Mysql, Php, web-server, există mai multe comenzi pentru a configura mediul de lucru după cum urmează:

Verificarea sistemului raspberry pi este actualizată

sudo apt-get update

sudo apt-get upgrade

Instalarea suporturilor apache2, php, mysql

sudo apt-get install apache2 -y

sudo apt-get install php7.0

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get default-libmysqlclient-dev

După instalarea suporturilor pentru mediu, ar trebui create baze de date și tabele relevante pentru a citi și scrie date.

Dacă doriți să creați un cont de conectare specific, mai degrabă decât să utilizați „rădăcină”, puteți pur și simplu să parcurgeți următoarele comenzi:

Crearea unui nou utilizator numit „pi”

sudo mysql -u root pentru introducerea bazei de date mysql.

mysql> USE mysql;

mysql> CREATE USER 'pi' @ 'localhost' IDENTIFIED BY '';

mysql> ACORDĂ TOATE PRIVILEGIILE PENTRU *. * TO 'pi' @ 'localhost';

mysql> UPDATE user SET plugin = 'mysql_native_password' WHERE User = 'pi';

mysql> PRIVILEGII FLUSH;

mysql> exit;

repornirea serviciului MySQL

Crearea unei baze de date pentru raspberry pi

mysql> creați senzorul bazei de date;

mysql> utilizați senzorul;

mysql> create table th_sensor (nume char (20) nu cheie primară nulă, valoare float (10, 2) nu nulă, valoare2 float (10, 2);

mysql> exit;

Acum puteți copia folderul / Code / html în directorul implicit localhost ca / var / www / html.

Crearea unui script de boot pentru lansarea sistemului odată ce pi-ul a fost deschis.

De exemplu, crearea unui fișier numit boot.desktop sub direcția:.config / autostart /

Conținutul fișierului după cum urmează:

[Intrare pe desktop]

Tipul = Cerere

Nume = testboot

NoDisplay = adevărat

Exec = xxx / xxx / xx./principal

„Xxx / xxx / xx” este directorul fișierului dvs. principal.

În cele din urmă, după ce reporniți pi-ul, vă puteți deschide browserul web pentru a vedea interfața.

Pasul 6: Proiectare PCB

Design PCB
Design PCB
Design PCB
Design PCB
Design PCB
Design PCB

Schematic și PCB Am selectat captură Orcad și editor PCB pentru a desena PCB.

Circuit senzori:

Fișierul original al schemei. Vă rugăm să deschideți acest fișier de către Orcad Capture.

Fișierul original al PCB-ului. Vă rugăm să deschideți acest fișier de PCB Editor.

Schema circuitului senzorilor este furnizată mai sus, împreună cu fișierele PCB. 16 pini sunt suficienți pentru proiectul nostru, așa că am folosit doar un antet cu 16 pini.

J2 este pentru senzorul PIR

J3 este pentru senzorul de umiditate și temperatură

J4 este pentru GPIO

R1 și R2 sunt rezistențele de tracțiune

LED-ul D1 este pentru testul motorului. Acest semnal este utilizat pentru controlul motorului.

LED-ul D2 este pentru observare. Va arăta dacă circuitul funcționează.

Circuitul de control al motorului:

Fișierul original al schemei. Vă rugăm să deschideți acest fișier de către Orcad Capture.

Fișierul original al PCB-ului. Vă rugăm să deschideți acest fișier de PCB Editor.

Schemă și PCB pentru acționarea motorului

Schema circuitului driverului motorului este furnizată mai sus, împreună cu fișierele PCB

J1 este pentru sursa de alimentare.

J2 este pentru Motor.

J3 este pentru semnalul de control care vine de la GPIO.

J4 este pentru comutator.

Q1 este de a controla motorul.

LED-ul D2 este pentru a verifica dacă circuitul funcționează corect.

Pasul 7: Grafic detaliat al fluxului de control al sistemului

Grafic detaliat al fluxului de control al sistemului
Grafic detaliat al fluxului de control al sistemului

O detaliere a fluxului de semnal în întregul sistem, împreună cu întârzierile, ratele de eșantionare și reîmprospătare și protocoalele de magistrală utilizate sunt furnizate mai sus pentru a înțelege în continuare sistemul.

ca întotdeauna, alte sugestii de îmbunătățire și modificări sunt binevenite cu plăcere:)

Pasul 8: Cod

Pachetul de cod a fost încărcat într-un fișier.zip pe care îl puteți utiliza pentru a extrage și compila în raspberry pi.

Folosim GitHub ca software de control al versiunilor, deoarece este gratuit, ușor de întreținut și lansează versiuni mai noi înregistrând toate modificările aduse programului.

Procesul de clonare a pachetului și compilarea utilizând comanda „make” ar trebui să fie mai ușor în comparație cu codificarea fiecărei linii (este dificil să scrieți diferite tipuri de cod pentru diferite componente și sarcini în diferite limbi în diferite fișiere).

Declinare de responsabilitate: Acest lucru nu ar trebui în niciun caz luat ca o reclamă sau ca o demotivare pentru un alt site web, deoarece cred că suntem o comunitate deschisă și matură care lucrează împreună pentru a construi un viitor mai bun câte puțin:)

Sper că vă place să construiți acest proiect la fel de mult ca și noi:)

Noroc!

Recomandat: