Een aangepaste schild voor de Propeller-ASC - Infra-Red Remote Control- en meerdere KPV!


In mijn eerste project we een 2-regelig LCD display toegevoegd aan de Arduino Shield compatibel (ASC) bestuur.
(  )

In dit project zullen we ook het gebruik van meerdere RADERTJES, een uniek kenmerk van de Parallax Propeller-chip invoeren.

LC-Display:
De display is verkrijgbaar bij Radio Shack en moet alleen drie draden uit te voeren.

IR-Detector:
Nu, voor controle van de gebruiker en de input voor de ASC-systeem, zullen we toevoegen een infra-rood detector zo
dat een gemeenschappelijk universele TV afstandsbediening kan worden gebruikt.  Deze code gebruikt de SONY device
protocalls, dus de externe TC code ingesteld op de eerste SONY-code vermeld haar ' boekje.

Ik ben met behulp van de PNA4602 IR detector chip. Het kijkt een partij zoals een normale drie-legged transistor, maar het niet.
Het bevat op de chip 38 KHZ demodulator en filters waardoor het zeer gemakkelijk te gebruiken met gemeenschappelijke TV
afstandsbedieningen.    Ze kosten ongeveer 2 dollar per stuk.
Alle fascinerende technische details kunnen worden gevonden op Ada Fruit op: http://learn.adafruit.com/ir-sensor

Proto-Shield:
Het monteren van de detector, ben ik met behulp van een Seeed "Proto-Shield" van Radio Shack.
Het is een beetje overkill voor een dergelijke kleine circuit, maar meer spullen in de nabije toekomst zal groeien.

Een 3 x 2 vrouwelijke header werd geïnstalleerd als een aansluiting voor de decoder-chip.
Dat is de IR-detector verbergen in de hogere juiste hoek onder die puinhoop van draden.

Aangezien de Proto-Shield-pinnen sluit aan op de ASC socket headers is het niet haalbaar is om te gebruiken
normale wire-wrap technieken.  Dat zou houden te veel van de lengte van de pin,
waardoor het twijfelachtig zijn als het schild kon worden aangesloten op de host ASC bord helemaal.
Dus ik ben met behulp van een gemodificeerde techniek - een enkele wikkel rond de pin, dan soldeer.
Het is de gevoelig werk.  Maar voor het moment. het is slechts drie draden, macht (3,3 v), gemalen, en
signaal, dus geen probleem hier.  Zie de foto van de draden.

Software:
De demosoftware gebruikt verschillende objecten uit de Parallax Object Exchange (OBEX).
Extern stuurprogramma voor IR: "IR_Remote.Spin"
LCD-chauffeur: "serial_lcd.spin"
Nummers: "simple_numbers.spin"

Deze kunnen gedownload worden van de OBEX, maar heb ik ze opgenomen in dit ZIP-bestand dat is gekoppeld
aan deze Instructible.

Deze demo programma leest de afstandsbedieningscodes en worden de resultaten weergegeven op het LCD-display.
Dat deel is vrij eenvoudig en ongecompliceerd.

MAAR...
Wat als we wilden de LCD display uitschakelen van de rug-licht na een paar seconden van inactiviteit?

Normaal gesproken zouden we een interrupt handler daarvoor gebruiken.
Een periodieke interrupt zou de basis van de tijd leveren, en de handler zou tellen om te bepalen
toen was het tijd om het afsluiten van de achtergrondverlichting.

Maar de schroef maakt geen gebruik van interrupts.  Dat is wat de meerdere raderen zijn voor.  Het duurt een beetje van een
paradigmaverschuiving naar de wikkel van uw gedachten rond parallelle verwerking, maar het is de moeite meer dan waard.

In deze demo-programma, zullen we een procedure voor geringe naar een ander radertje spin-off.
Het zal bieden een basis en een time-out variabele tellen.
U vindt deze code aan het eind van de demonstratie-programma.
Kijk voor - PUB Timeout.
En merk dat alles wat het doet is wacht een seconde, dan check om te zien of de variabele LCDtime
groter is dan nul, en verlagen het als het is.  Thats it /.

Bedenk ook dit; Wat als u twee (of meer) verschillend tijd grondslagen nodig?
Elke taak toewijzen aan een verschillende COG en ze lopen gelijktijdig en volledig onafhankelijk van elkaar.
Het krijgen gewoon niet ieder eenvoudiger.

