Arduino schéma - arduino.sk

Zobrazovanie čísla relé výstupu na displeji

Vaše nápady a pomoc s Vašimi projektami
Príspevky: 1
Registrovaný: Štv 20. Nov 2014 14:29:26

Zobrazovanie čísla relé výstupu na displeji

Poslaťod kuno23 » Uto 10. Okt 2017 21:46:16

Ahojte ,potreboval som od Vás pomoc. Mám dosku so 4relé, ktoré chcem použiť ako náhradu mechanického prepínača na audio switchy. Používam dotykové tlačidlo na prepínanie relé výstupu. Na nete som našiel nejaké kódy na prepínanie led pomocou tlačidla, ktoré som si upravil pre moje potreby:
Kód: Vybrať všetko
/* 
Demonstrates the use of an array to hold pin numbers. 
Each time the push button is pressed, next RELAY in the 
sequence will be turned on while the rest of RELAY´s are off. 
*/ 
const int buttonPin = 2;   // the number of the pushbutton pin 
const int relayPin1 = 3;   // the number of the Relay1 pin 
const int relayPin2 = 4;   // the number of the Relay2 pin 
const int relayPin3 = 5;   // the number of the Relay3 pin 
const int relayPin4 = 6;   // the number of the Relay4 pin   
// variables will change: 
int buttonState = 0;     // variable for reading the pushbutton status 
int buttonPressCount = 0; 
int numberOfRELAY = 4; 
void setup() { 
  // initialize the Relay pin as an output: 
  pinMode(relayPin1, OUTPUT); 
  pinMode(relayPin2, OUTPUT); 
  pinMode(relayPin3, OUTPUT); 
  pinMode(relayPin4, OUTPUT);   
  // initialize the pushbutton pin as an input: 
  pinMode(buttonPin, INPUT);
   //Turn OFF any power to the Relay channels
   digitalWrite(relayPin1,LOW);
   digitalWrite(relayPin2,HIGH);
   digitalWrite(relayPin3,HIGH);
   digitalWrite(relayPin4,HIGH);

void loop() { 
  // read the state of the pushbutton value: 
  buttonState = digitalRead(buttonPin); 
  // check if the pushbutton is pressed. 
  // if it is, the buttonState is HIGH: 
  if (buttonState == HIGH) { 
   if (buttonPressCount % numberOfRELAY == 0) { 
    // turn Relay1 on: 
    digitalWrite(relayPin1, LOW); 
   } else { 
    digitalWrite(relayPin1, HIGH); 
   } 
   if (buttonPressCount % numberOfRELAY == 1) { 
    // turn Relay2 on: 
    digitalWrite(relayPin2, LOW); 
   } else { 
    digitalWrite(relayPin2, HIGH); 
   } 
   if (buttonPressCount % numberOfRELAY == 2) { 
    // turn Relay3 on: 
    digitalWrite(relayPin3, LOW); 
   } else { 
    digitalWrite(relayPin3, HIGH); 
   } 
   if (buttonPressCount % numberOfRELAY == 3) { 
    // turn Relay4 on: 
    digitalWrite(relayPin4, LOW); 
   } else { 
    digitalWrite(relayPin4, HIGH); 
   }   
   buttonPressCount++; 
   delay(400); 
  } 



Z popisu je jasné, že po zapnutí, ako prvé zopne relé 1 a každé stlačenie tlačidla prepne na následujúce relé.Takže všetko funguje ako potrebujem.
Chcel by som ale ešte pomocou 8x8 MAX7219 matrix displeja zobrazovať číslo práve zopnutého relé. Čiže zopnuté relé 1 na displeji svieti 1, zopnuté relé 2 na displeji svieti 2, atď. Viete mi stým niekto nejako pomôcť,s úpravou kódu, nejaké pomocné indície , funkčné odkazy-príklady, budem Vám veľmi vďačný za každú pomoc. Som samouk,začiatočník, snáď Vás to nebude obťažovať. Vopred veľmi pekne ďakujem za každú pomoc.

Príspevky: 35
Registrovaný: Uto 23. Dec 2014 2:15:50

Re: Zobrazovanie čísla relé výstupu na displeji

Poslaťod martinius96 » Sob 21. Okt 2017 22:30:12

Ahoj, toto forum je dead.. skús svetelektro.com Je tam sekcia Arduino, radi a rýchlo poradia.

Späť na Projekty vo fáze vývoja