EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista...

14
1 I C. T. Centrul de pregătire pentru performanță PERM în Programare – Electronică – Robotică – Mecanică Adresă sites PERM: https://sites.google.com/site/cpppetrumaior/ C.T. „Mircea cel Bătrân” C.T. „Petru Maior” Secțiune: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONAL Titlul: Optimizarea unei locuințe cu comandă GSM Autori: Prof. Ing. Pițigoi Andrei Prof. Ing. Gaidoș Nicoleta

Transcript of EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista...

Page 1: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

1

I

C. T.

Centrul de pregătire pentru performanță PERM în Programare –

Electronică – Robotică – Mecanică

Adresă sites PERM: https://sites.google.com/site/cpppetrumaior/

C.T. „Mircea cel Bătrân” C.T. „Petru Maior”

Secțiune: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL

TEHNIC ȘI PROFESIONAL

Titlul: Optimizarea unei locuințe cu

comandă GSM

Autori:

Prof. Ing. Pițigoi Andrei

Prof. Ing. Gaidoș Nicoleta

Page 2: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

2

Cuprins:

1. Optimizarea unei locuințe cu comandă GSM ....................................................................... 3

1.1. Noțiuni introductive ............................................................................................................ 3

1.2. Utilizare ........................................................................................................................... 4

1.3. Funcționarea elementelor componenente ........................................................................ 5

1.3.1. Arduino Atmega 2560 .............................................................................................. 5

1.3.2. Releu de comandă .................................................................................................... 5

1.3.4. Modul GSM .............................................................................................................. 6

1.3.5. Driver pentru motor de c.c. ...................................................................................... 8

1.3.6. Tastatură ................................................................................................................... 9

1.3.7. Senzor de temperatură ............................................................................................ 10

1.3.8. Senzor pentru telecomandă - Receptor Infrarosu CHQ1838.................................. 11

1.4. Interfață telefon ............................................................................................................. 12

1.5. Realizare practică .......................................................................................................... 13

1.6. Posibilități de extindere ................................................................................................. 14

1.7. Bibliografie .................................................................................................................... 14

Page 3: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

3

1. Optimizarea unei locuințe cu comandă GSM

1.1. Noțiuni introductive

Conceptul de casă inteligentă prin contrast cu o casă tipică, reprezintă de exemplu:

pornirea aerului condiționat, închiderea luminii sau reglarea căldurii.

Electronicele și electrocasnicele într-o casă inteligentă pot fi comandate centralizat, de

la distanță. Utilizatorii vor putea crea principii de automatizare de genul “pornește centrala

termică și verifică temperatura”.

În prima fază inteligența se va traduce în posibilitatea de a controla de la distanță

dispozitivele din casă și setarea de reguli automate pentru funcționarea acestora. Poate în

viitor vom vorbi și de inteligențe artificiale care vor decide ce este mai bine pentru noi, însă

momentan nu este cazul.

Cea mai frecventa întrebare este probabil “la ce ne folosește o casa inteligenta?”

➢ Oferă siguranță și confort

➢ Este un loc dotat cu tehnologie, deci ”cool”

➢ Comandă funcționarea echipamentelor de la distanță prin satelit

➢ Permite monitorizarea permanentă a casei de la distanță

➢ Conține materiale ecologice și sisteme neconvenționale de producere a energiei

electrice (ex. panouri solare).

➢ Și lista poate continua…!

Page 4: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

4

În cabinetul proiectului PERM era macheta unei case și așa a venit ideea….

Partea practică s-a efectuat pe un model de casă în miniatură prezentată în imaginea de

mai jos.

1.2. Utilizare

Rezumat. Realizarea comenzilor prin GSM are drept obiectiv optimizarea funcționării

instalațiilor și echipamentelor electrice, utilizând instrucțiuni de programare în limbajul

C++.

Schema de principiu

Pentru realizarea proiectului am avut în vedere să proiectez următoarele componente:

componenta hardware și componenta software.

Componenta hardwer cuprinde următoarele componente: conductoare electrice,

relee de comandă, motor de c.c., modul GSM, dulie, bec, radiator electric, senzor de

temperatură, tastatură, senzor fotoelectric, alimentatoare și leduri.

Componenta software cuprinde următorul program: Arduino.

