Un bouclier personnalisé pour l’hélice - commande à distance Infra-rouge - et ses multiples rouages !

Dans mon premier projet, nous avons ajouté un écran LCD de 2 lignes à la carte Arduino Shield compatibles (ASC).
(  )

Dans ce projet, nous introduirons également l’utilisation de plusieurs dents, une caractéristique unique de la puce de l’hélice de la parallaxe.

Affichage à cristaux liquides :
L’affichage est disponible chez Radio Shack et n’a besoin de trois fils d’exécuter.

Détecteur IR :
Maintenant, pour fournir le contrôle utilisateur et entrées dans le système ASC, nous allons ajouter un détecteur infra-rouge donc
qu’une unité de télécommande TV universelle commune peut être utilisée.  Ce code utilise l’appareil de SONY
protocalls, a donc mis le code de TC pour le premier code SONY inclus dans son "livret.

J’utilise la puce de détecteur IR PNA4602. Il ressemble beaucoup à un transistor normal à trois pattes, mais ce n’est pas.
Il contient sur puce 38KHZ démodulateur et filtres qui le rend très facile à utiliser avec TV commune
télécommandes.    Ils coûtent environ 2 $ chaque.
Tous les détails techniques fascinantes se trouvent à Ada fruits à: http://learn.adafruit.com/ir-sensor

Proto-Shield :
Pour monter le détecteur, j’utilise un Seeed « Proto-bouclier » de Radio Shack.
C’est un peu exagéré pour un tel petit circuit, mais il se développera plus de choses dans un proche avenir.

Un en-tête femelle 3 x 2 a été installé comme un socket pour la puce de décodage.
C’est le détecteur IR se cachant dans le coin supérieur droit en vertu de ce désordre de fils.

Étant donné que les broches de Proto-bouclier brancher dans les en-têtes de socket ASC que n’est pas possible d’utiliser
techniques normales de l’enrouler.  Qui prendrait trop de la longueur de l’axe,
rend douteuse si le bouclier pourrait être connecté à l’hôte du Conseil de l’ASC du tout.
Alors j’utilise une technique modifiée - une enveloppe unique autour de la broche, puis souder.
C’est un travail délicat.  Mais pour l’instant. C’est seulement trois fils, puissance (3.3V), au sol, et
signal, donc pas de problème ici.  Voir la photo de fils.

Logiciel :
Le logiciel de démonstration utilise plusieurs objets de la parallaxe OBEX (Object Exchange).
Pilote de distance infrarouge: « IR_Remote.Spin »
Pilote de l’écran LCD: « serial_lcd.spin »
Numéros: « simple_numbers.spin »

Ceux-ci peuvent être téléchargés de l’OBEX, mais j’ai inclus dans ce fichier ZIP joint
à cette Instructible.

Ce programme de démo lit les codes de la télécommande et affiche les résultats sur l’écran LCD.
Cette partie est assez simple et rapide.

MAIS...
Que se passe-t-il si nous voulions l’écran LCD pour éteindre le rétro-éclairage après quelques secondes d’inactivité ?

Normalement, nous utiliserions un gestionnaire d’interruption pour cela.
Une interruption périodique fournirait la base de temps, et le gestionnaire de décompte pour déterminer
quand il était temps d’arrêter le rétro-éclairage.

Mais l’hélice ne pas utiliser les interruptions.  C’est ce que les roues dentées multiples sont pour.  Il faut un peu d’un
changement de paradigme pour envelopper votre esprit autour de traitement parallèle, mais il vaut la peine.

Dans ce programme de démo, on tournera une petite procédure à un autre rouage.
Il fournira une base de temps et compte à rebours d’une variable de délai d’attente.
Vous pouvez trouver ce code à la fin du programme de démonstration.
Recherchez - PUB Timeout.
Et notez que tout ce qu’est d’attendre une seconde, puis vérifier voir si la variable LCDtime
est supérieur à zéro et decrement, dans ce cas.  C’est ça /.

Aussi, pensez à ceci ; que se passe-t-il si vous avez besoin de deux (ou plusieurs) des bases de temps complètement différent ?
Affecter chaque tâche à un autre ROUAGE et ils courent simultanément et complètement indépendamment les uns des autres.
Il juste n’y soit plus simple.

Essorage peut sembler un peu étrange au début, mais il est facile à apprendre et fait le travail tout à fait bien.

Mais n’oubliez pas qu’indentation définit la structure du programme et carelesly changer la
indentation va changer complètement le flux du programme !  Donc faire attention à cela.

