Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
Onderdelen en benodigdheden
- Arduino UNO (1×)
- 1Sheeld (1×)
- IR-ontvanger (voor decoderen bestaande remotes, 1×)
- LED (algemeen, voor status, 1×)
Over dit project
Dit project laat zien hoe je je TV, satellietontvanger, stereo en andere IR-apparaten kunt bedienen vanaf je Android-telefoon via 1Sheeld – één app voor alle remotes.
Stap 1: 1Sheeld-app installeren
Download de 1Sheeld-app uit de Google Play Store.
Stap 2: Je bestaande remotes decoderen
Elke knop op een IR-remote stuurt een uniek pulspatroon uit. We moeten die codes vastleggen.
- Installeer de IRremote bibliotheek in Arduino IDE.
- Open voorbeeld
IRrecvDump(zie afbeelding). - Sluit IR-ontvanger aan: GND → GND, VCC → 5V, OUT → Pin 11.
- Upload sketch, open Serial Monitor, druk knoppen op je remote.
- Noteer de hex-codes per functie (bijv.
0x20DF10EF= Power).





Let op: bij "unknown encoding" knop opnieuw indrukken.
Stap 3: IR-zendcode uploaden
Vervang in de zend-sketch de placeholder hex-waarden (bijv. 0x20DF10EF) door jouw genoteerde codes voor Power, Volume +/-, Kanaal +/-, etc.
Omdat 1Sheeld geen remote-interface heeft, gebruiken we de Keypad Shield (of Keyboard Shield voor meer toetsen) als virtuele remote.


Testen
- Sluit IR-LED aan op Arduino pin 3 (standaard voor IRremote library).
- Plaats IR-LED voor de te besturen apparaten.
- Open 1Sheeld-app, koppel met shield, selecteer Keypad Shield.
- Druk toetsen op telefoon → corresponderende IR-commando's worden gezonden.


Code
Voorbeeldcode voor TV (NEC), satelliet (NEC), stereo (Sony):
#include <OneSheeld.h>
#include <IRremote.h>
IRsend irsend;
void setup() {
OneSheeld.begin();
}
void loop() {
// Rij 0, Kolom 0 → TV Power (NEC)
if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(0)) {
irsend.sendNEC(0x20DF10EF, 32);
}
// Rij 0, Kolom 1 → TV Vol+ (NEC)
else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(1)) {
irsend.sendNEC(0x20DFC03F, 32);
}
// Rij 0, Kolom 2 → TV Vol- (NEC)
else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(2)) {
irsend.sendNEC(0x20DF40BF, 32);
}
// Rij 1, Kolom 1 → Sat Kanaal+ (NEC)
else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(1)) {
irsend.sendNEC(0x41048B7, 32);
}
// Rij 1, Kolom 0 → Sat Kanaal- (NEC)
else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(0)) {
irsend.sendNEC(0x410C837, 32);
}
// Rij 2, Kolom 0 → Stereo Power (Sony 12-bit)
else if (Keypad.isRowPressed(2) && Keypad.isColumnPressed(0)) {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa81, 12);
delay(40);
}
}
}
Pas de hex-codes aan aan jouw apparaten. Uitbreidbaar naar zoveel apparaten/knoppen als gewenst.
Productieproces
- Een slimme voltmeter bouwen met Arduino en smartphone – Eenvoudig DIY-project
- Externe IoT-besturing van een zelfgebouwde robotarm
- Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
- Nauwkeurige Frequentie- en Duty Cycle-meting met Arduino UNO
- Bestuur een Arduino-rover naadloos met Firmata en een Xbox One-controller
- Naadloze LED-dimmer met Bolt IoT en Arduino UNO
- Bouw een Slimme Arduino-gestuurde Robotarm: Eenvoudige DIY Handleiding
- Je TV bedienen met Alexa via Arduino IoT Cloud – stapsgewijze handleiding
- Bouw een compacte FM-radio met Arduino Nano en RDA5807M
- Bestuur Arduino LED Knipperen vanaf iOS & Android App via WiFi/Ethernet
- Naadloze Smartphone-besturing van Huisverlichting met 1Sheeld