Differences

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

Link to this comparison view

pm:prj2024:vstoica:georgiana.stoian [2024/05/24 15:02]
georgiana.stoian [Descriere generală]
pm:prj2024:vstoica:georgiana.stoian [2024/05/24 15:53] (current)
georgiana.stoian [Bibliografie/Resurse]
Line 28: Line 28:
 ===== Hardware Design ===== ===== Hardware Design =====
  
-{{:​pm:​prj2024:​vstoica:​pm_schema_capacitor1.png?700|}}+{{:​pm:​prj2024:​vstoica:​schema_final_proj.png?700|}}
  
 Componente utilizate: Componente utilizate:
Line 53: Line 53:
  
 <note tip> <note tip>
-Descrierea ​codului ​aplicaţiei ​(firmware): + 
-  ​* mediu de dezvoltare ​(if any) (e.gAVR StudioCodeVisionAVR+Pentru partea software initial am facut proiectul in 2 parti, prima data am facut partea am facut codul pentru a canta o melodie, componentele utilizate au fost boxa, sd card-ul si modulul pentru micro sd, butoane si placuta de arduino uno. Dupa ce am reusit sa fac aceasta parte a codului ​sa mearga am salvat-o si int-un alt fisier am realizat codul pentru ecranul lcd si senzorul dht11. Dupa ce am reusit sa afisez ceva pe ecran, am afisat si datele obtinute de la senzor. La final am facut un singur fisier in care am imbinat ambele coduri. 
-  * librării şi surse 3rd-party ​(e.gProcyon AVRlib+ 
-  ​* algoritmi şi structuri pe care plănuiţi să le implementaţi +Bibliotecile utilizate sunt: 
-  ​(etapa 3surse şi funcţii implementate+#include <​SD.h> ​                          //​include SD module library 
 +#include <​TMRpcm.h> ​                      //​include speaker control library ​ https://​github.com/​TMRh20/​TMRpcm/​archive/​master.zip 
 +#include <​LiquidCrystal_I2C.h> ​           // include I2C LCD library 
 +#include <​DHT.h> ​                         // include DHT sensor library 
 + 
 +Pnetru butoane am folosit intreruperi:​ 
 +void button_humi()
 +  curr_time = millis(); 
 +  if ((curr_time - last_updated) > debounce) { 
 +    last_updated = curr_time;​ 
 +    noInterrupts();​ // disable interrupts temporarily 
 +    if (humidity > humidity_treashold) { 
 +      sound.stopPlayback();​ 
 +      sound.play("​third.wav"​); ​    // 8-bit, mono, 16-24khz at best 
 +      lcd.clear();​ 
 +      lcd.setCursor(0,​0);​ 
 +      lcd.print("​Playing sound..3"​);​ 
 +    } else { 
 +      sound.stopPlayback();​ 
 +      sound.play("​fourth.wav"​); ​    // 8-bit, mono, 16-24khz at best 
 +      lcd.clear();​ 
 +      lcd.setCursor(0,​0);​ 
 +      lcd.print("​Playing sound..4"​);​ 
 +    } 
 +    interrupts();​ // re-enable interrupts 
 +  } 
 +
 + 
 +in setup() fac setez pinii si volumul boxei si sd card-ul. 
 + 
 +void setup(){ 
 + 
 +  //interrupt setup 
 +  pinMode(led_on_high_temp,​ OUTPUT); 
 +  pinMode(led_on_low_temp,​ OUTPUT); 
 +  pinMode(led_on_high_humi,​ OUTPUT); 
 +  pinMode(led_on_low_humi,​ OUTPUT); 
 +  pinMode(button_tem,​ INPUT_PULLUP);​ 
 +  pinMode(button_hum,​ INPUT_PULLUP);​ 
 +  attachInterrupt(digitalPinToInterrupt(button_tem),​ button_temp,​ FALLING); 
 +  attachInterrupt(digitalPinToInterrupt(button_hum),​ button_humi,​ FALLING); 
 + 
 +  // LCD setup 
 +  lcd.init();​ 
 +  lcd.backlight();​ 
 +  lcd.print("​Initializing SD"​);​ 
 + 
 +  // Open serial communications and wait for port to open
 +  ​Serial.begin(9600);​ 
 +  while (!Serial) { 
 +    ; // wait for serial port to connect. Needed for native USB port only 
 +  }                                        
 +  Serial.println("​Initializing SD card..."​);​ 
 +  if (!SD.begin(SD_ChipSelectPin)) {      //see if the card is present and can be initialized 
 +    Serial.println("​Initialization failed..."​);​ 
 +    lcd.clear();​ 
 +    lcd.print("​SD init failed"​);​ 
 +    return; ​                              //​don'​t do anything more if not 
 +  } 
 +  else { 
 +      Serial.println("​Initialization done..."​);​ 
 +      lcd.clear();​ 
 +      lcd.print("​SD init done"​);​ 
 +  } 
 + 
 +  dht.begin();​ 
 +  sound.speakerPin = 9;                   
 +  sound.quality(1); ​                      
 +  sound.setVolume(5); ​                    
 +
 + 
 +Functia ​de loop(): 
 + 
 +void loop(){ 
 + 
 +  if (!SD.begin(SD_ChipSelectPin)) {      //see if the card is present and can be initialized 
 +    lcd.clear();​ 
 +    lcd.print("​SD init failed"​);​ 
 +    return; ​                              //​don'​t do anything more if not 
 +  } 
 +  else { 
 +      lcd.clear();​ 
 +      lcd.print("​SD init done"​);​ 
 +  } 
 +   
 +  if(!sound.isPlaying()) { 
 +    // Read temperature and humidity from DHT sensor 
 +    humidity = dht.readHumidity();​ 
 +    temperature = dht.readTemperature();​ 
 + 
 +    // Check if any reads failed and exit early (to try again)
 +    if (isnan(humidity) || isnan(temperature)) { 
 +      Serial.println("​Failed to read from DHT sensor!"​);​ 
 +      return; 
 +    } 
 + 
 +    lcd.setCursor(0,0); 
 +    ​lcd.print("Temp: "); 
 +    lcd.print(temperature);​ 
 +    lcd.print("​ C")
 +    lcd.setCursor(0,​1);​ 
 +    lcd.print("​Humidity:​ "); 
 +    lcd.print(humidity);​ 
 +    lcd.print("​ %"); 
 + 
 +    if (temperature > temperature_threshold) { 
 +      digitalWrite(led_on_high_temp,​ HIGH); // Turn on the LED on pin 5 
 +      digitalWrite(led_on_low_temp,​ LOW); 
 +    } else { 
 +      digitalWrite(led_on_high_temp,​ LOW);  
 +      digitalWrite(led_on_low_temp,​ HIGH); //Turn on the LED on pin 4 
 +    } 
 + 
 +    if (humidity > humidity_treashold) { 
 +      digitalWrite(led_on_high_humi,​ HIGH); // Turn on the LED on pin 8 
 +      digitalWrite(led_on_low_humi,​ LOW); 
 +    } else { 
 +      digitalWrite(led_on_high_humi,​ LOW);  
 +      digitalWrite(led_on_low_humi,​ HIGH); //Turn on the LED on pin 6 
 +    } 
 + 
 +    delay(5000);​ 
 + 
 +    // Display temperature and humidity in the Serial Monitor 
 +    Serial.print("​Temperature:​ "); 
 +    Serial.print(temperature);​ 
 +    Serial.println("​ C"); 
 +    Serial.print("​Humidity:​ "); 
 +    Serial.print(humidity);​ 
 +    Serial.println("​ %"); 
 +  ​} 
 +  ​else { 
 +    lcd.clear()
 +    lcd.setCursor(0,​0);​ 
 +    lcd.print("​Playing sound..."​);​ 
 +  } 
 +
 </​note>​ </​note>​
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Rezultatele ​obţinute în urma realizării proiectului.
-Care au fost rezultatele ​obţinute în urma realizării proiectului ​vostru. +
-</​note>​+
  
-===== Concluzii =====+<note warning>​[[https://​www.youtube.com/​watch?​v=ALfjnH8IBiQ&​ab_channel=StoianAmalia]]</​note>​
  
-===== Download ===== 
  
-<note warning> +{{:​pm:​prj2024:​vstoica:​breadboard_.jpeg?​400|}} 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+{{:pm:​prj2024:​vstoica:​dht11andlcd.jpeg?​400|}} 
 +{{:​pm:​prj2024:​vstoica:​sound.jpeg?400|}}
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. 
-</​note>​ 
  
-===== Jurnal ===== 
  
-<note tip> + 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului+ 
-</​note>​+ 
 +===== Download ===== 
 + 
 +{{:​pm:​prj2024:​vstoica:​stoian_georgiana-amalia_proiect_pm.zip|}} 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf 
 + 
 +https://​www.youtube.com/​watch?​v=tNNycZpvg-Y&​ab_channel=AndrobotTECH 
 + 
 +https://​www.youtube.com/​watch?​v=pOFFsiolsGU&​ab_channel=AndrobotTECH 
 + 
 +https://​www.youtube.com/​watch?​v=CvqHkXeXN3M&​t=481s&​ab_channel=Tronicslk 
 </​note>​ </​note>​
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2024/vstoica/georgiana.stoian.1716552150.txt.gz · Last modified: 2024/05/24 15:02 by georgiana.stoian
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