Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:cghenea:smart_light_with_bluethooth [2021/04/29 17:52]
alina_ionela.avram
pm:prj2021:cghenea:smart_light_with_bluethooth [2021/06/02 18:59] (current)
alina_ionela.avram
Line 1: Line 1:
-====Smart light with bluethooth==== ​+====== Smart light with bluethooth ​====== 
  
 Nume: Avram Alina Ionela \\ Nume: Avram Alina Ionela \\
Line 5: Line 5:
 Grupa: 334CA Grupa: 334CA
  
-=== Introducere === +====== Introducere ​====== 
-Proiectul pe care l-am ales va reprezenta o lampa inteligenta. Aceasta se va aprinde automat atunci cand in camera in care se afla este intuneric si exista miscare. Totodata ​aceasta ​va putea fi controlata si prin functia de bluethooth, pentru cazul in care vrem sa aprindem lampa manual pentru un plus de lumina.+Proiectul pe care l-am ales va reprezenta o lampa inteligenta. Aceasta se va aprinde automat atunci cand in camera in care se afla este intuneric si exista miscare. Totodata ​lampa va putea fi controlata si prin functia de bluethooth, pentru cazul in care vrem sa aprindem lampa manual pentru un plus de lumina.
  
-=== Descriere generală === +====== Descriere generală ====== 
- +Pentru a realiza acest proiect ma voi folosi ​de un senzor de lumina si unul de miscare. Lampa va fi setata sa se aprinda doar atunci cand ambii senzori vor fi activati, altfel ledul va ramane stinsTotodata, ​voi putea aprinde ​acest led manualcu ajutorul modulului bluetooth atunci cand imi doresc ca lampa sa se aprinda fara a tine cont de senzori.
-Pentru a realiza acest proiect ma voi folosi ​se un senzor de lumina si unul de miscare. Lampa va fi setata sa se aprinda doar atunci cand ambii senzori vor fi activati. ​Cu ajutorul unui modul bluethooth ma voi putea conecta cu telefonul la acest dispozitivpentru a vedea diferite detalii pe care lampa le inregistreaza.+
        
-===Hardware Design===+====== Hardware Design ​======
 Componente necesare: \\ Componente necesare: \\
 Led \\ Led \\
Line 19: Line 18:
 Arduino \\ Arduino \\
 Modul pir \\ Modul pir \\
-Convertor nivel logic I2C \\ 
 Modul bluethooth \\ Modul bluethooth \\
 Modul senzor lumina \\ Modul senzor lumina \\
  