În figura de mai jos se prezintă schema bloc pentru simplificarea funcționării

comenzilor GSM.

Page 5: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

5

Schemă bloc

1.3. Funcționarea elementelor componenente

1.3.1. Arduino Atmega 2560

1.3.2. Releu de comandă

Page 6: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

6

Program:

Releul de comandă acționează aprindere și stingerea unui led.

void setup() {

Serial.begin(9600);

pinMode(36,OUTPUT);

}

void loop() {

bec();

}

void bec(){

digitalWrite(36,HIGH);

delay(1000);

digitalWrite(36,LOW);

delay(1000);

}

1.3.4. Modul GSM

Program EMISIE:

Modul GSM transmite la telefon o valoare numerică sub formă zecimală.

char b[10];

int c;

void setup() {

Serial.begin(115200);

Serial2.begin(38400);

}

void loop() {

while(Serial2.available()) Serial.write(Serial2.read());

while(Serial.available()) Serial2.write(Serial.read());

trimitere();

delay(100);

}

void trimitere()

Page 7: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

7

{

Serial2.print("\r");

delay(1000);

Serial2.print("AT+CSCS=\"GSM\"\r");

delay(1000);

Serial2.print("AT+CMGF=1\r");

delay(1000);

Serial2.print("AT+CMGS=\"+40727083523\"\r");

delay(1000);

c=250;

b[10]=itoa(c,b,10);

Serial2.print(b);

delay(1000);

Serial2.write(0x1A);

delay(1000);

}

Program RECEPȚIE:

Telefonul transmite un SMS la modul GSM.

int a;

bool ledStatus;

void setup()

{

Serial.begin(115200);

Serial2.begin(38400);

delay(100);

Serial2.print("AT+CMGF=1\r");

delay(100);

Serial2.print("AT+CSCS=\"GSM\"");

Serial2.print("\r");

delay(100);

Serial2.print("AT+CMGF=1\r");

delay(100);

Serial2.print("AT+CNMI=1,2,0,0,0\r");

delay(100);

Serial2.println("AT+CMGD=1");

delay(100);

}

char currentLine[500] = "";

int currentLineIndex = 0;

bool nextLineIsMessage = false;

void loop() {

if(Serial2.available()){

char lastCharRead = Serial2.read();

if(lastCharRead == '\r' || lastCharRead == '\n'){

String lastLine = String(currentLine);

if(lastLine.startsWith("+CMT:")){

Page 8: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

8

Serial.println(lastLine);

nextLineIsMessage = true;

}else if(lastLine.length() > 0) {

if(nextLineIsMessage) {

Serial.println(lastLine);

a=atoi(lastLine.c_str());

Serial.println(a);

if(a==44){

Serial.println("adevarat");

}else{

Serial.println("fals");

}

Serial.println("jhgft");

if(lastLine.indexOf("LED ON") >= 0){

ledStatus = 1;

}else if(lastLine.indexOf("LED OFF") >= 0) {

ledStatus = 0;

}

nextLineIsMessage = false;

}

}

for( int i = 0; i < sizeof(currentLine); ++i ) {

currentLine[i] = (char)0;

}

currentLineIndex = 0;

}else{

currentLine[currentLineIndex++] = lastCharRead;

}

}

}

1.3.5. Driver pentru motor de c.c.

Program:

Driver-ul acționează motorul electric de c.c.

int MOTOR1_PIN1 = 2;

int MOTOR1_PIN2 = 3;

void setup() {

pinMode(MOTOR1_PIN1, OUTPUT);

Page 9: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

9

pinMode(MOTOR1_PIN2, OUTPUT);

Serial.begin(9600);

}

void loop() {

motor();

}

void motor() {

analogWrite(MOTOR1_PIN1,200);

analogWrite(MOTOR1_PIN2,0);

delay (1000);

analogWrite(MOTOR1_PIN1,0);

analogWrite(MOTOR1_PIN2,200);

delay(1000);

}

1.3.6. Tastatură

Tastatură Leduri

Program:

Tastatura pornește motorul electric de c.c. și aprinde ledurile.

#include <Keypad.h>

int MOTOR1_PIN1 = 2;

int MOTOR1_PIN2 = 3;

const byte ROWS = 4;

