Kuijl
Al doende leer ik.
Hallo allemaal,
Op het moment ben ik bezig met een aansturing voor een vliegmaatschappij aanduider. Dit ding staat al een aantal jaar bij een vriend in zijn woonkamer als decoratie. Nu leek het me wel een leuk project om daar een aansturing voor te maken.
De standmelding werkt via 6 lichtsluisjes. Die ik uitlees met een PIC, en zet de waarde op het LCD-display. Mijn eerste vraag is of ik het goed heb aangesloten? Heb het circuit van 1 lichtsluis en hoe ik hem op de PIC heb aangesloten hier onder getekend:
IR ontvanger | +5v
o o | o
| | | |
| | | .-.
| | | | |R2
| | | | |1k
| | | '-'
o---------------o | | |
| | | | |
.-. | | Diode | | 1.---o---.
| |R1 | o----|<--|----o----o| |
| |6.8k | | | | |
'-' | | | | |
| | | | | |
| | | | 5| PIC |14
| | | | .----o|16F628a|o-o------o----o+5v
| | | | | | |3|2|1 | | | | | |
| o_o_o_o_o_o_o_o | | | | | |
| | CA3081 | | | | | | |
| | c | | | | | |
| |(7 Transistors)| | | '-------' | ---
| o o o o o o o o | | | ---
| | | | | | | 15| | | | |47u
| | | | --- |
| | | | --- |
| | | | |100n |
=== === | === === ===
GND GND | GND GND GND
|
|
(Op de bestaande print) | (Op Breadboard)
Hier is een filmje van de opstelling te zien.
Het werk nu door dat ik R2 het toegevoegd. Maar kan dit niet helemaal verklaren, of werkt dit dan al pulldownweerstend net zo als je dat zou doen als je switch via de +5v op een PIC zou aansluiten?
En dan nu nog een vraag:
Voor deze proefopstelling het ik de "IF THEN" manier gebruikt voorbeeldje hier onder:
IF PORTA.0 = 0 THEN
PRINT AT 1, 1, "0"
ELSE
PRINT AT 1, 1, "1"
ENDIFHeb geen SYMBOL declaraties toe gekent omdat ik anders het limiet van de lite versie overschrijdt. Aanschaf komt nog wel een keer:-).
Nu vind ik dit nog al omslachtig dit zou toch ook handinger moeten kunnen. Heb al geprobeerd op de ingang waardes van PORTA. in een dummy te zetten. Maar het lukt me niet om dan de dummy waarde op het LCD-scherm te krijgen. Kan iemand mij hier mee helpen?
WHILE 1 = 1 ;Oneindig door blijven meten
CURSOR 1, 1
BD1 = PORTA & %11001111 ;Lees PORTA.0,1,2,3,6,7
PRINT DEC6 BD1 ;Print dummy waarde
WEND
Dit werkt dus niet.
Groeten,
Mark
benleentje
Golden Member
Ik begrijp je schema niet. Ik zie de lichtsluis zelf namelijk niet op je schema. Maar goed als het werkt zal het wel goed zijn.
R2 is uiteraard geen pull-down weerstand. Pull down betekend dat je het signaal naar beneden trekt dus naar de massa. Je hebt nu een pull-up gemaakt. Je trekt het niveau van het signaal omhoog naar de 5V. Hel kan ook niet werken zonder R2 omdat dan de pin hard aan de 5V hangt en het signaal dus altijd 5V blijft.
In je code van je programma moet
WHILE 1 = 1 ;Oneindig door blijven meten
CURSOR 1, 1
BD1 = PORTA & %11001111 ;Lees PORTA.0,1,2,3,6,7
PRINT BIN6 BD1 ;Print de binaire dummy waarde
of
PRINT AT 1, 1, BIN6 BD1
WEND
o
Kuijl
Al doende leer ik.
Bedankt benleentje! Dit is de code die ik nodig heb, nu werkt het wel.
Heb het schema ook niet volledig getekend. Tussen de bolletje onder "IR ontvanger" zit de ontvangdiode. De zender diode wordt gevoed uit een ander circuit op de print. En pull-up en pull-down is me nu ook duidelijk.