Linkit un bloqueur de télécommande IR (3 / 4 étapes)

Étape 3: programme

Pour télécharger le programme, que vous devez installer l’un plugin Linkit avec l’arduino IDE. Vous pouvez trouver des instructions sur la façon de le faire sur le site officiel. Vous pouvez également télécharger l’IDE avec le plugin un Linkit pré-installé GitHub.

 #define times_to_annoy 15#define delay_to_start_annoying 1000 #define delay_between_annoying 750 #define cooldown 15000 #define IRledPin 13 #define IRpin 7 // the maximum pulse we'll listen for - 65 milliseconds is a long time #define MAXPULSE 65000 // what our timing resolution should be, larger is better // as its more 'precise' - but too large and you wont get // accurate timing #define RESOLUTION 20 // we will store up to 100 pulse pairs (this is -a lot-) uint16_t pulses[100][2]; // pair is high and low pulse uint8_t currentpulse = 0; // index for pulses we're storing #define IRpin_PIN PIND void setup(void) { Serial.begin(9600); Serial.println("Ready to decode IR!"); } void loop(void) { //Serial.println("Looking for a code"); uint16_t highpulse, lowpulse; // temporary storage timing highpulse = lowpulse = 0; // start out with no pulse length // while (digitalRead(IRpin)) { // this is too slow! while (IRpin_PIN & (1 << IRpin)) { // pin is still HIGH // count off another few microseconds highpulse++; delayMicroseconds(RESOLUTION); // If the pulse is too long, we 'timed out' - either nothing // was received or the code is finished, so print what // we've grabbed so far, and then reset if ((highpulse >= MAXPULSE) && (currentpulse != 0)) { annoy(); currentpulse=0; return; } } // we didn't time out so lets stash the reading pulses[currentpulse][0] = highpulse; // same as above while (! (IRpin_PIN & _BV(IRpin))) { // pin is still LOW lowpulse++; delayMicroseconds(RESOLUTION); if ((lowpulse >= MAXPULSE) && (currentpulse != 0)) { annoy(); currentpulse=0; return; } } pulses[currentpulse][1] = lowpulse; // we read one high-low pulse successfully, continue! currentpulse++; } void annoy(void) { Serial.println("Captured remote code!"); delay(delay_to_start_annoying); for(int lcv = 0; lcv < times_to_annoy; lcv ++) { delay(delay_between_annoying); pulsepulses(); } Serial.println("Annoying done for now ... looking for another code"); delay(cooldown); } void pulsepulses(void) { //Serial.println("\n\r\n\rReceived: \n\rOFF \tON"); pulseIR(pulses[0][1] * RESOLUTION); for (uint8_t i = 1; i < currentpulse; i++) { delayMicroseconds(pulses[i][0] * RESOLUTION); pulseIR(pulses[i][1] * RESOLUTION); } } void pulseIR(long microsecs) { // we'll count down from the number of microseconds we are told to wait cli(); // this turns off any background interrupts while (microsecs > 0) { // 38 kHz is about 13 microseconds high and 13 microseconds low digitalWrite(IRledPin, HIGH); // this takes about 3 microseconds to happen delayMicroseconds(10); // hang out for 10 microseconds digitalWrite(IRledPin, LOW); // this also takes about 3 microseconds delayMicroseconds(10); // hang out for 10 microseconds // so 26 microseconds altogether microsecs -= 26; } sei(); // this turns them back on } 

Articles Liés

Pour commencer l’One LinkIt - REDUCTEUR

Pour commencer l’One LinkIt - REDUCTEUR

Dans les deux derniers instructables je vous ai montré comment démarrer avec la LinkIt qui inclus les servos de commande et voyants. Je vous montre également comment mettre à jour le firmware à bord de l'une de LinkIt, donc je vous recommande forteme
Linkit One et LED RGB

Linkit One et LED RGB

Il s'agit de mon premier instructable et dans ce instructable je vais vous montrer comment contrôler un LED RGB à l'aide d'un Linkit un réseau sans fil (WiFi).Étape 1: Liste des piècesLinkit OneLED RGB (Anode commune)Conseil de painFilsPCÉtape 2: RGB
Gesture controlled robot

Gesture controlled robot