L' Outil de l’hélice (avec toute la documentation) peut être téléchargé gratuitement de la parallaxe à :
http://www.Parallax.com/tabid/832/default.aspx

Démo Source Code :

{{ASC_LCD_IR_TimeOut.spin}}
CON
_CLKMODE = XTAL1 + PLL16X ' horloge 80 Mhz
_XINFREQ = 5_000_000
IRpin = 23' IR Receiver - hélice Pin
LcdTimeOut = 10
LcdOn1 = $16 ' LCD ; curseur hors, blink hors
LcdLine0 = 80 $ ' passer à la ligne 1, colonne 0
LcdLine1 = $94 ' passer à la ligne 2, colonne 0
POL = 15' preuve de vie LED

OBJ
IR: « IR_Remote »
LCD: « serial_lcd »
num: « simple_numbers »

VAR
octet IRcode ' keycode de récepteur IR ici
Byte LCDtime
long IRcog
Stack1 long [6] ' espacedisquepour cog LCDtimeout de la pile

PUB Init | FREQ, index, cog, lcode
' init LCD
Si lcd.start (0, 9600, 2)
LCD.putc(LCD#LcdOn1) ' pas de curseur
LCD.CLS
LCD.backlight(1)
LCD.Str (string (LcdLine0, « IR Remote »))

"Preuves de vie
dira [pol] ~ ~
! outa [pol]

« Démarrer le Timeout
LCDTime: = LCDTimeout ' réinitialiser le délai d’attente chaque fois qu’une touche est enfoncée
cognew (TimeOut),

' Init IR télécommande
IRcog: = ir. Démarrer (IRpin, « Pin de œil infrarouge, l’adresse de la variable

Si IRcog > 0
Répétez
Si LCDtime > 0
LCD.backlight(1) ' allume
else ' a expiré
LCD.backlight(0) ' tourner si off
Si IRcode <> ir #NoNewCode ' nous avons un code de touche
lcode: = IRcode
IR. Démarrer (IRpin, "mis en place pour prochain code
Si LCDtime: = 0' si il était éteint,
LCD.backlight(1) ' le réactiver
LCDTime: = LCDTimeout ' réinitialiser le délai d’attente chaque fois qu’une touche est enfoncée
LCD.gotoxy(1,1)
lcode affaire
IR #one: lcd.str (string ("< 1 >"))
IR #two: lcd.str (string ("< 2 >"))
IR #three: lcd.str (string ("< 3 >"))
IR #four: lcd.str (string ("< 4 >"))
IR #five: lcd.str (string ("< 5 >"))
IR #six: lcd.str (string ("< 6 >"))
IR #seven: lcd.str (string ("< 7 >"))
IR #eight: lcd.str (string ("< 8 >"))
IR #nine: lcd.str (string ("< 9 >"))
IR #zero: lcd.str (string ("< 0 >"))
IR #chUp: lcd.str (string ("chUp"))
IR #chDn: lcd.str (string ("chDn"))
IR #volUp: lcd.str(string("volUp"))
IR #volDn: lcd.str(string("volDn"))
IR #mute: lcd.str (string ("mute"))
IR #power: lcd.str(string("power"))
IR #last : lcd.str (string ("last"))
autres : lcd.str (string(""))

waitcnt ((clkfreq / 1000) * 30 + cnt)
! outa [pol]

PUB Délai d’attente
Répéter ' boucle pour toujours
waitcnt (clkfreq + cnt) ' attendre une seconde
Si octet [= > 1' tenir compte
Byte [--' vers le bas

Articles Liés

Construction d’un bouclier personnalisé pour le Gangster Gadget hélice plate-forme

Construction d’un bouclier personnalisé pour le Gangster Gadget hélice plate-forme

montage expérimental peut être rapide pour essayer un circuit simple, mais ils sont vraiment maladroits quand on veut en fait à l'aide de ce circuit.Donc intensifier au niveau suivant de prototypage de circuits avec un bouclier personnalisé comme cel
Hot Glue Gun extrudeuse pour votre Machine de commande numérique par ordinateur ou imprimante 3D

Hot Glue Gun extrudeuse pour votre Machine de commande numérique par ordinateur ou imprimante 3D

impression 3D encore coûte quelques dollars et peut être hors de portée de soudeur qui n'ont pas de n'importe quel budget.   L'objectif de cette instructable consiste à construire une extrudeuse d'imprimante FDM (fusionné Deposition Modeling) (indisp
Bouclier GPIB pour "Engadino" ("Pinguino")

Bouclier GPIB pour "Engadino" ("Pinguino")

cette instructable montre comment créer un bouclier GPIB pour « Engadino » et la façon d'obtenir le produit final un adaptateur USB vers GPIB.Étape 1: Ce qui est GPIB ? Selon Wikipedia :« IEEE-488 est une spécification de bus de communications numéri
FOND d’écran personnalisé pour utilisation simplifiée de l’ordinateur

FOND d’écran personnalisé pour utilisation simplifiée de l’ordinateur

Dans ce tutoriel nous allons concevoir un fond d'écran personnalisé pour rationaliser l'utilisation de l'ordinateur. Cette toile de fond ajoute des étiquettes pour les applications sur votre bureau, pour que l'utilisateur sache exactement quels sont
Infra-rouge télécommande intervallomètre pour Nikon appareils photo

Infra-rouge télécommande intervallomètre pour Nikon appareils photo

mon Nikon D90 caméra n'a pas un mode de minuterie d'intervalle. Ce faisant photographie de laps de temps de nuit dans un mode de dire, exposer 29sec, attendre 1 seconde, répéter, est extrêmement laborieux. Le déclencheur doit être pressée manuellemen
L’un d’un aimable Machines de mobilité personnalisé pour les personnes handicapées !

L’un d’un aimable Machines de mobilité personnalisé pour les personnes handicapées !

Mon idée !L'un d'un aimable Machines de mobilité personnalisé pour les personnes handicapées !J'ai conçu et construit toutes sortes de machines dans le passé.J'ai conçu des machines pour Robot Wars et construit plus de 30 véhicules électriques et les
API pour un Web Robot commandé

API pour un Web Robot commandé

"Ces documents et les informations contenues dans cette instructable sont fournies par les étudiants inscrits au logiciel des lieux (www.softwareofplaces.com) classe l'Université PUC-Rio. Le contenu représenté ici est le projet définitif de l'élève p
Commande à distance les stores pour 20 $

Commande à distance les stores pour 20 $

Donc, j'étais fatigué de la tâche ardue d'ouverture manuelle et fermer les stores que chaque jour... et moi faisions motorisés stores avant avec une révolution continue servo de tourner la tige quand j'étais gamin, mais qui n'a pas l'air agréable ave
BRICOLAGE pas cher IR réflecteur pour une commande à distance

BRICOLAGE pas cher IR réflecteur pour une commande à distance

il s'agit d'un hack très facile pour une télécommande qui peut augmenter sa puissance de signal en créant un réflecteur derrière la source de l'IR. Et il fonctionne vraiment. Maintenant, je peux effectivement utiliser le contrôleur. J'ai eu l'idée de
Mon nouveau Knex SS + RR Set vidéo!! + Coaster personnalisé pour bientôt !

Mon nouveau Knex SS + RR Set vidéo!! + Coaster personnalisé pour bientôt !

Photos de mon nouveau SS + RR ensembles !-------------------------------------------------------------Vidéo !http://www.youtube.com/watch?v=HZlTt5V4bVg------------------------------------------------------------Coaster personnalisé pour bientôt ! Alo
Comment créer un cadeau personnalisé pour les amateurs de vins

Comment créer un cadeau personnalisé pour les amateurs de vins

butIl est toujours difficile de trouver le cadeau parfait pour quelqu'un que vous aimez. Généralement les gens recourent à donnant de l'argent ou des cadeaux, bien pas aujourd'hui.  Si vous essayez de trouver un cadeau pour quelqu'un qui aime boire d
Aéroglisseur RC + commande à distance sur mesure

Aéroglisseur RC + commande à distance sur mesure

Vous aimez les véhicules RC ? Avez-vous envie de voler, mais ont peur des hauteurs ? Ou vous aimez simplement le défi de contrôler un véhicule avec un frottement faible sol?... ou peut-être juste envie d'aéroglisseurs pour certaines ou aucune raison
MediaCenter simple et commande à distance avec une convivialité améliorée

MediaCenter simple et commande à distance avec une convivialité améliorée

Oui, c'est une autre axée sur le bricolage PC Media Center (ou HTPC), mais avec une caractéristique unique : il a sacrément simple à contrôler, donc bien adapté pour les personnes âgées, personnes handicapées, ou simplement paresseux utilisateurs.De
Commande à distance vos framboises Pi

Commande à distance vos framboises Pi

La plupart des articles qui traitent de journalisation à distance dans votre Pi framboise utilisent xrdp pour créer des sessions Bureau à distance dans votre Pi de framboise. C'est souvent une bonne solution et fonctionne même si vous n'avez pas un m