Spin kan kijken een beetje vreemd op het eerste, maar het is makkelijk te leren en doet het werk heel goed.

Maar vergeet niet dat inspringen de structuur van het programma, en het veranderen van de carelesly bepaalt de
inspringing verandert volledig de stroom van het programma!  Dus wees voorzichtig dat.

De Propeller Tool (met alle documentatie) kan gratis worden gedownload van Parallax bij:
http://www.Parallax.com/TabId/832/default.aspx

De broncode van de demo:

{{ASC_LCD_IR_TimeOut.spin}}
CON
_CLKMODE = XTAL1 + PLL16X ' 80 Mhz klok
_XINFREQ = 5_000_000
IRpin = 23' IR ontvanger - Propeller Pin
LcdTimeOut = 10
LcdOn1 = $16 ' LCD; cursor uitschakelen, knipperen af
LcdLine0 = $80 ' verplaatsen naar lijn 1, kolom 0
LcdLine1 = 94 dollar ' verplaatsen naar lijn 2, kolom 0
POL = 15' bewijs van leven LED

OBJ
IR: "IR_Remote"
LCD: "serial_lcd"
NUM: "simple_numbers"

VAR
byte IRcode ' keycode van IR ontvanger hier
byte LCDtime
lange IRcog
lange Stack1 [6] ' Stack ruimte voor LCDtimeout Kogge