const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {

{'1','4','7','*'},

{'2','5','8','0'},

{'3','6','9','#'},

{'A','B','C','D'}

};

byte rowPins[ROWS] = {44, 42, 40, 38};

byte colPins[COLS] = {52, 50, 48, 46};

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS,

COLS);

Page 10: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

10

void setup(){

Serial.begin(9600);

pinMode(30,OUTPUT);

pinMode(20,OUTPUT);

pinMode(MOTOR1_PIN1, OUTPUT);

pinMode(MOTOR1_PIN2, OUTPUT);

}

void loop(){

tastatura();

}

void tastatura(){

char customKey = customKeypad.getKey();

if(customKey=='1'){

Serial.println(customKey);

digitalWrite(30,HIGH);

digitalWrite(20,LOW);

analogWrite(MOTOR1_PIN1,200);

analogWrite(MOTOR1_PIN2,0);

}else if(customKey=='2'){

Serial.println(customKey);

digitalWrite(20,HIGH);

digitalWrite(30,LOW);

analogWrite(MOTOR1_PIN1,0);

analogWrite(MOTOR1_PIN2,200);

}else if(customKey=='3'){

Serial.println(customKey);

digitalWrite(30,LOW);

digitalWrite(20,LOW);

analogWrite(MOTOR1_PIN1,0);

analogWrite(MOTOR1_PIN2,0);

}

}

1.3.7. Senzor de temperatură

Program:

Senzorul de temperatură citește temperatura într-un mediu ambiant.

int count=10;

int reztemp;

void setup() {

Page 11: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

11

pinMode(A0,INPUT);

Serial.begin(9600);

}

void loop() {

temperatura();

Serial.println(reztemp);

delay(200);

}

void temperatura(){

int sumaTemperatura=0;

int temperatureCelsius=0;

for (int i =0; i<count; i++) {

int reading=analogRead(A0);

float voltage =reading*5.0;

voltage/=1024.0;

temperatureCelsius=(voltage-0.5)*100;

sumaTemperatura = sumaTemperatura + temperatureCelsius;

reztemp=sumaTemperatura/count;

}

}

1.3.8. Senzor pentru telecomandă - Receptor Infrarosu CHQ1838

Program:

Program: Senzorul CHQ1838 comandă acționarea unor echipamente electrice în funcție

de comaneziile primite de la telecomandă.int cu;

#include "IRremote.h"

int receptie = 2;

int a;

IRrecv irrecv(receptie);

decode_results results;

void setup(){

Serial.begin(9600);

irrecv.enableIRIn();

}

void loop() {

if (irrecv.decode(&results)) {

Serial.println(results.value, BIN);

a=results.value;

Serial.println(a);

irrecv.resume();

}

}

Page 12: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

12

1.4. Interfață telefon

Intefața telefonului a fost realizată în programul MIT App Invertor, fiind un program

care utilizează o programare grafică.

Program MIT App Invertor

Interfață telefon

Page 13: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

13

1.5. Realizare practică

Cursuri PERM

Page 14: EDUCAȚIA ȘI ÎNVĂȚĂMÂNTUL TEHNIC ȘI PROFESIONALelectrice (ex. panouri solare). Și lista poate continua…! 4 În cabinetul proiectului PERM era macheta unei case și așa a

14

1.6. Posibilități de extindere Posibilitățile de extindere a studiului început în cadrul acestei teme se poate baza pe:

➢ Creștere numărului de senzori;

➢ Optimizarea funcționării senzorilor;

➢ Utilizarea temei în domeniul auto;

➢ Utilizarea temei în domeniul medicinii.

În realizarea proiectului s-au utilizate materiale și dispozitive care asigură un consum redus

de energie electrică, costuri minime și fără agresarea mediului înconjurător.

1.7. Bibliografie

1. Alexandru M., Sisteme de măsurare cu traductoare, Editura Matrixrom, 2012.

2. Alexandrescu L, Acustică aplicată, Editura Orator, Braşov 2004.

3. Barna E., Barna V., Cucu C., Miron, C., Mecanică fizică și acustică (II), Editura

Universității Bucureşti, 2010.

4. Barlea N-M, Fizica senzorilor, Editura Albastra, Cluj Napoca, 2000.

5. https://shopniac.ro/case-inteligente-1616/