Zobrazovanie čísla relé výstupu na displeji
Príspevkov: 3
• Stránka 1 z 1
Zobrazovanie čísla relé výstupu na displeji
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:
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.
- 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.
- martinius96
- Príspevky: 44
- Registrovaný: Uto 23. Dec 2014 2:15:50
Re: Zobrazovanie čísla relé výstupu na displeji
Ahoj, toto forum je dead.. skús svetelektro.com Je tam sekcia Arduino, radi a rýchlo poradia.
Re: Zobrazovanie čísla relé výstupu na displeji
Ahoj, niečo o tom na webe je (https://playground.arduino.cc/Main/MAX72XXHardware) , ale naštudovať a aplikovať na svoje potreby asi budeš musieť sám. Asi to nie je vec s ktorou bežne ľudia robia, a neviem či niekto si kúpi ten LED driver a LEDky a bude to skúšať a ladiť, aby ti sem dal kód. Rámcovo je to na tom playgrounde rozpísané...
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina
Príspevkov: 3
• Stránka 1 z 1