Arduino IR ontvanger besturingscomputer (3 / 5 stap)

Stap 3: Arduino Sketch


Niet zullen we kijken naar de code die wordt uitgevoerd op de arduino. Ik heb zo veel mogelijk gereageerd, maar als je niet begrijpt iets laat het me weten in de commentaren.

Wat deze code doet:

Lees de IR ontvanger en stuur het via seriële verbinding met de PC.

Lees de seriële verbinding vanaf de PC en het wijzigen van de LED's.

 uint8_t situation = 0; // 3 > 1 or 0 received | 2 > Repeat previous code uint8_t START = 0; // Detect if the transmission is started uint8_t x = 0; uint8_t BIT = 0; // Which bit is send (1/0) uint8_t Id = 0; // What's the remote ID uint8_t Id_inv = 0; uint8_t Data = 0; // Which key is pressed on the remote uint8_t Data_back = 0; // Backup of the key for repeat uint8_t Data_inv = 0; uint8_t Repeat = 0; // pass first repeat /* Variables for the pulse measurement */ uint16_t Time_old = 0; uint16_t Time = 0; uint16_t TimeDelta = 0; /* Data received from the computer */ /* 1 > Caps lock changed */ /* 2 > Num lock changed */ /* 3 > Scroll lock changed */ uint8_t incomingByte = 0; /* LED pins */ #define caps 24 #define numl 22 #define scrl 23 void setup(void) { /* Interrupt for reading the IR code */ attachInterrupt(0, IR_Read, FALLING); /* Serial connection to the computer software */ Serial.begin(9600); /* Led pins as output */ pinMode(caps, OUTPUT); pinMode(numl, OUTPUT); pinMode(scrl, OUTPUT); /* Led's out */ digitalWrite(caps, LOW); digitalWrite(numl, LOW); digitalWrite(scrl, LOW); } void loop(void) { /* If something from the computer is received */ if (Serial.available() > 0) { /* Read the incomming data */ incomingByte = Serial.read(); switch(incomingByte){ case 1: /* If 1 */ /* Caps Lock led on/off > off/on */ digitalWrite(caps, !digitalRead(caps)); break; case 2: /* If 2 */ /* Num Lock led on/off > off/on */ digitalWrite(numl, !digitalRead(numl)); break; case 3: /* If 3 */ /* Scroll Lock led on/off > off/on */ digitalWrite(scrl, !digitalRead(scrl)); break; default: break; } } } /* Function for reading the IR receiver using interrupts */ /* YOU DON'T NEED TO CHANGE ANYTHING HERE */ void IR_Read(void) { Time = micros(); if (Time_old != 0) { TimeDelta = Time - Time_old; if ((TimeDelta > 12000)&&(TimeDelta < 14000)) { START = 1; x = 0; situation = 1; Id = 0; Id_inv = 0; Data = 0; Data_inv = 0; } else if ((TimeDelta > 10000)&&(TimeDelta < 12000)) { situation = 2; // repeat } else if ((TimeDelta > 1500)&&(TimeDelta < 2500)) { situation = 3; //"1" BIT = 1; } else if ((TimeDelta > 1000)&&(TimeDelta < 1500)) { situation = 3; //"0" BIT = 0; } else situation = 5; if (situation == 3) { if (x < 8) { Id |= BIT; if (x < 7) Id <<= 1; x++; } else if (x < 16) { Id_inv |= BIT; if (x < 15) Id_inv <<= 1; x++; } else if (x < 24) { Data |= BIT; if (x < 23) Data <<= 1; x++; } else if (x < 32) { Data_inv |= BIT; if (x < 31) { Data_inv <<= 1; } else { Serial.println(Data); Data_back = Data; Repeat = 0; } x++; } } else if (situation == 2) { if(Repeat == 1) { /* Send received data to the computer */ Serial.println(Data_back); } else { Repeat = 1; } } } Time_old = Time; } 

Gerelateerde Artikelen

Arduino IR ontvanger

Arduino IR ontvanger

Download link: IR ontvanger-code: https://userscloud.com/p8tkborln1xp
Arduplane - Arduino gebaseerd rc vliegtuigen

Arduplane - Arduino gebaseerd rc vliegtuigen

RC vliegtuig is een van de grootste speelgoed dat iedereen wil om mee te spelen. Maar het kopen van een mogelijk duurder laat onze handen vies en lichaamsbouw men voor onszelf met behulp van de Arduino micro controllers. Laat onze eigen zender en ont
Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
Arduino gebaseerde elektronische Queuing systeem

