Het PicoBoard is een bordje met enkele sensoren erop, dat meestal gebruikt wordt met het gratis programma Scratch. Op zich is het erg leuk om dit bordje bij Scratch te gebruiken, maar het is ook hel goed mogelijk het bordje uit te lezen via een Delphi programma. Ik ga uit van een bordje met een USB-aansluiting zoals het bordje in de afbeelding hierboven.
Allereerst moet het bordje op een USB-poort worden aangesloten. Bij nieuwere versies van Windows (vanaf Windows Vista) wordt automatisch een driver geïnstalleerd en voor oudere versies kan een driver van internet worden gehaald. Als alles goed is gegaan heeft Windows een seriële poort geïnstalleerd, zodat het PicoBoard kan worden uitgelezen. Het is verstandig eerst te controleren welke poort Windows hierbij gebruikt, zodat je dat niet via "trial and error" hoeft te achterhalen. Bovendien zie je dan meteen of alles goed is geïnstalleerd. Ga hiervoor eerst naar het Configuratiescherm; kies Apparaatbeheer en kijk bij Poorten. Klik eventueel op het pijltje om de poorten te kunnen zien. Waarschijnlijk is er maar 1 seriële poort aanwezig, dus dat zou het PicoBoard moeten zijn. Als je meerdere poorten ziet, dan kun je achterhalen welke bij het PicoBoard hoort, door dit los te koppelen. Hij verdwijnt dan uit de lijst.
In de screendump hier onder ziet u, dat bij mij poort 4 wordt gebruikt.

We kunnen nu vanuit een Delphi programma ComPoort4 openen. In een volgende versie van deze site zal ik ook uitleggen hoe je dat in Delphi moet programmeren. Als de poort geopend is kan de communicatie tussen Delphi en het PicoBoard beginnen. Elke keer nadat je een byte met de waarde 1 naar het PicoBoard hebt gestuurd stuurt het picoboard 18 bytes met informatie terug.
De manier waarop de informatie is opgeslagen is een beetje lastig: het zijn steeds groepjes van twee bytes die bij elkaar horen. De eerste byte begint met een controlebit die altijd 1 is. De volgende 4 bits geven een kanaalnummer weer. In 4 bits passen de waardes 0 t/m 15, dus er zijn maximaal 15 kanalen mogelijk. Het PicoBoard gebruikt alleen de kanalen 0 t/m 7 en kanaal 15 als identificatie.
De twee byte begint met een controlebit dat altijd 0 is. Er zijn nog drie bruikbare bits in de eerste byte en 7 in de tweede byte aanwezig. Deze moeten achter elkaar gezet worden en vormen zo een binair getal van 10 bits. Hier passen dus de waardes 0 t/m 1023 in.
In de screendump hier boven kun je zien welk kanaal overeenkomt met welk onderdeel van het PicoBoard. Er zijn geen weerstanden aangesloten, dus geven A t/m D alle de maximale waarde 1023 terug. Als je ze kortsluit dan krijg je de waarde 0. Je zult zelf een bekende weerstand moeten aansluiten om de uitvoer te ijken. De schuif geeft 0 als hij dichtbij de weerstandaansluiting staat en 1023 als hij bij de USB aansluiting staat. De drukknop geeft 0 als hij wordt ingedrukt en 1023 als hij niet wordt ingedrukt. De lichtsensor geeft een hoger getal naarmate er meer licht op valt, met een maximum van 1023. De geluidssensor werkt ongeveer net zo.

Deze pagina is het laatst veranderd op 30 augustus 2014.