28 september 2015

Layout en interfacing

Het bord

Het bord kaal ziet er zo uit:
Wat ik slecht vind is het gebruik van een 9V batterij snap-on, terwijl deze spanning veel te hoog is. Bye-bye board! Niet doen, dus.
Je moet de batterijhouder gebruiken. En dan nog: niet verkeerd aansluiten, dus eerst goed kijken of de connectoren op elkaar passen, en dan pas contact laten maken. Voor zover ik weet zit er geen beveiliging tegen ompolen op!

Details


Voor de vaarregelaar (ook wel: Electronic Speed Controller, of ESC) moet een 08M2 volstaan. Deze werd ook door Alan gebruikt, en ik heb er twee mee laten komen met het bordje.
Hier zit hij op het bord:
Ik ga dus voorlopig alleen deze gebruiken. Om dit duidelijk te maken zal ik in de source code duidelijk maken om welk type microcontroller het gaat. Dat is sowieso een goede gewoonte.
Dit gaat als volgt:
; set picaxe type #picaxe 08m2
Regels, die beginnen met een puntkomma (semi colon, ";") zijn commentaarregels. Je mag ook een apostrof ("'") gebruiken:
'dit is ook commentaar maar dit niet meer!
Een apostrof is, net als een puntkomma, een aanduiding voor één regel commentaar.
Als je meer regels commentaar wilt gebruiken kun je de #rem opdracht gebruiken, samen met #endrem:
#rem dit wordt door de PICAXE Programmer/Editor gezien als een blok commentaar dat doorgaat totdat het endrem directive bereikt wordt: #endrem

Regels, die voorafgegaan worden met zo'n nummer teken (hash, "#"), zijn 'directives', dit zijn geen programmaregels, maar aanwijzingen voor de compiler. Het "#rem" directive, hierboven was dus een aanwijzing voor de compiler, om de volgende regels niet te beschouwen als programmacode, maar te negeren.
Het #picaxe directive is er ook zo een, en deze vertelt de compiler expliciet welke chip er geprogrammeerd gaat worden. Zie handboek 2, pagina 7, Directives.


Input en output


Er zitten nogal wat componenten op het AXE091 bordje. Hier in detail de IO aansluitingen:
Van links naar rechts zitten er de volgende connectoren op:
  • V+ (+ Spanning, Vcc) 
  • 0V (- Spanning, Gnd) 
  • KD Keyboard Data 
  • KC Keyboard Clock 
  • IRR Infra-rood ontvanger [=receiver] 
  • IRL Infra-rood LED
  • L3 LED L3 (rood)
  • L2 LED L2 (geel)
  • L1 LED L1 (groen)
  • SVO Servo
  • LDR Lichtgevoelige weerstand
  • TMP DS18B20 temperatuur sensor
  • SW3 Schakelaar 3
  • SW2 Schakelaar 2
  • SW1 Schakelaar 1
  • POT Potentiometer (regelbare weerstand)
  • V+ (+ Spanning, Vcc)
  • V+ (+ Spanning, Vcc)
  • 0V (- Spanning, Gnd)
  • 0V (- Spanning, Gnd)
Aan de onderkant zitten er nog een aantal, zie de beschrijving van het AXE091 bord.


Troubleshooting het eerste programma


Ik gebruik onderstaand altijd als refentie:
Voor het eerste experiment moeten uitgang C.4, fysieke pin 3, van de PICAXE-08M2 worden verbonden met een van de LED connectoren L1, L2 of L3. Naar gelang of je rood, geel of groen leuk vindt.
Vervolgens sluit je de batterijen en de interface kabel aan. Je hebt de driver natuurlijk al geïnstalleerd. Je opent de Programming Editor, en geeft je eerste programma in (zie ook de eerste kennismaking)
Vervolgens laat je de syntax controleren:
En dan programmeren maar! Oeps:
Deze fout komt nogal eens voor, en stelt weinig voor. Open het Options item in je Programming Editor, en je zult zien dat de USB interface niet op COM1, maar op COM5 zit.
Doodeenvoudig de juiste COM-poort selecteren en nogmaals proberen:
En dit is dan het resultaat:

Geen opmerkingen :

Een reactie posten