-{{:​pm:​prj2021:​cghenea:​capture.jpg?600|}}+{{:​pm:​prj2021:​cghenea:​tempsnip.png?​700|}} 
 + 
 +====== Software Design ====== 
 +Am folosit ARDUINO IDE. Pentru inceput am setat pinii necesari: ledul - 13, senzor pir - 2, senzor lumina - 8. Am facut setup-ul necesar si in blucla de loop am implementat logica proictului.  
 +Vom citi datele transmise de senzori si in functie de acestea vom aprinde ledul. Daca atat valoarea citita de sezorul de lumina, cat si cea a senzorului PIR sunt egale cu 1, atunci setam ledul pe HIGH, altfel ledul se va stinge setandu-l pe LOW. Pentru buna functionare o bluetooth-ului citesc de la tastatura un caracter de tip char. Daca se citeste "​a"​ (aprinde) atunci vom aprinde ledul si va ramane aprins pana cand il vom stinge prin comanda "​s"​ (stinge). 
 +{{:​pm:​prj2021:​cghenea:​capture222.jpg?200|}} ​  ​{{:​pm:​prj2021:​cghenea:​capture2.jpg?​200|}} 
 + 
 +<spoiler CODUL SURSA> 
 +<​code>​ 
 + 
 +#include <​SoftwareSerial.h>​ 
 + 
 +SoftwareSerial Bluetooth(0,​1);​ 
 +int led = 13; // ledul este setat la 13 
 +int sensor = 2; // senzorul PIR este setat la 2 
 +int light_sensor = 8; // senzorul de lumina setat la 8 
 + 
 +void setup() { 
 +  pinMode(led,​ OUTPUT); 
 +  pinMode(sensor,​ INPUT); 
 +  pinMode(light_sensor,​INPUT);​ 
 +  Serial.begin(9600);​ 
 +
 + 
 +char light; 
 + 
 +// functie aprindere pentr un timp in functie de timer 
 +unsigned long duration = 0; 
 +byte i = 0; 
 +void myfun() { 
 +    digitalWrite(led,​ HIGH); 
 +    Serial.println("​led aprins pentru "); 
 +    Serial.println(duration);​ 
 +    delay(duration);​ 
 +    digitalWrite(led,​ LOW); 
 +
 + 
 + 
 +void loop() { 
 +  // se citeste sensorul pir 
 +  int sensorval = digitalRead(sensor);​ 
 +  int temp=digitalRead(light_sensor);​ 
 +   
 +  Serial.println(sensorval); ​   // printeaza val senzor pentru pir 1 = miscare 0=altfel 
 +  Serial.println(temp); ​        // printeaza val senzor lumina 1 = intuneric 0 = lumina 
 + 
 +  // citim date de la bluetooth Lista:  
 +  // a-aprinde 
 +  // s-stinge 
 +  // t = folosim timer 
 +  char data= Serial.read(); ​    
 +  Serial.println(data);​ 
 +   
 +   ​if(data == '​a'​) { 
 +    light = '​a';​ 
 +   } else if(data == '​s'​) { 
 +    light = '​s';​ 
 +   } 
 +   // daca senzorul a fost setat aprins din blutooth atunci ledul ramane aprins 
 +   // sau daca este intuneric si miscare 
 +   // altfel 
 +   // daca am setat senzorul sa fie stins sau in camera este lumina sau nu este miscare 
 +   if ((sensorval == HIGH && temp == HIGH) || light == '​a'​ ) { 
 +        digitalWrite(led,​ HIGH); 
 +        Serial.println("​led aprins"​);​ 
 +   } else if (sensorval != HIGH || temp != HIGH || light == '​s'​){ 
 +        digitalWrite(led,​ LOW); 
 +        Serial.println("​led stins"​);​ 
 +   }  
 +           
 +  char dataArray[10];​ 
 +  // pentru TIMER         
 +  Serial.println("​la timer"​);​ 
 +  while(Serial.available() > 0) { 
 +    dataArray[i] = Serial.read();​ 
 +    Serial.println(dataArray[i]);​ 
 +    if(dataArray[i] == '#'​){ 
 +      Serial.println(i);​ 
 +      duration = 0; 
 +      duration = atol(dataArray);​ // se converteste vectorul de char in long 
 +      Serial.println(duration);​ 
 +      i = 0; 
 +      myfun(); 
 +      break; 
 +   } 
 +   ​i++;​ 
 + } 
 +   ​delay(1000); ​  
 +
 +</​code>​ 
 +</​spoiler>​ 
 + 
 +====== Rezultate Obţinute ====== 
 +Am obtinut rezultatul dorit. Aici este un exemplu: 
 + 
 + 
 +{{:​pm:​prj2021:​cghenea:​r1.jpeg?​400|}} 
 +{{:​pm:​prj2021:​cghenea:​r2.jpeg?​400|}}
  
-===Software Design===+====== ​Concluzii ====== 
 +Pentru o exemplificare mai ampla voi atasa mai jos urmatorul link catre demo:
  
-===Rezultate Obţinute===+[[https://​www.youtube.com/​watch?​v=iWokTGAoYlM&​ab_channel=MariaCiont%C3%AEc]]
  
-===Concluzii=== 
  
-===Download==+====== Bibliografie ====== 
 +[[https://​create.arduino.cc/​projecthub/​mayooghgirish/​arduino-bluetooth-basic-tutorial-d8b737]] 
 +[[https://​play.google.com/​store/​apps/​details?​id=com.appsvalley.bluetooth.arduinocontroller&​hl=ro&​gl=US]]
  
-===Jurnal===+====== Jurnal ​======
 {{:​pm:​prj2021:​cghenea:​smart_light_with_bluethooth2.pdf|}} {{:​pm:​prj2021:​cghenea:​smart_light_with_bluethooth2.pdf|}}
 +{{:​pm:​prj2021:​cghenea:​final.pdf|}}
  
  
pm/prj2021/cghenea/smart_light_with_bluethooth.1619707962.txt.gz · Last modified: 2021/04/29 17:52 by alina_ionela.avram
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0