Rămâi (Robo)Cool în miez de vară! Reglează temperatura în stil Arduino

Este vară, extrem de cald și tot ce ne dorim este să stăm lipiți de un ventilator care să ne răcorească. Sistemele de ventilație sunt scumpe și complicat de instalat, mai ales dacă nu locuiești în propria ta casă, deoarece implică modificări în încăperile unde vor fi plasate. Pentru un pasionat de robotică și tehnologie căruia îi place să regleze temperatura în stil Arduino, avem exact ce trebuie.

Proiectul de astăzi, inspirat de vremea de afară, este creearea unui mic ventilator cu ajutorul unei plăci arduino. Pentru a face un mic ventilator robo(cool), ai nevoie de un releu și un motor compatibil cu arduino. Un releu este un comutator acționat electric, care îți permite să activezi sau să dezactivezi un circuit folosind tensiune și / sau curent mult mai mare decât arduino poate susține.  

Iată de ce componente ai nevoie:

Cablarea

Conectează butonul cu o rezistență de 220Ω pentru a menține semnalul logic aproape de zero volți când butonul este OFF. Releul are 6 pini. Pinul 1 și 2 de pe releu sunt semnale de intrare și sunt conectate separat la pinul digital 3 și GND de pe Arduino. Pinii 3, 4, 5 și 6 de pe releu sunt semnale de ieșire, dar vom folosi doar pinul 4 și pinul 6 în acest moment. Un releu este similar cu un buton on / off.

Codul

//

int buttonPin = 2;                  // int buttonPin = 2;

int relayPin = 3;                   // int relayPin = 3;

int relayState = HIGH;              // int relayState = HIGH;

int buttonState;                    // record the current button state

int lastButtonState = LOW;          // record the last button state

long lastDebounceTime = 0;

long debounceDelay = 50;            // eliminate debounce time

void setup() {

pinMode(buttonPin, INPUT);

pinMode(relayPin, OUTPUT);

digitalWrite(relayPin, relayState);  // configure the initial state of relay

}

void loop() {

int reading = digitalRead(buttonPin);             //read the value of button

// once detects change of state, record time

if (reading != lastButtonState) {

lastDebounceTime = millis();

}

// wait for 50ms to evaluate if it is the same state as last state

// if different, change the button state

// if the state of button is high(pressed), change the state of relay

if ((millis() – lastDebounceTime) > debounceDelay) {

if (reading != buttonState) {

buttonState = reading;

if (buttonState == HIGH) {

relayState = !relayState;

}

}

}

digitalWrite(relayPin, relayState);

//change the last state of button

lastButtonState = reading;

}

După încărcarea programului, poți controla releul și LED-ul cu ajutorul butonului.

Codul pentru deblocarea butonului 

if (reading != lastButtonState) {

lastDebounceTime = millis();

}

if ((millis() – lastDebounceTime) > debounceDelay) {

if (reading != buttonState) {

……

}

}

Când semnalele sunt recepționate de Arduino, programul nu funcționează imediat – testează dacă semnalul este corect și așteaptă un anumit timp pentru a confirma. Dacă semnalul este corect, programul va funcționa corespunzător.

Motivul pentru care programul testează un semnal corect este că există un proces de declanșare a butonului atunci când este apăsat. 

Hardware

Releul de care ai nevoie este un comutator acționat electric, care îți permite să activezi sau să dezactivezi un circuit folosind tensiune și / sau curent mult mai mare decât placa arduino poate susține în mod normal. Nu există nicio legătură între circuitul de joasă tensiune operat de Arduino și circuitul de putere mare – releul separă circuitele unul de celălalt. Releul este o componentă electronică, un dispozitiv care produce anumite modificări ( cum ar fi închiderea și deschiderea unui circuit ) pe baza unui parametru care variază ( precum tensiunea  electrica aplicată ) permițând controlarea unui curent de intensitate mare cu ajutorul unui current de intensitate mică. 

Să aruncăm o privire la structura interioară a releului:

Releele au 6 pini. Pinii 1 și 2 sunt conectați la pinul digital și GND. Folosim aceste 2 pini pentru alimentarea releului. Există o bobină între Pinul 1 și pinul 2. Când circuitul este HIGH, curentul circulă în bobină, generează un câmp magnetic, închide contactele comutatorului și conectează

NO (Normally Open) până la pinul COM (common) Când circuitul este LOW, nu există curent în bobină, prin urmare NC (Normally Closed) se conectează la pinul COM. Conectăm Pin 4 și Pin 6 pentru a controla pornirea / oprirea releului și a LED-ului.

Diferența dintre motorul DC, Stepper Motors și Servos

Motoarele DC (Direct Current) sunt dispozitive care schimbă energia electrică în energie cinetică. Când alimentezi cu curent un motor DC, acesta va începe să se rotească continuu.

Când comutați polaritățile, motorul DC se va roti în direcția opusă. Un motor funcționează continuu la turații ridicate (rotații pe minut). Aceste rotații ale arborelui motor nu pot fi controlate la un unghi specific, dar poți controla viteza. Deoarece rotațiile sunt atât de rapide, nu este practic să le folosești pentru vehicule.

Un motor DC are un set de angrenaje pentru a reduce viteza și a crește cuplul. Acest lucru face mai practică utilizarea pentru aplicații pentru vehicule. Viteza sa poate fi controlată de PWM. Un servo este de asemenea un motor. Controlează poziția motorului printr-un sistem de feedback. Servo-urile sunt practice pentru a fi utilizate pentru brațele robotice. 

Fie că te apuci pe bune de proiectul de mai sus sau pur și simplu te-am făcut curios legat de ce poți face cu o placă Arduino și o mână de piese suplimentare, există un început pentru fiecare pasionat de robotică. Noi credem că un început excelent este un kit complet cu care să te joci, iar kitul de la RobotLinking include tot ce ai nevoie ca să înveți cum să alimentezi proiectul tău cu Arduino UNO R3. Instrucțiunile ajută mult și vei vedea că pachetul e perfect și pentru copii.

kit de invatare arduino
Kit de învățare cu Arduino UNO R3 Robotlinkng

Dacă ești pasionat de robotică, dacă vrei să înveți sistemele din spatele acestor construcții fascinante, pe RoboFun vei găsi toate uneltele și instrumentele necesare pentru a da viață proiectului tău Arduino.

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s