Vous voulez contrôler les choses d'un geste simple, faite par vos doigts. Voulez-vous tout ce qui bouge ou arrêter selon vos doigts. Si tel est le cas, alors vous êtes au bon endroit. Ces gestes de jours sont d'une grande importance. Dans notre vie q
Jeu de voir la télévision interactive

Jeu de voir la télévision interactive

Interactive TV est une chaîne tamoule, où nous avons beaucoup de programmes et aussi des jeux interactifs de composer le numéro et le bouton mobile permet de jouer le jeu à la télévision. Vous voulez faire quelque chose comme ça pour la télévision lo
Commande d’appareils de haute tension avec LinkIt One

Commande d’appareils de haute tension avec LinkIt One

Dans les projets de quelques dernières j'ai utilisé le jury un LinkIt et le jury un LinkIt est idéal pour les applications de l'ITO. Mais le LinkIt One n'est pas capable de gérer la haute tension et des dispositifs actuels, comme par exemple votre sy
Linkit one-IR télécommande numérique ON/OFF

Linkit one-IR télécommande numérique ON/OFF

Son monde lointain maintenant. Maintenant un homme jours devenue très paresseux pour l'accoutrement et allume la lumière, ventilateur, Tv etc. Nous faisons aussi l'homme paresseux avec la même idée d'utiliser ce lien un. Juste utiliser une télécomman
Servo commande utilisant le LinkIt One

Servo commande utilisant le LinkIt One

Avec le Conseil un LinkIt, beaucoup de projets sans fil connectés sont placés droit à votre portée, n'attendent que vous pour se plonger dans leur. Avec l'ajout de servos, des projets tels que serrures contrôlé par le son, les indicateurs et les robo
Commander un Servo avec LinkIt One

Commander un Servo avec LinkIt One

Dans ce instructable nous allez commander un servo avec une un planche linkit le servo tournera 20 degrés par seconde et faire des virages à 180 degrésÉtape 1: Télécharger CodeSi vous ne savez pas comment faire pour télécharger le code au Conseil d'a
LinkIt avec Billy pour commander un Servo

LinkIt avec Billy pour commander un Servo

Il y a beaucoup d'utilisations pour servo maintenant des jours ! Il n'y a même plus d'utilisations pour WiFi Servo ! Ce projet démontrera comment utiliser un LinkIt une planche pour commander un Servo à l'aide de BillyÉtape 1: Télécharger CodeSi vous
LinkIt One : Commandes sur Bluetooth SPP AT

LinkIt One : Commandes sur Bluetooth SPP AT

Dans ce instructable, je vais étudier comment utiliser Bluetooth SPP pour LinkIt One pour travailler comme une interface AT au Conseil de développement.En bref, vous pouvez essayer ces commandes via Bluetooth à un LinkIt et pouvez obtenir reponseAT +
Construire un réservoir de télécommande sur le Cloud à l’aide de LinkIt 7688

Construire un réservoir de télécommande sur le Cloud à l’aide de LinkIt 7688

Bonjour à tous !Avez-vous jamais voulu construire et conduire autour d'un réservoir qui construit par vous-même ? Je parie qu'oui.Sans beaucoup de compétences et équipements nécessaires, nous allons commencer à construire un aujourd'hui et branchez-l
LED plus de WiFi à l’aide de Linkit un tableau de commande

LED plus de WiFi à l’aide de Linkit un tableau de commande

Dans ce instructable, je vais vous montrer comment contrôler les LED, ou autres sorties, au-dessus de WiFi.Il s'agit juste d'apprendre les bases du Mediatek LinkIt un Conseil. Je ne voulais pas faire quelque chose d'aussi simple, comme clignoter une
Commande d’éclairage à l’aide de PIR et LinkIt un Conseil d’administration de garage

Commande d’éclairage à l’aide de PIR et LinkIt un Conseil d’administration de garage

Vous devez avoir un temps pénible à travailler dans votre garage ! Voici donc une façon de simplifier votre tâche !Dans ce instructable, nous apprendront à contrôler les lumières de Garage à l'aide de capteurs PIR et LinkIt une planche.PIR est un dét
Commande basse tension équipés MediaTek LinkIt One

Commande basse tension équipés MediaTek LinkIt One

Parmi les caractéristiques principales du Mediatek LinkItOne est la possibilité de se connecter à internet pour des périphériques physiques. Aujourd'hui nous allons connecter un relais de C.C de basse tension pour un MediaTek LinkIt One. Cette volont