Arduino gebaseerde elektronische Queuing systeem

Dit is een project van de Queuing systeem aangevraagd door een medewerkster van de kliniek die het mogelijk de arts maakt nummer van een toetsenbord en weer te geven op een 32 x 16 LED paneel.Dit project maakt gebruik van twee Arduino, de eerste Ardu
Gebruik de Module van de FM van de TEA5767 maken een Arduino gebaseerd FM-Radio

Gebruik de Module van de FM van de TEA5767 maken een Arduino gebaseerd FM-Radio

In dit project, tonen we hoe te gebruiken LinkSprite TEA5767 FM module voor het maken van een Arduono op basis van FM-radio.Stap 1: onderdelenlijst Zullen we de volgende onderdelen:1 x TEA5767 FM Radio Breakout1 x Arduino Uno1 x Linker basis Shield2
Bouwen van een XBMC/KODI remote aan Arduino, IR Sensor schild en VB.NET

Bouwen van een XBMC/KODI remote aan Arduino, IR Sensor schild en VB.NET

Bouw een XBMC/KODI remote aan de Arduino en een IR Sensor schild, dat met elke afstandsbediening werkt.Ik wilde mijn XBMC/Kodi PC bedienen vanaf mijn satelliet decoder van de afstandsbediening, omdat ik ofwel horlogefilms op XMBC/Kodi of satelliet-TV
RF Joystick voor Arduino

RF Joystick voor Arduino

Dit is een zeer eenvoudige Instructable waarmee u leert draadloos bedienen een tweede Arduino en de componenten die eraan verbonden zijn. Dit kan worden gebruikt om te controleren van de motoren op een auto, servo's op een robotachtig wapen of propel
Dog's Computer!

Dog's Computer!

Hier is een andere Instructables te laten zien aan u kerels! Dit is de Computer van een hond, het was eigenlijk een IR afstandsbedie-ning hond Feeder die ik heb met mijn oude computer monitor gemaakt. Ik ga om u te tonen hoe ik heb gemaakt, door de m
Elektronische schermen Target

Elektronische schermen Target

hoe geweldig het zou zijn als u iets dat bouwen kunt helpt u trainen in schermen en plezier hebben op hetzelfde moment, rechts!?,Mijn naam is Enrique Alvarez, ik ben de meester van de schermen voor de Fargo-Moorhead schermen Club en ik was moe van he
LinKit één sensor tutorial

LinKit één sensor tutorial

Instructable kondigde onlangs een linkit één weg te geven waar ze van 250 linkit een planken voorzien waren. Ik was één van de 250 volkeren die ontvangen van deze platen. Dus ik zou graag willen Bedankt mediatek en penolopy Bulnick en hele instructab
Necomimi bluetooth EEG gegevens hack.

Necomimi bluetooth EEG gegevens hack.

Er zijn een heleboel EEG speelgoed daar dat kan worden gehackt, waardoor de gegevens kunnen worden bekeken en gebruikt. Ik ben gaan richten op de Necomimi hier, maar ik zal het maken van enkele notities over de MindFlex en de StarWars ForceTrainer oo
Vrije vorm XBee Remote

Vrije vorm XBee Remote

als onderwijzer van robotica, mij zijn geweest grondig voor een universele externe oplossing voor mijn middelbare school cursus.  Hoewel ik niet op de lay-out van PS2 controller Let het heeft sommige uitvaardiging en de verbinding is niet zo robuust
U kunt de TV inschakelen op elk gewenst moment.

U kunt de TV inschakelen op elk gewenst moment.

IoT tijdperk.Veel dingen kunnen op afstand worden aangestuurd. Bluetooth of WiFi wordt gebruikt voor deze. Maar maak ik ook moeilijk en duur. Ik kan gemakkelijker toegang tot de externe IR-module in de omgeving.Zo, besliste ik te gebruiken van de inf
Interactieve gebroken Matrix Display

Interactieve gebroken Matrix Display

Dit is een eenvoudige Arduino project dat maakt gebruik van een 8 x 8 LED Matrix en breekt het op een CD-zaak van de versneden, dit is gewoon een test voor toekomstige toepassingen van de techniek (faken hologrammen).PS:Ik verbeeldde het omhoog een b