Differences

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

Link to this comparison view

pm:prj2024:avaduva:stefan.botea [2024/05/25 19:48]
stefan.botea [Software Design]
pm:prj2024:avaduva:stefan.botea [2024/05/27 02:07] (current)
stefan.botea [Software Design]
Line 73: Line 73:
 Inițializare și Setare Inițializare și Setare
  
-#include <​LedControl.h>+{{:​pm:​prj2024:​avaduva:​botea.txt|}}
  
-int DO = 10; // Pin pentru ieșire digitală 
-int DA = A0; // Pin pentru ieșire analogică 
-int threshold = 527; // Prag minim pentru aprinderea LED-urilor 
-int thresholdMatrix = 527; // Prag minim pentru aprinderea matricei 
- 
-int sensorvalue = 0; 
- 
-LedControl lc = LedControl(12,​ 13, 6, 1); // Pini: DataIn, CLK, LOAD, numDevices 
- 
-void setup() { 
-  Serial.begin(9600);​ 
- 
-  // Inițializare MAX7219 
-  lc.shutdown(0,​ false); ​ // Pornire display 
-  lc.setIntensity(0,​ 8);  // Setare intensitate (0 este minim, 15 este maxim) 
-  lc.clearDisplay(0); ​    // Golire registru display 
-  ​ 
-  // Inițializare pini LED ca ieșiri 
-  pinMode(3, OUTPUT); 
-  pinMode(4, OUTPUT); 
-  pinMode(5, OUTPUT); 
-  pinMode(7, OUTPUT); 
-  pinMode(8, OUTPUT); 
-  pinMode(9, OUTPUT); 
-  pinMode(2, OUTPUT); 
-  pinMode(11, OUTPUT); 
-} 
-În funcția setup, comunicarea serială este inițiată la o viteză de 9600 baud pentru depanare. Matricea MAX7219 este, de asemenea, inițializată aici, cu setări pentru intensitate și golire a display-ului. Toți pinii LED sunt setați ca ieșiri. 
- 
-Bucle Principale și Citirea Senzorului 
-cpp 
-void loop() { 
-  sensorvalue = analogRead(DA);​ // Citire valoare analogică de la senzor 
-  Serial.print("​Analog:​ "); 
-  Serial.print(sensorvalue); ​ // Afișare valoare analogică 
-  Serial.print(" ​ "); 
-  Serial.print("​Digital:​ "); 
-  Serial.println(digitalRead(DO)); ​ // Afișare valoare digitală 
- 
-  if (sensorvalue >= threshold) { // Comparare valoare analogică cu pragul 
-    digitalWrite(3,​ HIGH); 
-    digitalWrite(4,​ HIGH); 
-    digitalWrite(5,​ HIGH); 
-    digitalWrite(2,​ HIGH); 
-    digitalWrite(7,​ HIGH); 
-    digitalWrite(8,​ HIGH); 
-    digitalWrite(9,​ HIGH); 
-    digitalWrite(11,​ HIGH); 
- 
-    // Aprindere matrice LED MAX7219 
-  } else { 
-    digitalWrite(3,​ LOW); 
-    digitalWrite(4,​ LOW); 
-    digitalWrite(5,​ LOW); 
-    digitalWrite(2,​ LOW); 
-    digitalWrite(7,​ LOW); 
-    digitalWrite(8,​ LOW); 
-    digitalWrite(9,​ LOW); 
-    digitalWrite(11,​ LOW); 
- 
-    // Stingere matrice LED MAX7219 
-  } 
- 
-  if(sensorvalue >= thresholdMatrix) { 
-    for (int i = 0; i < 8; i++) { 
-      lc.setRow(0,​ i, B11111111); // Aprindere toate LED-urile în rând 
-    } 
-  } else { 
-      lc.clearDisplay(0);​ 
-  } 
-} 
 În funcția loop, valoarea senzorului este citită folosind analogRead(),​ iar valoarea este afișată pe monitorul serial. Dacă valoarea senzorului depășește pragul predefinit, toate LED-urile sunt aprinse, iar matricea MAX7219 afișează un model. Dacă valoarea este sub prag, LED-urile și matricea sunt stinse. În funcția loop, valoarea senzorului este citită folosind analogRead(),​ iar valoarea este afișată pe monitorul serial. Dacă valoarea senzorului depășește pragul predefinit, toate LED-urile sunt aprinse, iar matricea MAX7219 afișează un model. Dacă valoarea este sub prag, LED-urile și matricea sunt stinse.
  
pm/prj2024/avaduva/stefan.botea.1716655706.txt.gz · Last modified: 2024/05/25 19:48 by stefan.botea
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