Differences

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

Link to this comparison view

pm:prj2022:cstan:22 [2022/06/02 08:27]
lucian.flutur [Rezultate Obţinute]
pm:prj2022:cstan:22 [2022/06/02 11:16] (current)
lucian.flutur [Descriere generală]
Line 9: Line 9:
  
 <note tip> <note tip>
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. 
  
-Exemplu ​de schemă bloc: http://www.robs-projects.com/​mp3proj/​newplayer.html+ 
 +Placa Arduino este folosită pentru conectarea matricei LED și a microfonului pentru a crea un circuit ​de analiză de spectrumAcestea sunt conectate sub o tensiune de 5V pe breadboardTot prin breadboard este conectat și transmițătorul Bluetooth 5.0 și un fan pentru răcirea circuitelor. Tensiunea de alimentare de 5V este luată de pe placa Arduino iar placa Arduino este alimentată prin mufa USB 2.0. semnalul audio din transmițător este luat mai departe pe mufa RJ45 și se conectează la orice boxă cu mufa RCA. 
 + 
 + 
 + 
 </​note>​ </​note>​
  
Line 17: Line 21:
  
 <note tip> <note tip>
-Aici puneţi tot ce ţine de hardware design: +1 x Arduino MEGA 2560 
-  * listă de piese +1 x Elected microhone 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +1 x LED matrix 8x8 
-  * diagrame de semnal ​ +1 x Breadboard 
-  * rezultatele simulării+1 x Bluetooth 5.0 Transmitter 
 +1 x RJ45 
 +1 x RCA 
 +1 x Fan 5V 0.23A 
 </​note>​ </​note>​
  
Line 28: Line 36:
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei ​(firmware): +#include "​LedControl.h"​ 
-  * mediu de dezvoltare ​(if any) (e.g. AVR StudioCodeVisionAVR+ 
-  ​* librării şi surse 3rd-party (e.g. Procyon AVRlib+/* Led matrix - Max7219 Declared */ 
-  ​* algoritmi şstructuri pe care plănuiţsă le implementaţ+LedControl lc = LedControl(12, 10, 11, 1); 
-  ​(etapa 3) surse şi funcţii implementate+ 
 +const int maxScale = 11; 
 + 
 +/*  Sensor - Max9812 Declared ​*
 +const int sensorPin = A4; 
 +const int sampleWindow = 50;  // 50ms = 20Hz 
 +unsigned int sample; 
 + 
 +unsigned long startMillis;​ 
 +unsigned long timeCycle;​ 
 + 
 +unsigned int signalMax = 0; 
 +unsigned int signalMin = 1024; 
 +unsigned char index = 0; 
 + 
 +unsigned int peakToPeak[8];​ 
 +unsigned int displayPeak[8];​ 
 +unsigned int temp[8]={0,​0,​0,​0,​0,​0,​0,​0};​ 
 +unsigned int signalMaxBuff[8];​ 
 +unsigned int signalMinBuff[8];​ 
 + 
 + 
 +void setup() 
 +  // Led matrix 
 +  lc.shutdown(0, false); // bật hiện thị 
 +  lc.setIntensity(01); // chỉnh độ sáng  
 +  ​lc.clearDisplay(0);​ // tắt tất cả led 
 + 
 +  Serial.begin(9600);​ 
 +
 + 
 +void loop() { 
 +  startMillis = millis(); 
 +  //​peakToPeak = 0; 
 + 
 +  signalMax = 0; 
 +  signalMin = 1024; 
 +   
 +  // Get data in 50ms 
 +  while (millis() ​startMillis < sampleWindow) { 
 +    sample = analogRead(sensorPin);​ 
 +     
 +    if (sample < 1024) { 
 +      if (sample > signalMax) { 
 +        signalMax = sample; 
 +      } 
 +      if (sample < signalMin) { 
 +        signalMin = sample; 
 +      } 
 +    }  
 + 
 +    // 20Hz - 64Hz - 125Hz - 250Hz - 500Hz - 1kHz (timeCycle = 1/F)(ms) 
 +    timeCycle = millis() - startMillis;​ 
 +    if (timeCycle == 1 || timeCycle == 2 || timeCycle == 4 || timeCycle == 8  
 +        || timeCycle == 16 || timeCycle == 32 || timeCycle == 40 || timeCycle == 50) { 
 +              signalMaxBuff[index] = signalMax;​ 
 +              signalMinBuff[index] = signalMin;​ 
 +              index = (index + 1) % 8; 
 +              delay(1); 
 +              //Serial.println(timeCycle)
 +    } 
 +  ​
 + 
 +  // Delete pointer to array 
 +  index = 0; 
 + 
 +  // Calculation after get samples 
 +  for (int = 0; < 8; i++) {  // i = row (led matrix) 
 +    // sound level 
 +    peakToPeak[i] = signalMaxBuff[i] - signalMinBuff[i];​ 
 +     
 +    // Map 1v p-p level to the max scale of the display 
 +    displayPeak[i] = map(peakToPeak[i],​ 0, 1023, 0, maxScale);​ 
 + 
 +    // Show to led matrix 
 +    displayLed(displayPeak[i],​ i); 
 +     
 +    // Led drop down 
 +    if (displayPeak[i] >= temp[i]) { 
 +      temp[i] = displayPeak[i];​ 
 +    } 
 +    else { 
 +      temp[i]--;​ 
 +    } 
 +     
 +    lc.setLed(0,​ i, temp[i], true); 
 +    delayMicroseconds(250);​ 
 +  ​
 +    
 +
 + 
 +void displayLed(int displayPeak,​ int row) { 
 +  switch (displayPeak) { 
 +    case 0 : lc.setRow(0,​ row, 0x80); break; 
 +    case 1 : lc.setRow(0,​ row, 0xC0); break; 
 +    case 2 : lc.setRow(0,​ row, 0xE0); break; 
 +    case : lc.setRow(0,​ row, 0xF0); break; 
 +    case 4 : lc.setRow(0,​ row, 0xF8); break; 
 +    case 5 : lc.setRow(0,​ row, 0xFC); break; 
 +    case 6 : lc.setRow(0,​ row, 0xFE); break; 
 +    case 7 : lc.setRow(0,​ row, 0xFF); break; 
 +  } 
 +
 </​note>​ </​note>​
  
Line 43: Line 154:
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download ===== 
- 
-<note warning> 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). 
- 
-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> <note tip>
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
-===== Bibliografie/​Resurse ===== 
  
-<​note>​ +Să faci un proiect Arduino când este criză de semiconductori globalnu este distractiv.
-Listă cu documente, datasheet-uri,​ resurse Internet folositeeventual grupate pe **Resurse Software** şi **Resurse Hardware**. +
-</​note>​+
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</a></​html>+</note>
  
pm/prj2022/cstan/22.1654147620.txt.gz · Last modified: 2022/06/02 08:27 by lucian.flutur
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