Naar de hoofdindex
De digitale inputs E1 tot en met E8 heten digitale inputs omdat ze maar twee
toestanden kennen: Aan of uit. Deze inputs zijn bedoeld om te worden verbonden
met schakelaars (tasters), reed-contacten, relais of andere middelen die een verbinding
tussen de twee contacten van de port kunnen maken. De twee contacten kunnen ook
simpelweg met een kabeltje verbonden worden: Die poort is dan aan.
De twee analoge poorten EX en EY werken anders. Wat ze doen is de weerstand meten van een aangesloten apparaat. Deze poorten zijn te gebruiken voor sensors die een veranderende weerstand hebben, dit zijn bijv. de Fischertechnik foto-weerstanden, NTC's of de vochtigheidssensor. Deze drie hebben onder invloed van respectievelijk licht, temperatuur en vochtigheid een veranderende weerstand.
Volgens de documentatie kunnen waarden van nul tot ongeveer 5 kOhm gemeten worden. Met een potentiometer kreeg ik meetwaarden van nul tot 5200 Ohm. De waarden die het interface rapporteert liggen altijd in de reeks van nul (lage weerstand) tot 1024 (weerstand >= 5,2 KOhm). Voor een pure weerstandsmeting is het interface niet bedoeld. Ook al niet omdat de relatie tussen weerstand en gerapporteerde waarde niet lineair is, zie de grafiek hiernaast. Op de horizontale X-as staat de weerstand in Ohm, op de Y-as de waarden tussen nul en 1024. Hier is duidelijk een curve zichtbaar, en bij een weerstand hoger dan 5200 Ohm blijft de waarde 1024.
Niet alle sensoren met een veranderende weerstand blijven binnen de reeks van nul tot 5200 Ohm. De twee grote fotoweerstanden op de foto rechts hebben beide een weerstand > 3 megaOhm zonder licht. Onder fel licht heeft de één een weerstand van circa 300 Ohm, de ander geeft dan 900 Ohm. De twee kleinere fotoweerstandjes laten soortgelijke verschillen zien. De weerstand is iets lager dan bij de grotere versies, wat misschien te maken heeft met het grotere detectie-oppervlak. Verschillende fotoweerstanden leveren dus niet dezelfde meetwaarden.
Een NTC-weerstand kan verschillende waarden hebben die met een kleurcode worden aangegeven.
Zie wikipedia voor details. Naarmate
de temperatuur toeneemt neemt de weerstand af. Sommige NTC's hebben een weerstand die volledig
buiten de reeks 0 tot 5200 Ohm ligt. Dan kan het helpen om bijvoorbeeld een weerstandje van ca.
2,5 kOhm parallel te schakelen, zie foto rechts. Daardoor valt de weerstand weer binnen het
meetbereik van het Intelligent Interface, zodat er ook andere waarden dan alleen 1024 verschijnen.
Een parallelle weerstand verkleint uiteraard het meetbereik van de sensor, maar het kan helpen
om de sensor met het interface te gebruiken. Als het interface voortdurend waarde 1024 rapporteert
controleer dan met een multimeter of de weerstand binnen de range tot 5,2 kOhm ligt.
Iets soortgelijks geldt voor een vochtsensor. Die heeft in droge toestand een hoge
weerstand die ver boven de 5200 Ohm van het interface ligt. Afhankelijk van hoe u
die sensor precies wilt gebruiken kan een parallelle weerstand zinvol zijn.
Vanuit de programmatuur bezien hebben we dus steeds met een waarde tussen nul en
1024 te maken. Het uitvragen van de waarden van de analoge inputs EX en EY gaat als
volgt. Een aanroep met als eerste byte waarde 197 (hexadecimaal C5) vraag naar de waarde
van EX. Het interface geeft dan drie bytes terug. Het 1e byte daarvan bevat de actuele status
van de 8 digitale poorten. Bytes 2 en 3 vormen samen de bepaalde waarde van de EX-poort,
most significant byte eerst, dus big Endian. Een aanroep met als eerste byte waarde 201
(hexadecimaal C9) doet precies hetzelfde, maar dan voor EY.
Houd er rekening mee dat wijzigingen van de sensoren niet altijd direct zichtbaar zijn,
dat kan 30-60 seconden duren.
Hieronder een programma dat iedere paar seconden de digitale E-poorten en de analoge EX en EY poort leest. Hiermee kunt u eenvoudig zien of een aangesloten sensor waarden aflevert die u in de programmatuur kunt gebruiken. De Perl-versie van het programma vindt u hier (download). De versie in Python vindt u hier (download).