Arduino IR-fjärrkontrollkrets

Prova Vårt Instrument För Att Eliminera Problem





I det här inlägget ska vi konstruera en anpassningsbar Arduino-baserad IR (infraröd) baserad trådlös fjärrkontroll, som består av IR-fjärrkontroll och en mottagare, du kan ändra efter dina behov. I den senare delen av artikeln lär vi oss om en uppgraderad idiotsäker version av en IR-fjärrkontroll som bara svarar på en unikt tilldelad frekvens.

Om du är över nybörjarnivå kan du göra det enkelt. Den föreslagna kretsen som illustreras här har bara tre kontroller på fjärrkontrollen och 3 reläer på mottagaränden. Du kan ändra koden och kretsschemat för att uppfylla dina behov.



Du behöver två Arduino-kort, som fungerar som avlägsna och en annan fungerar som mottagare. Jag skulle rekommendera Arduino pro mini för detta projekt, eftersom storleken på dem är ganska små och den totala storleken på fjärrkontrollen kan undvikas.

Du kan använda 3,3 V-baserad Arduino pro mini för fjärrkontroll så att du kan drivas med två knappceller eller två AA-batterier enligt dina behov.



IR-sändarkretsen har tre tryckknappar och en IR-LED för att skicka kommandon till mottagaren. Varje knapp har programmerats med unik hexadecimal kod, samma hexadecimalkod är också programmerad på mottagarsidan.

När en knapp trycks ned skickar IR-lysdioden hexadecimalkoden till mottagaren, kommer mottagaren att känna igen vilken av knapparna som trycks in och den slår på / av motsvarande relä.

Den föreslagna fjärrkontrollen använder RC5-protokollet för att kommunicera med mottagaren. Du kan ändra allt genom att ändra koden.

Om du bara är nybörjare i Arduino kan du ändå åstadkomma det, följ bara diagrammet och ladda upp koden utan att ändra.

Kretsen och programmet:

Arduino fjärrsändare:

Foolproof IR fjärrkontrollkrets

Ovanstående krets illustrerar hur man bygger Arduino IR-fjärrsändare.

De tre 10K-motstånden är neddragbara motstånd som förhindrar oavsiktlig utlösning av fjärrkontrollen på grund av statisk laddning och ett 220 ohm strömbegränsande motstånd används för IR-LED.

Program för fjärrsändare:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Arduino-mottagare:

IR Arduino-mottagarkretsen som visas ovan består av TSOP1738-sensor få transistorer, strömbegränsande motstånd för transistorer, reläer och dioder för att absorbera högspänningsspets från reläspolar.

Kretsschemat är självförklarande.

Program för Arduino-mottagare:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

Genom att följa ovanstående förklaringar kan du åstadkomma tre kontroller. Om du vill lägga till fler kontroller och relä måste du redigera koden och kretsschemat.

Du kan tilldela utgång och ingång för oanvända stift i mottagaren och fjärrkontrollen i programmet och ansluta antal transistor och relä för respektive stift i mottagaren och på liknande sätt ansluta antalet omkopplare och dra ner motståndet i fjärrkontrollen.

Du kan använda slumpmässig hexadecimal kod för att tilldela fler antal knappar.

Till exempel: 0xA235, 0xFFFF, 0xBA556 och så vidare. Och lägg också till samma hexadecimala värde i mottagarkoden också. Till exempel: #define output4 0xA235, #define outout5 0xFFFF och så vidare.

Skapa en IR-fjärrkontroll med unik frekvens

I ovanstående avsnitt lärde vi oss om en enkel IR-fjärrkontroll som fungerar med vilken IR-sändare som helst.
I följande artikel kommer vi att lära oss att skapa en uppgraderad version av ovanstående koncept för en idiotsäker kontroll av hushållsapparaterna med hjälp av arduino-mikrokontroller, som fungerar med en unik frekvens och aldrig fungerar med vanlig IR-telefon.

Foolproof IR-fjärrkontroll

Den här kretsen kan slå på / stänga av dina prylar med TV-fjärrkontrollens oanvända knappar eller någon annan oanvänd fjärrkontroll som kan ligga i din skräpbox i åldrar.

Mottot för detta projekt är att hjälpa fysiskt utmanade personer och hjälpa dem att få PÅ / AV-omkoppling av de grundläggande hushållsapparaterna som fläktar eller lampor oberoende av varandra.

Det andra målet är att göra det möjligt för användaren att styra prylarna 'Som en chef' utan att behöva flytta från sin befintliga position.

Kretsen använder traditionell IR-baserad kommunikation mellan sändare och mottagare.

Denna krets är procentprocent idiotsäker mot andra IR-fjärrkontroller och andra IR-källor och mindre mottagliga för fel.

Det största problemet med icke-mikrokontroller baserad IR-fjärrkontrollkrets , som finns på Internet, är att den kan slå PÅ / AV med vilken IR-baserad fjärrkontroll som helst och bara kan styra en enhet samtidigt och också mer mottaglig för fel.

Denna krets löser ovan angivna problem, och vi kan styra flera prylar på en fjärrkontroll och tilldela nycklar för specifika prylar.

Innan du fortsätter med detta projekt måste du ladda ner biblioteksfilerna för arduino från denna länk och följ instruktionerna nedan: github.com/z3t0/Arduino-IRremote

Instruktioner:

1) Klicka på 'klona eller ladda ner' -knappen från den givna länken och tryck på 'Ladda ner ZIP'.

2) Extrahera filen och flytta “IRremote” -mappen till din bibliotekmapp i Arduino.

3) Ta bort mappen 'RobotIRremote' från ditt arduino-bibliotek. 'RobotIRremote' har liknande definition av 'IRremote' -bibliotek som kolliderar och inte kan ladda upp koden till Arduino så det är obligatoriskt att radera / ta bort det.

Genom att duplicera ovanstående instruktion är din Arduino IDE-programvara redo för alla / de flesta IR-baserade projekt.

Tilldela nycklar för fjärrkontroll:

I vår TV-fjärrkontroll har varje tangent unik hexadecimal kod, som används för att känna igen vilken knapp som trycks ned för en operation. Innan du laddar upp den slutliga koden till Arduino måste du hitta vilka hexadecimala koder för dina nycklar.

För att göra detta konstruera följande krets i panelen och följ instruktionerna.

1) Öppna Arduino IDE och ladda upp exempelkoden “IRrecv Demo”

2) Öppna seriell bildskärm och tryck på knappen på fjärrkontrollen som du vill använda.

Du ser hexadecimal kod dyka upp så snart du trycker på knappen. Det är den hexadecimala koden för just den nyckeln.

3) Gör samma sak för andra två tangenter (3 tangenter ges i detta projekt för att styra 3 enheter)

· Vi kommer att använda dessa hexadecimala koder i huvudprogrammet och ladda upp dem till arduino.

Program:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

NOTERA:

I programmet:

#define output1 0x111 // placera din kod mottagen från knapp A.

#define output2 0x111 // placera din kod mottagen från knapp B

#define output3 0x111 // placera din kod mottagen från knapp C

· Placera dina 3 unika koder från din fjärrkontroll på den här platsen 111, 112 och 113 och ladda upp koden. Hexadecimala koder kommer att vara från 0 till 9 och A till F, till exempel: 20156, 26FE789, FFFFFF.

· Placera din kod med '0x' (noll x).

Kretsschema:

· Genom att trycka på knappen slås reläet PÅ och genom att trycka på igen stänger det av reläet.




Tidigare: Naturligt myggmedel med hög Watt-motstånd Nästa: Deep Soil Metal Detector Circuit - Ground Scanner