Hallo,
in Micro' chips tips and trics document las ik rondom de 16F628 PIC dat het mogelijk is via een timer te onderscheiden welke schakelaar is ingedrukt. http://ww1.microchip.com/downloads/en/devicedoc/40040b.pdf tip nr 5
nu ben ik al lang opzoek naar een broncode voor 4 schakelaars met een bepaald R en C.. ik kan zelf wat programeren maar met de info die ik uit het document haal kan ik écht niet verder.
Software sequence:
1. Configure GP2 to output a low voltage to
discharge capacitor through I/O resistor.
2. Configure GP2 as one comparator input and
CVREF as the other.
3. Use a timer to measure when the comparator
trips. If the time measured is greater than the
maximum allowed time, then repeat; otherwise
determine which button is pressed.
weet iemand enkele links?
Thanks!
Niekovitch
Een expert is iemand die binnen een beperkt vakgebied alle mogelijke fouten al heeft gemaakt...
ik heb geen links voor je, maar kan je wel meer uitleg geven, mocht je daar ook belang bij hebben.
- eerst ontladen ze de condensator door de uitgang 0 volt te maken
(de reden waarom je de pin GP2 een uitgang maakt) de condensator
ontlaad en de condensator is "leeg".
- daarna wordt de GP2 pin als comparator pin ingesteld, en wanneer
er een knop ingedrukt wordt, wordt de condensator geladen. Dit
kost tijd. deze tijd is afhankelijk van met welke weerstand de
condensator geladen wordt (de rc tijd).
- de comparator meet de spanning en reageert op het moment dat de twee ingangen gelijk aan elkaar zijn (de condensator is geladen)
- de timer wordt gebruikt als een beveiliging zoals ik me het zo kan voorstellen om ervoor te zorgen dat hij een time-out krijgt als het te lang duurt om te laden, in dat geval moet hij de condensator ontladen en opnieuw beginnen.
- Wanneer het binnen de tijd valt, kun je bepalen welke RC combinatie er is geweest (rc tijd) en dus welke knop ingedrukt is
succes !
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Het lijkt me simpeler om een grotere PIC te nemen. (Een met 80 i/o kost maar een paar euro)
Werkt ook veel betrouwbaarder...
Niekovitch
Een expert is iemand die binnen een beperkt vakgebied alle mogelijke fouten al heeft gemaakt...
dat is misschien wel waar, maar ik zou me situaties kunnen voorstellen waarbij je geen ruimte hebt voor een pic met 80 I/O en dus een "slimme" oplossing nodig hebt om veel schakelaars in te lezen. In dit geval is het geen kwestie van kosten.
loopycoaster
Mijn youtube profiel: http://www.youtube.com/user/PicBasicMaster
kijk hier eens naar, je moet een schema verder scrollen: picbasic rcin
misschien heb je iets aan mijn programma.
Kijk bij: 16F628 7 servo's besturen....
Stukje naar beneden in prog. staat een case selektie.
Werk momenteel met 10 drukknoppen. Wordt netjes en snel gedetecteerd welke ingedrukt is.
Let op: drukknoppen, geen schakelaars.