zondag 28 februari 2010

De knoppen

De hele opstelling met LCD en KaKu zender kost nogal wat digitale poorten. En als je dan ook nog een paar knoppen wil aansluiten en eigenlijk pin 0 en 1 wil vrijhouden voor communicatie dan kom je snel te kort. Ik gebruik de analoge ingangen voor de bediening. Dat weer eens wat anders maar om 1 analoge ingang te gebruiken voor 1 knop is ook wat bot. Het volgende schema heb ik bedacht voor de situatie dat je verschillende knoppen wilt uitlezen. Dit werkt goed als er maar 1 knop tegelijkertijd wordt ingedrukt.



Als niets wordt ingedrukt is de ingang via de onderste 20K weerstand met de 0 Volt verbonden.

Knop 1 indrukken: 5,0 Volt >>> Analoge ingang zit rechtstreeks aan 5V
Knop 2 indrukken: 4,0 Volt >>> 20K / (20K+5K) * 5V = 4V
Knop 3 indrukken: 2,5 Volt >>> 20K / (20K+20K) * 5V = 2,5V
Knop 4 indrukken: 1,4 Volt >>> 20K / (20K+50K) * 5V = 1,43V

Ik denk dat je wel meer dan 10 knoppen zo kan gebruiken. De A/D conversie is daar goed genoeg voor. Je kan ook in dit geval nog wel mooiere waardes voor de weerstanden kiezen en zelfs wel iets verzinnen waardoor je ook combinaties van knoppen kan uitlezen. Dit is het principe en misschien verzin ik in de toekomst wel iets moois als ik het nodig heb.

Voor mezelf hoef ik maar 2 drukknoppen uit te lezen. Ik wil graag een potentiometer gebruiken voor de programmering. De ene knop wordt in het programma voor het activeren van de programmeermodus (bijvoorbeeld: schakelpunt voor het licht instellen, of tijd voor het uitschakelen) en de tweede knop is een soort "Enter" knop. Met de potentiometer (draaiknop) wordt de hoeveelheid ingesteld maar daar ga ik nog mee experimenten want dit wordt een zelf verzonnen manier van programmeren. Misschien ben ik wel de enige die dit soort UI makkelijk gaat vinden. We zullen zien. Hierbij nog het schema zoals ik het gebruikt. De aansluiting van de potmeter en de LDR (licht gevoelige weerstand) is ook getekend.

zaterdag 6 februari 2010

De print is ontworpen en vervolgen geheel anders in elkaar gesoldeerd. De LCD backlight blijkt niet te verder. Dat is niet zo erg. Dan hoeft ik daar ook niet een digitale uitgang van de Arduino voor te gebruiken.
Het is toch wel erg handig als je kan zien dat de DCF77 module van Conrad elke seconde een signaal krijgt. Daardoor heb ik bedacht dat Pin 13, waar de led aan zit en die nu bij contact elke seconde oplicht, hiervoor vrij te houden. De module zelf geeft zijn puls af aan Pin 4.

Met wat soldeerwerk zit de boel beter in elkaar. De oude 433 Mhz zender uit het oude project gesloopt en bij de experimeteer print gezet. Pin 5 zit aan de data. eigenlijk is het te gek om de module te hergebruiken. Bij Quasar UK kost het ding (QAM-TX1-433: code 220380178906) maar 2,50 aan Engelse ponden. Ik had er al 2 besteld voor dat ik wist hoe goed ze werkten. En die ene extra module is naar Paul gegaan. Voor een kleine 12 pond had ik het pakketje snel in huis. Maar ik wil nu verder dus toch maar de oude gepakt. Moet maar een paar extra bestellen.

Vervolgens de juiste library in de code zetten en hopen dat de code de andere libraries en interrupt toestanden van de DCF77 niet zal verstoren. En hoera: het werkt naast elkaar.
Daarmee zijn de grootste risico's bekent. De licht sensor en uitlezing van de knoppen zal zeker niet verstoren dus het project is in goede doen.