Inhoudsopgave:

Hoe een tv-afstandsbediening of anders te emuleren met Arduino Irlib: 3 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe een tv-afstandsbediening of anders te emuleren met Arduino Irlib: 3 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"

Video: Hoe een tv-afstandsbediening of anders te emuleren met Arduino Irlib: 3 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"

Video: Hoe een tv-afstandsbediening of anders te emuleren met Arduino Irlib: 3 stappen (met afbeeldingen) Antwoorden op al uw
Video: 🇳🇱 INFRAROOD ONTVANGER MET AFSTANDSBEDIENING (HX1838 VS1838) - Arduino les #9 2024, November
Anonim
Hoe een tv-afstandsbediening of anders te emuleren met Arduino Irlib
Hoe een tv-afstandsbediening of anders te emuleren met Arduino Irlib

Invoering

Hallo allemaal en welkom bij mijn eerste Instructable.

Vandaag zullen we leren, zoals de titel al zegt, om e TV-afstandsbediening of iets dergelijks te emuleren dat werkt met infraroodsignalen met behulp van Arduino (elk model).

Het probleem was: hoe kan ik codes naar een object verzenden als ik de code niet ken?

Zoekend op internet vond ik het antwoord op mijn vraag niet, dus ging ik nadenken en bedacht deze methode zelf.

In deze tutorial laat ik je zien hoe je dat doet.

PS:

Voordat we beginnen, ga ik je vertellen dat IR-communicatie erg complex is en eerst wat kennis vereist.

Stap 1: Materiaal

Materiaal
Materiaal

Je hebt minder onderdelen nodig dan je denkt:

-Arduino (ik gebruikte Leonardo)

-470ohm of soortgelijke weerstand !LET OP!: weerstandswaarde kan veranderen afhankelijk van uw IR LED

-IR led (ik gebruikte SFH4546)

-Sommige truien

-IR-ontvanger (ik gebruikte TSOP38238)

-Broodplank

Dit is wat ik heb gebruikt voor dit eenvoudige maar essentiële circuit.

EDIT: Als je dezelfde led gebruikt, gebruik dan geen weerstand tussen Arduino-pin en led, omdat dit de afstand van je afstandsbediening aanzienlijk zal verkleinen

Als je niet dezelfde ir-led gebruikt, raad ik aan om een trimmer te plaatsen en deze te regelen zoals je wilt

Stap 2: Circuit en codering

Nu kijken we naar het circuit.

We moeten 2 circuits bouwen:

-Het eerste circuit moet het signaal van de afstandsbediening opvangen.

-De tweede zendt het signaal uit dat we eerder hebben vastgelegd.

Dus neem arduino, breadboard, draden en ontvanger en laten we beginnen met werken

Sluit eerst 5v en GND aan op je ontvanger (de mijne heeft in volgorde OUT, GND, 5V)

De OUT-pin moet worden aangesloten op de Arduino-pin 2. (Hoe het circuit eruitziet)

Als je dat eenmaal hebt gedaan, moeten we de anode van onze led met de weerstand verbinden en de kathode met aarde.

Vanaf de weerstand zullen we later verbinding maken met de pin die wordt gedefinieerd door de Ir-bibliotheek. (Hoe de schakeling eruitziet)

De code is heel eenvoudig:

Eerst moeten we de bibliotheken installeren:

-De IrLib2-bibliotheek voor de ontvangende passage

U moet dan het zipbestand openen en de mappen in dat bestand naar uw bibliothekenmap kopiëren.

-De IrRemote-bibliotheek om het te verzenden

Zodra je het hebt gedaan, open je Arduino IDE en ga je vanuit het voorbeeldenmenu naar de IrLib2-voorbeeldmap en laad je de schets "RawRecv.ino" op je Arduino-bord.

Zodra het op het bord is geladen, opent u de seriële monitor, neemt u de afstandsbediening die u wilt emuleren, richt deze op de Ir-ontvanger en drukt u op een knop erop: u ziet wat uitvoer (onbewerkte code) op de monitor, dus kopieer het gewoon in het klembord.

De volgende passage is het verzenden van de codes die we hebben verkregen.

Elk Arduino-model heeft zijn eigen pin voor de IRsend-klasse en je kunt deze niet wijzigen vanwege een aantal beperkingen door de hardware.

Hier is een tabel met pin-instelling van enkele Arduino-borden.

Dit is mijn schets, het stuurt de opdracht channel_up naar een oude Samsung-tv:

#erbij betrekken

IRsend irsend; #define RAW_DATA_LEN 68 //output van RawRecv uint16_t rawData[RAW_DATA_LEN]={ 4458, 4482, 546, 1698, 550, 1690, 554, 1690, 546, 606, 518, 610, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 1686, 550, 1694, 550, 602, 522, 606, 530, 598, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 598, 522, 606, 530, 1686, 554, 602, 518, 610, 522, 602, 522, 1694, 554, 602, 522, 1694, 550, 1690, 546, 610, 526, 1690, 546, 1694, 554, 1690, 546, 1000}; void setup(){} void loop() {irsend.sendRaw(rawData, RAW_DATA_LEN, 38); // stuur onbewerkte gegevens met een frequentievertraging van 38 KHz (1000); //1 seconde vertraging tussen elke signaalburst}

Let op: coping en plakken op de IDE werkt mogelijk niet, als het niet werkt, moet je elke regel schrijven

Stap 3: Testen en afwerken

Het is nu tijd voor een test!

Richt je led op de ontvanger op dezelfde manier als waarop je de afstandsbediening richt en je Arduino aanzet, wacht een seconde en je zult zien dat het ontvangende apparaat zal beginnen te doen wat we zeggen dat het moet doen, dus dat is het!

Als er iets mis is, laat dan hieronder een reactie achter.

Dat is het einde van onze Instructable. Ik hoop dat het nuttig voor je is.

Reageer als je een video van deze tutorial wilt en…….

naar de volgende Instructable!

Aanbevolen: