Hilfe bei einem Code Teil
- littlekenny
- Autor
- Offline
- New Member
Weniger
Mehr
- Beiträge: 2
- Dank erhalten: 0
29 Mär 2018 15:46 #397
von littlekenny
littlekenny erstellte das Thema Hilfe bei einem Code Teil
Hallo zusammen,
vorweg, ich bin Anfänger was die Programmierung eines NodeMCU-Boards angeht!
Ich habe folgenden Code, welcher auch bereits super funktioniert!
Jetzt würde ich gerne wenn das Signal von einem zweiten Taster an einem anderen Pin gesendet wird, einen anderen Binärcode senden!
Hab also 2 Taster, welche jeweils einen anderen Binärcode senden sollen!
Hoffe ihr könnt mir helfen.
Vielen Dank.
Lieben Gruß, littlekenny
vorweg, ich bin Anfänger was die Programmierung eines NodeMCU-Boards angeht!
Ich habe folgenden Code, welcher auch bereits super funktioniert!
#include <RCSwitch.h>
int led = 5; // LED pin (D1)
int button = 16; // push button is connected (D0)
int temp = 0; // temporary variable for reading the button pin status
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT); // declare LED as output
pinMode(button, INPUT); // declare push button as input
mySwitch.enableTransmit(0); //Daten PIN D3 für das Sender Modul
// Optional set protocol (default is 1, will work for most outlets)
mySwitch.setProtocol(1);
// Optional set pulse length.
mySwitch.setPulseLength(759);
}
void loop() {
temp = digitalRead(button);
if (temp == LOW) {
digitalWrite(led, LOW);
Serial.println("bereit zum senden!");
delay(1000);
}
if (temp == HIGH) {
digitalWrite(led, HIGH);
/* Binärcode für die Klingel (433MHZ) */
mySwitch.send("010010010100000101000001");
Serial.println("Signal wurde gesendet");
delay(500);
}
}
Jetzt würde ich gerne wenn das Signal von einem zweiten Taster an einem anderen Pin gesendet wird, einen anderen Binärcode senden!
Hab also 2 Taster, welche jeweils einen anderen Binärcode senden sollen!
Hoffe ihr könnt mir helfen.
Vielen Dank.
Lieben Gruß, littlekenny
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- supporter
- Offline
- Premium Member
Weniger
Mehr
- Beiträge: 135
- Dank erhalten: 12
29 Mär 2018 20:05 - 29 Mär 2018 20:07 #398
von supporter
Hilfe bei einem Code Teil
Hallo littlekenny,
herzlich Willkommen im Forum.
Deine Lösung ist doch sehr einfach:
void loop() {
temp = digitalRead(button);
bool temp2=digitalRead(buttonNr2);
if (temp == LOW && temp2==0) {
digitalWrite(led, LOW);
Serial.println("bereit zum senden!");
delay(1000);
}
if (temp == HIGH || temp2==1) {
digitalWrite(led, HIGH);
/* Binärcode für die Klingel (433MHZ) */
if (temp==1){mySwitch.send("010010010100000101000001");
Serial.println("Signal 1 wurde gesendet");
}
if (temp2==1){mySwitch.send("11111111111111111111oderso");
Serial.println("Signal 1 wurde gesendet");
}
delay(500);
}
}
ABER:
1. Diese Lösung ist ungeprüft
2. delay(); -> raus damit und durch Programmierbeispiel "Blink without delay" ersetzen
herzlich Willkommen im Forum.
Deine Lösung ist doch sehr einfach:
void loop() {
temp = digitalRead(button);
bool temp2=digitalRead(buttonNr2);
if (temp == LOW && temp2==0) {
digitalWrite(led, LOW);
Serial.println("bereit zum senden!");
delay(1000);
}
if (temp == HIGH || temp2==1) {
digitalWrite(led, HIGH);
/* Binärcode für die Klingel (433MHZ) */
if (temp==1){mySwitch.send("010010010100000101000001");
Serial.println("Signal 1 wurde gesendet");
}
if (temp2==1){mySwitch.send("11111111111111111111oderso");
Serial.println("Signal 1 wurde gesendet");
}
delay(500);
}
}
ABER:
1. Diese Lösung ist ungeprüft
2. delay(); -> raus damit und durch Programmierbeispiel "Blink without delay" ersetzen
Letzte Änderung: 29 Mär 2018 20:07 von supporter.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- littlekenny
- Autor
- Offline
- New Member
Weniger
Mehr
- Beiträge: 2
- Dank erhalten: 0
29 Mär 2018 21:25 #399
von littlekenny
Hilfe bei einem Code Teil
Vielen Dank.
Werde es nachher auch mal durchtesten.
Habe es jetzt wie folgt gelöst und direkt noch deinen Rat mit eingebaut!
Wäre es so OK?
Vielen Dank.
Gruß, littlekenny
Werde es nachher auch mal durchtesten.
Habe es jetzt wie folgt gelöst und direkt noch deinen Rat mit eingebaut!
#include <RCSwitch.h>
int led = 5; // LED pin (D1)
int button = 16; // push button is connected (D0)
int button_2 = 13; // push button is connected (D7)
int temp = 0; // temporary variable for reading the button pin status
int temp2 = 0; // temporary variable for reading the button 2 pin status
RCSwitch mySwitch = RCSwitch();
unsigned long previousMillis = 0; // will store last time LED was updated
const long interval = 1000; // interval at which to blink (milliseconds)
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT); // declare LED as output
pinMode(button, INPUT); // declare push button as input
pinMode(button_2, INPUT); // declare push button 2 as input
mySwitch.enableTransmit(0); //Daten PIN D3 für das Sender Modul
// Optional set protocol (default is 1, will work for most outlets)
mySwitch.setProtocol(1);
// Optional set pulse length.
mySwitch.setPulseLength(759);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;
temp = digitalRead(button);
if (temp == LOW) {
digitalWrite(led, LOW);
Serial.println("bereit zum senden!");
}
if (temp == HIGH) {
digitalWrite(led, HIGH);
/* Binärcode für die Klingel (433MHZ) */
mySwitch.send("000000000");
Serial.println("Signal wurde gesendet");
}
temp2 = digitalRead(button_2);
if (temp2 == LOW) {
digitalWrite(led, LOW);
Serial.println("bereit zu senden über Button 2!");
}
if (temp2 == HIGH) {
digitalWrite(led, HIGH);
/*Binärcode für die Klingel 2 (433MHZ) */
mySwitch.send("0000000000");
Serial.println("Signal 2 wurde gesendet");
}
}
}
Wäre es so OK?
Vielen Dank.
Gruß, littlekenny
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Aktuelle Seite:
- Startseite
- Impressum / Datenschutz / ...
- ESP8266 spezifisch
- Codebesprechung
- Hilfe bei einem Code Teil