Bertjebuk
Electronica is mooi als het goed werkt
Hallo; Ik heb een sketch met een fout melding, in (Irsend.begin();ik heb geen idee wat ik daar in moet vullen. Alle hulp word gewaardeerd .
#include <IRremote.h>
const uint8_t IR_SEND_PIN = 3; // IR LED (via transistor) -> D3
const uint8_t BUTTON_PIN = 2; // Toggle knop -> D2 (naar GND)
const uint8_t LED_PIN = 13; // Status LED (on = sending)
const unsigned long NEC_CODE = 0xFF30CF; // NEC code te verzenden
const uint8_t NEC_BITS = 32;
const unsigned long SEND_INTERVAL = 200; // ms tussen herhaalde zendingen
// Debounce instellingen
const unsigned long DEBOUNCE_DELAY = 50; // ms
IRsend irsend; // IR library object (standaard pin voor AVR is D3)
bool sending = false;
unsigned long lastSendTime = 0;
int lastButtonRead = HIGH;
int buttonState = HIGH;
unsigned long lastDebounceTime = 0;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.begin(9600);
// Start IR send (sommige versies van IRremote hebben begin nodig)
irsend.begin(); //hier gaat het fout------------------------------
Serial.println(F("NEC sender ready. Druk knop voor toggle."));
}
void loop() {
int reading = digitalRead(BUTTON_PIN);
// Detecteer verandering en debounce
if (reading != lastButtonRead) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > DEBOUNCE_DELAY) {
if (reading != buttonState) {
buttonState = reading;
// Knop is LOW wanneer ingedrukt (INPUT_PULLUP + knop naar GND)
if (buttonState == LOW) {
// Toggle sending state
sending = !sending;
digitalWrite(LED_PIN, sending ? HIGH : LOW);
if (sending) {
// Direct eerste verzending zodra we inschakelen
Serial.println(F("Sending ON - verzend eerste NEC"));
irsend.sendNEC(NEC_CODE, NEC_BITS);
lastSendTime = millis();
} else {
Serial.println(F("Sending OFF"));
}
}
}
}
lastButtonRead = reading;
// Als in sending-modus, verzend periodiek de NEC-code
if (sending) {
if (millis() - lastSendTime >= SEND_INTERVAL) {
irsend.sendNEC(NEC_CODE, NEC_BITS);
lastSendTime = millis();
}
}
}
Heb je die library wel gedownload met de library manager ?
Moet die #include <IRremote.h> niet #include "IRremote.h" zijn ?
Library naam is fout, moet pp achter
#include <IRremote.hpp> // include the library
in Void Setup gedeelte moet je dit zetten
IrSender.begin(IR_SEND_PIN); //hier gaat het fout------------------------------
deze regel verwijderen, die moet in Void setup staan, maar dat is de regel die hierboven staat.
IRsend irsend; // IR library object (standaard pin voor AVR is D3)
dus dan krijg je dit tot loop
====================================================
#include <IRremote.hpp>
const uint8_t IR_SEND_PIN = 3; // IR LED (via transistor) -> D3
const uint8_t BUTTON_PIN = 2; // Toggle knop -> D2 (naar GND)
const uint8_t LED_PIN = 13; // Status LED (on = sending)
const unsigned long NEC_CODE = 0xFF30CF; // NEC code te verzenden
const uint8_t NEC_BITS = 32;
const unsigned long SEND_INTERVAL = 200; // ms tussen herhaalde zendingen
// Debounce instellingen
const unsigned long DEBOUNCE_DELAY = 50; // ms
bool sending = false;
unsigned long lastSendTime = 0;
int lastButtonRead = HIGH;
int buttonState = HIGH;
unsigned long lastDebounceTime = 0;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.begin(9600);
// Start IR send (sommige versies van IRremote hebben begin nodig)
IrSender.begin(IR_SEND_PIN); //hier gaat het fout------------------------------
Serial.println(F("NEC sender ready. Druk knop voor toggle."));
}
Je kunt ook eerst de examples bekijken van de library, daar los je al veel problemen mee op
[Bericht gewijzigd door Henry S. op (0%)]
zo te zien zou " irsend.begin(); " wel moeten werken, al kan ik niet zien welke library je precies gebruikt.
Maar het gaat al mis bij
const uint8_t IR_SEND_PIN = 3;want IR_SEND_PIN is in de library al gedefiniëerd.
Dus deze regel kun je beter weghalen.
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Op maandag 23 februari 2026 15:46:27 schreef deKees:
[...]
Maar het gaat al mis bijconst uint8_t IR_SEND_PIN = 3;want IR_SEND_PIN is in de library al gedefiniëerd.
Dus deze regel kun je beter weghalen.
Niet netjes dat een library zelf bepaald welke pin er gebruikt gaat worden.
@TS: start altijd met minstens een voorbeeldprogramma van de library te lezen en/of te gebruiken. In de voorbeelden staan altijd belangrijke zaken. De xxxx.h file bekijken leert je veel over de mogelijke methodes en procedures.
Op maandag 23 februari 2026 15:41:12 schreef flash2b:
Heb je die library wel gedownload met de library manager ?Moet die #include <IRremote.h> niet #include "IRremote.h" zijn ?
#include "xxxxx.h" is normaal van toepassing als de file in dezelfde map staat als het programma.
Bertjebuk
Electronica is mooi als het goed werkt
const uint8_t IR_SEND_PIN = 3; SEND, heb ik gewijzigd in OUT , en de regel irsend begin (); heb ik verwijderd, nu gaat het goed.Ik ga de skech morgen proberen of deze ook goed werkt.
Bertjebuk
Electronica is mooi als het goed werkt
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op maandag 23 februari 2026 15:41:12 schreef flash2b:
Moet die #include <IRremote.h> niet #include "IRremote.h" zijn ?
Nee, de GCC goden hebben besloten dat dit hetzelfde is.
Ik weet niet wat de foutmelding is. Ik ga niet een text bestand downloaden en bekijken als je het ook gewoon op een text-forum kan posten.