Upload
dodan
View
214
Download
0
Embed Size (px)
Citation preview
1
MICROCONTROLLER CURSUS BLOK1 DEELNEMERSHANDLEIDINGINHOUD
Hart onder de riem.................................................................................................................................................1
Opdracht................................................................................................................................................................3
Het setje uitgelegd.................................................................................................................................................3
Picaxe als meetinstrument / datalogger.................................................................................................................3
1 analoog signaal meten....................................................................................................................................5
2 debug..............................................................................................................................................................5
3 Meetgegevens naar PC met Sertxd..............................................................................................................5
6 Write en read om meetgegevens in de Eeprom op te slaan...........................................................................6
7 + 8 Serout.......................................................................................................................................................7
Energiebesparing:..............................................................................................................................................7
Arduino als meetinstrument / datalogger..............................................................................................................7
1 Analoog signaal meten met analog.Read........................................................................................................8
Meetgegevens naar computer met serial.println...............................................................................................8
HART ONDER DE RIEM
Het eerste blok zit er op. Het is natuurlijk hartstikke sneu als dingen niet aan de praat komen. Helaas gebeurt dat nog wel eens. Op school is dat een klusje voor systeembeheer. Ik hoop dat de mensen die daar de dupe van zijn geworden thuis wel verder kunnen. Ik was niet helder van geest, ik had bij hardware-problemen bij een aantal in de simulator van Picaxe moeten laten werken (een van de grote voordelen van Picaxe boven Arduino). Blijven problemen zich voordoen, ik kan 2 computers een tijdje missen, want het is zonde om veel tijd kwijt te zijn met USB drivers. Je kunt mailen met [email protected], SMS of appen met 0625250455.
Ook is één avond erg kort om mensen die nog nooit met de microcontroller gewerkt hebben zoveel bij te brengen dat ze toepassingen kunnen stekkeren en programmeren. In die zin kan ik heel goed snappen dat het kan lijken of er veel op je af komt.
Nu is deze wereld bij uitstel een wereld waar alles op internet te vinden is. Lessen op de officiële site, pdf’s en YouTube filmpjes. Vele die met de mircrocontroller werken (waaronder ik) hebben nooit één les programmeren of microcontroller gehad. Het zoeken in de internetbrij is onderdeel van het leerproces.
Het blijkt juist dat mensen die wel een cursus (4-8 dagdelen) hebben gedaan er vaak later niets mee doen. Daarom vind ik het belangrijk dat ieder tot een product komt en daarmee de ervaring dat je er ook echt iets mee kunt. Ook al is de programmatuur zo simpel als ik heb laten zien. Natuurlijk helemaal leuk als je iets ontwerpt waar je trots op bent en of toegepast gaat worden in de les. Setjes met de Picaxe 08M2 kleine breadboardjes met LDR en weerstand 10k e.a. heb ik er 15 die jullie t.z.t. voor een klassentest kunnen lenen.
NHL L. Korste
2
Als deze opdracht in het onderwijs toegepast wordt (kan worden) kan je het in je didactisch portfolio én in je practicum portfolio verwerken. !!Succes!!
NHL L. Korste
3
OPDRACHT
Aan de opdracht zoals die gegeven is zijn twee dingen toegevoegd.
1. Je mag in het praktisch ontwerp ook iets “out of the box” doen wat niet voor school bedoelt is, maar een meting uit eigen interesse.
2. De uitwerking in breadboard en schema graag in de Fritzen sofrware. http://fritzing.org/download/ Dit vind ik een erg leuk bedrijf met goede visie wat zijn spullen in Europa laat maken.
HET SETJE UITGELEGD
Een led heeft een serieweerstand nodig om de stroom te beperken.
Als setje niet compleet is hoor ik het wel. De 18B20 temperatuursensor neem ik a.s. woensdag mee.
PICAXE ALS MEETINSTRUMENT / DATALOGGER.
Uitgebreide informatie op http://www.picaxe.com/BASIC-Commands en Getting Started.
Hierin de volgende stappen waarvan er enkele nader uitgewerkt zijn. De rest is op te zoeken:
1. Analoogsignaal meten met Readadc 2. Debug laat de waarden van de variabelen zien in de CodeExplorer 3. Meetgegevens naar PC met Sertxd.4. Readtemp om de digitale temp.sensor 18D20 uit te lezen.5. Ultra om de ultrasonore afstandssensor uit te lezen.6. Write en read om meetgegevens in de Eeprom op te slaan. Gegevens in de Eeprom blijven bewaard,
ook al is de microcontroller uitgeschakeld. Dit maakt meten in het veld mogelijk.7. Serout en meetgegevens zichtbaar op OLED-display.8. Serout en grafiek op je mobiel. Energiebesparing opties indien lang gemeten wordt. Weken meten
op één batterij.
NHL L. Korste
10 kΩ potentiometer Programmeerkabel aansluiting
met weerstanden 5V uit
GND of -
1,5-5V batt. in
5V stepup
Dalles 18B20 temp. Sensor KEYES
LED + 330/470 Ω
LDR + 10KΩ
inkeping
TxD data naar PC
RxD data vanaf
PC
inkeping
4
1 ANALOOG SIGNAAL METEN
Variabele b0 staat voor byte 0. Eén byte = 8 bits geeft waarden van 0 – 255 ( 28 ) .
2 DEBUG
Dit laat alle waarden van de variabelen zien in de CodeExplorer (links in programmavenster op dat tabblad klikken)
3 MEETGEGEVENS NAAR PC MET SERTXD
Dit commando zend op 4800 Hz seriële data via de programmeerkabel naar de computer. Via Terminal of Termite kunnen de overgezonden waarden gekopieerd worden naar Excel.
Termite is handig en klein voor als Picaxe niet geïnstalleerd is.
Cr= cursus return en lf = line feet
Er kunnen meerdere sensoren worden gelezen en overgezonden in één sertxd opdracht. Wil je ze in Excel kunnen gebruiken dien je de variabelen door komma’s te s scheiden. (#b1, “,”, #b2) .
Dit proces kan in de Picaxe editor ook gesimuleerd worden: https://youtu.be/1FDGYJcckdo
NHL L. Korste
5
Als je dit in Blocky wilt doen krijgen we het volgende:
In Wizards kan je de ASCII tabel openen en vind je voor lf code 10 en voor cr code 13. Lf en cr mogen we niet als variabelennaam gebruiken omdat die gereserveerd zijn als commando.
6 WRITE EN READ OM MEETGEGEVENS IN DE EEPROM OP TE SLAAN.
Gegevens in de Eeprom blijven bewaard, ook al is de microcontroller uitgeschakeld. Dit maakt meten in het veld mogelijk. De 08M2 kan 255 bytes (8 bits getal van 0-255) opslaan op Eeprom adres 0 tot 255.
Deze procedure is wel wat ingewikkelder. Eerst de data schrijven, en later opvragen en naar de PC sturen, Deze twee procedures moet je in één programma verwerken. Voor het starten van meten of lezen kan je een drukknop gebruiken, maar het kan ook anders. Je kan bijv. eerst de gegevens naar de PC te sturen en dan gaan meten. Na een meting zet je voeding uit, sluit de controller aan op de PC en je kunt gegevens uitlezen.
Een enkele tip:
Omdat b0 in dit geval oploopt
NHL L. Korste
6
7 + 8 SEROUT
Tot nu toe hebben we settxd gebruikt om seriële data te verzenden.
Settxd is gelijk aan serout c.0, n4800. De instelling die voor programmeren wordt gebruikt.
De Oled display is erg mooi en in de handleiding (picaxe.com) staat hoe die te gebruiken.
De bluetooth module hc-06 en hc-05 werken op minimaal 9600 Hz. De picaxe werkt op 4 MHz wat onvoldoende is voor deze seriële snelheid. Daarom moeten we de frequentie opvoeren naar 8MHz. Let op, multitasking en een aantal commando’s werken enkel onder 4 MHz!
Je kunt ook andere pinnen dan C.0 van de microcontroller gebruiken.
De Serout pin van de picaxe wordt aangesloten op de RxD (Recieve x Data) van de bluetoothmodule.
Installeer op een Android-apparaat de app Bluegraph om de data te verwerken tot tekstbestand en grafieken.
ENERGIEBESPARING:
De werkfrequentie (standaard 4 MHz) is recht evenredig met het energieverbruik. Als we de werkfrequentie met setfreq k31 op 31 kHz zetten gebruikt de picaxe (0,031/4) maar 8% van het normale gebruik. Met sleep kan het nog veel zuiniger (nA) maar is het in te stellen tijdsinterval minder nauwkeurig.
ARDUINO ALS MEETINSTRUMENT / DATALOGGER
Bij de Arduino zijn de meeste codes makkelijk op internet te vinden. Dit is ook een nadeel, omdat je bijna alles kunt kopiëren leer je minder snel het zelf programmeren.
Hierin de volgende stappen:
1. Analoog signaal meten met analogRead2. Meetgegevens naar PC met seriel.println 3. Temp. sensor 18D20 en afstandsensor HC-RS04 uit te lezen.4. Seriel.println om de bluetooth module hc-06 op 9600 Hz te gebruiken om met bluegraph grafieken
en data op je mobiel te ontvangen. 5. EEPROM.write() en EEPROM.read om meetgegevens in de Eeprom op te slaan.
NHL L. Korste
7
1 ANALOOG SIGNAAL METEN MET ANALOG.READ
In tegenstelling tot Basic dienen we bij Arduino C de uitgangen eerst declareren.
Code die éénmalig uitgevoerd wordt staat tussen de accolades van void setup(). Code die herhaald wordt onder void loop().
Hieronder naast de Arduinosketch de Basiccode voor dezelfde funcionaliteit.
Het if statement werkt met accolades i.p.v. met de tekst else en end if.. Bij basic kan je zonder te declareren een variabele (b0) in het leven roepen. Daarentegen kan je in het if-statement bij Arduino de analogread opnemen:
MEETGEGEVENS NAAR COMPUTER MET
SERIAL.PRINTLN
Voor doorlopend meten voldoet onderstaande sketch.
Voor 10 metingen (void loop() wordt niet gebruikt):
NHL L. Korste
8
In Ardublocks:
Zie ook: https://www.arduino.cc/en/Reference/AnalogRead
NHL L. Korste