Hallo; ik zal proberen mijn probleem uit te leggen,Ik heb arduino geprogrammeerd met de code's van een afstand bed, dit doet wat het moet doen Ik heb 4 toetsen 2 t/m 5 als ik op toets 2 druk dan gaat de rode led aan,druk ik nochmaals op 2 dan gaat de rode led uit.Maar dat is niet wat ik wil,wat ik wil is dat ik de toets indruk de rode led aangaat en als ik de toets los laat de rode led uit gaat; en dit geld ook voor de toetsen 3,4,5.Na wat zoeken zit dit in de opdracht "TOGGELE" ik heb dit veranderd in"PULSE" maar dat is dus niet de oplossing.Dan krijg ik de Error (was not declared in this scope) Er moet dus noch iets gebeuren, maar wat. Graag wat Hulp.
c code:
/* Example code to control LEDs with an IR remote and receiver with Arduino. More info: https://www.makerguides.com/ */
#include <IRremote.h>
#define RECEIVER_PIN 6 // define the connections
#define ROOD_LED_PIN 2
#define GEEL_LED_PIN 3
#define GROEN_LED_PIN 4
#define BLAUW_LED_PIN 5
IRrecv receiver(RECEIVER_PIN); // create a receiver object of the IRrecv class
decode_results results; // create a results object of the decode_results class
unsigned long key_value = 0;
void setup() {
Serial.begin(9600); // begin serial communication at a baud rate of 9600
receiver.enableIRIn(); // enable the receiver
receiver.blink13(true); // enable blinking of the built-in LED when an IR signal is received
pinMode(ROOD_LED_PIN, OUTPUT); // set the LED pins as output
pinMode(GEEL_LED_PIN, OUTPUT);
pinMode(GROEN_LED_PIN, OUTPUT);
pinMode(BLAUW_LED_PIN, OUTPUT);
digitalWrite(ROOD_LED_PIN, LOW); // turn all the LEDs off
digitalWrite(GEEL_LED_PIN, LOW);
digitalWrite(GROEN_LED_PIN, LOW);
digitalWrite(BLAUW_LED_PIN, LOW);
}
void loop() {
if (receiver.decode(&results)) {
if (results.value == 0xFFFFFFFF) {
results.value = key_value;
}
switch (results.value) {
case 0x55E2E7DA:
Serial.println("1");
toggleLED(ROOD_LED_PIN); // run the toggle LED function with the red LED pin as input
delay(1000);
break ;
case 0x16D68307:
Serial.println("2");
toggleLED(GEEL_LED_PIN);
delay(1000);
break ;
case 0x56E2E96F:
Serial.println("3");
toggleLED(GROEN_LED_PIN);
delay(1000);
break ;
case 0x15D68172:
Serial.println("4");
toggleLED(BLAUW_LED_PIN);
delay(1000);
break ;
}
key_value = results.value;
receiver.resume();
}
}
void toggleLED(int pin) { // function to toggle the LED on and off
if (digitalRead(pin) == HIGH) { // if the LED is on
digitalWrite(pin, LOW); // turn it off
}
else { // else
digitalWrite(pin, HIGH); // turn it on
}
}