PUB Init | freq index, Kogge, lcode
"init LCD
als lcd.start (0, 9600, 2)
LCD.putc(LCD#LcdOn1) ' geen cursor
LCD.CLS
LCD.backlight(1)
LCD.Str (string (LcdLine0, "IR Remote"))

' Bewijs van leven
Dira [pol] ~ ~
! outa [pol]

' Start Timeout
LCDTime: LCDTimeout = "reset timeout telkens wanneer een toets wordt ingedrukt
cognew (time-out)

"Init IR afstandsbediening
IRcog: = ir. Start (IRpin, ' Pin van de IR ontvanger, adres van de variabele

Als IRcog > 0
Herhaal
Als LCDtime > 0
LCD.backlight(1) ' het inschakelen
anders ' time-out
LCD.backlight(0) ' schakelen als uit
Als IRcode <> ir #NoNewCode "we hebben een toetscode
lcode: = IRcode
IR. Start (IRpin, ' ingesteld voor de volgende code
Als LCDtime: = 0' als was het weg,
LCD.backlight(1) ' zwenking op weerom voort
LCDTime: LCDTimeout = "reset timeout telkens wanneer een toets wordt ingedrukt
LCD.gotoxy(1,1)
Case lcode
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 ("laatste"))
andere: lcd.str (string(""))

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

PUB Timeout
Herhaal ' eeuwig
waitcnt (clkfreq + cnt) ' wacht één seconde
als byte [= > 1' houden tellen
byte [--' naar beneden

Gerelateerde Artikelen

Bouwen van een aangepaste schild voor de Gangster Gadget Propeller Platform

Bouwen van een aangepaste schild voor de Gangster Gadget Propeller Platform

breadboard kunnen snel voor een eenvoudige kring uitproberen, maar ze zijn echt onhandig als het gaat om daadwerkelijk met behulp van dat circuit.Dus opvoeren naar het volgende niveau van circuit prototyping met een aangepaste schild zoals deze voor
Hoe ontwerp een aangepaste kaart voor A Loved One

Hoe ontwerp een aangepaste kaart voor A Loved One

dit is een leuke manier om een aangepaste gift card voor iemand die je van vrije scrapbook papier hebt liefde rond leggend. U kunt een Basiskaart voorraad gewicht papier gebruiken. We gebruikten Michael's Kraft papier voor onze Etsy nacht van Craft.
Maken van een aangepaste staan voor DSLR Camera

Maken van een aangepaste staan voor DSLR Camera

In dit Instructable ik zal laten zien mijn proces voor het maken van een aangepaste staan te houdenen presenteren een Nikon D3000 digitale camera. Ik ben een DC op TechShop San Jose, en hierin onze winkel maken leden sommige verbazende projecten. We
Hoe maak je een aangepast pictogram voor je externe hdd/flash drive Windows

Hoe maak je een aangepast pictogram voor je externe hdd/flash drive Windows

In dit instrucable, im gonna Toon u een aangepast pictogram toewijzen aan elk van uw externe harde schijven of USB-flashstations.Als u wilt dat om dit te doen op een mac, theres een geweldige hoe hier ;)Stap 1: Getting het pictogram eerst en vooral m
INFRA rood REMOTE CONTROLLED ROBOCAR met behulp van AVR (ATMEGA32) MCU

INFRA rood REMOTE CONTROLLED ROBOCAR met behulp van AVR (ATMEGA32) MCU

Het huidige PROJECT beschrijft een ontwerp en de implementatie van een infrarood (IR) externe gecontroleerde RoboCar die kan worden gebruikt voor verschillende geautomatiseerde onbemande control toepassingen. Externe gecontroleerde RoboCar (links-rec
Hoe maak een aangepaste Ringtone voor een iPhone Using iTunes op een Apple-Computer

Hoe maak een aangepaste Ringtone voor een iPhone Using iTunes op een Apple-Computer

wist u dat u een lied of geluid als ringtone voor je iPhone hebben kunt? En dat het gratis is? Met behulp van de Apple computer, als je volg deze eenvoudige instructies kunt u elke Toon of nummer dat u als uw ringtone wilt hebben. Alles wat die u nod
Hoe krijg ik een aangepaste Mousepad voor 0.99 Dollar

Hoe krijg ik een aangepaste Mousepad voor 0.99 Dollar

dit is zeer eenvoudig:1. Ga naar http://www.artscow.com/photo-gifts/mousepad/large-mousepad-160 en maak een account2. aanpassen uw Mousepad3. controle en gebruik van deze couponcode: Z099PLAYE9YBB4. WINSTStap 1:
Infra-red Remote intervalmeter voor Nikon camera's

Infra-red Remote intervalmeter voor Nikon camera's

mijn Nikon D90 camera ontbreekt een interval timer-modus. Daarmee nachtelijke tijd lapse fotografie in een modus van zeggen bloot 29 sec, 1 sec wachten, herhalen, is zeer tijdrovend. De ontspanknop zou moeten handmatig worden ingedrukt om de 30 secon
How to Build een schild voor de Linkit One

How to Build een schild voor de Linkit One

Hallo mensen! Pure koolstof hier met een ander Instructable. Vandaag zal ik u tonen hoe te bouwen van een aangepaste schild voor het Linkit één Board. Voordat we in dat krijgen maar moet ik u vertellen waarom ik ging op dit streven in de eerste plaat
Hack een Toaster Oven voor Reflow solderen

Hack een Toaster Oven voor Reflow solderen

als ik ernstiger in mijn elektronica hobby krijgen, ik moet werken met meer SMD componenten. Sommige onderdeelpakketten zijn zeer moeilijk of onmogelijk om te solderen met een traditionele soldeerbout. U kunt dit probleem oplossen, besloten heb ik om
Bouwen van een aangepaste Picture Frame

Bouwen van een aangepaste Picture Frame

het lijkt als u wilt om een foto van kunstwerk frame, u met drie actielijnen geplakt bent:Hoop dat het beeld is een "standaard formaat" en kopen een off-the-shelf frame en frame secties...Krijg iemand - of een winkel of een verveeld familielid -
GPIB schild voor "Engadino" ("Pinguino")

GPIB schild voor "Engadino" ("Pinguino")

dit instructable toont hoe maak je een GPIB-schild voor "Engadino" en het verkrijgen van een USB aan GPIB-adapter als eindproduct.Stap 1: Wat is GPIB? Volgens Wikipedia:" IEEE-488 is een specificatie van de bus korte afstand digitale commun
Bouwen van een aangepaste fiets

Bouwen van een aangepaste fiets

nu, heb je, als een kind of een volwassene ooit wilde een aangepaste fiets bouwen?  Ik weet zeker dat sommige mensen hebben of het was een gemotoriseerde pedaal fiets naar een volledig op de motorfiets.  Echter, zoals u misschien weet, kan het een ko
Ontwerp een aangepaste Yo-Yo

Ontwerp een aangepaste Yo-Yo

een van de meest klassieke van alle speelgoed is de yo-yo, en wat betere manier om spice up een oude favoriet dan door het ontwerpen van uw eigen? Ontwerpen van speelgoed is ook een geweldige manier om studenten enthousiast over wetenschap en technie