Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se mulighederne. Programmeringen foregår i et sprog, der bygger på C, og med nogle ekstra funktioner. En Microcontroller er en lille Computer. Den har indbygget CPU og program og datahukommelse. Plus en række enheder som tællere, adgang til dens ben ( Pins ) mm. Computersystemer: Microcontroller Et system kan være på et print-board, eller flere boards Alle dele er bygget ind i samme chip Generel Blok- diagram for et microcontroller system Af: Valle Thorø Fil.: Side 1 af 15
En uc skal jo have nogle input fra fx nogle sensorer, kontakter mm. Og så skal den jo styre et eller andet. Fx en motor, lysdioder eller fx et display. uc-er kan se forskellige ud. Der er et hav af dem. Her et eksempel på en lille, billig uc, og en lidt større. De kan det samme, den store har blot flere ben på den store! AT89C4051 & AT89S8253 Af: Valle Thorø Fil.: Side 2 af 15
Microcontrollerens pins kan tage digitale signaller ind fra tilsluttede enheder, og sende signaler ud. 0 eller 5 Volt. Kontrolleret af et program lagt ind i controlleren. To microcontrollere er her forbundet sammen via seriel transmission. Fra: http://www.mikroe.com/en/books/8051book/ch1/ Det betyder at man kan få forskellige enheder til at snakke sammen. En uc skal have en clockfrekvens for at arbejde. Fx 16 MHz som vore Arduino kit. http://www.mikroe.com/en/books/8051book/ch1/ Af: Valle Thorø Fil.: Side 3 af 15
Dvs. at en uc kan udføre mere end 1 million ordrer i sekundet. Procedure for programmering:: Programmet, dvs. kildeteksten skrives i C der skal skabes en HEX kode fil - som skal overføres til uc en. ( uploades ) - - - - - - - - - - Ideen er så at der skal skrives et program, der kan kontrollere handlinger, fx afhængig af inputsignaler. Eksempler: Forskellige input & output der kontrollerer Af: Valle Thorø Fil.: Side 4 af 15
Fx hvis der trykkes på en kontakt, så skal en lysdiode tændes i 10 sekunder, - og derefter skal et relæ tænde for 230 Volt til et varmeapparat i 10 minutter. Af: Valle Thorø Fil.: Side 5 af 15
Program struktur Når man programmerer er det en fordel at bruge mange subrutiner Det forenkler oversigten over ens program og fejlretning. Og giver en bedre programstruktur. Main Program Call Subrutine Call Subrutine Subrutine 1 Do something Return Subrutine 2 Do something Return Af: Valle Thorø Fil.: Side 6 af 15
Arduino-kit Enormt genialt. Koster kun 200 kr. Gratis PC-software Direkte USB til PC En gave til rigtige nørder Kittet er ikke særligt stort Højniveausprog C++ dialekt Af: Valle Thorø Fil.: Side 7 af 15
Det er enormt let at opbygge og afprøve kredsløb. Let og gratis software. Modificeret C++ Eksempe l på kode: Af: Valle Thorø Fil.: Side 8 af 15
Eksempel på et program til et LCDdisplay Diverse Applications Af: Valle Thorø Fil.: Side 9 af 15
Det er enormt let at tilkoble fx displays: Hvis USB er tilsluttet, kan kittet køre direkte fra PC ens power. Hvis den skal køre uden USB, forsynes den fra en netadapter, 7 12 Volt, med plus i midten: Arduinoens portben forbindes direkte til et fumlebrædt eller andre komponenter Processorens pins er ført ud til nogle hunstik, hvorfra signaler kan videreføres med nogle ledninger til et fumlebrædt. Af: Valle Thorø Fil.: Side 10 af 15
Jeg har lavet nogle kits, der gør det endnu lettere at lave eksperimenter. Opbygning af kildetekst: En Kildetekst opdeles i 4 eller flere dele. Øverst ses først en Header, dvs. en kommentar-del, hvor man med ren tekst forklarer hvad programmet skal gøre. Hvem der er programmør, og dato osv. Kommentar indsættes mellem /* og */. Bruger man kun 1 linje kommentar, kan man i stedet bruge //. I alle programmer skal der være mindst en setup og en loop-del. Af: Valle Thorø Fil.: Side 11 af 15
Her en anden Graf, over en programstruktur. Kilde: Google: lecture_programming_microcontrollers.ppt eller: http://www.search-document.com/ppt/1/1/mico-controller-programming.html Arduino IDE Debug Monitor! En af de smarte indbyggede funktioner er, at Kittet kan sende data tilbage til PC-en og skrive i et vindue. Det bruges fx til at Debugge programmer. Et andet eksempel!! Af: Valle Thorø Fil.: Side 12 af 15
Download program og kompendium: http://vthoroe.dk/elektronik.htm#arduino Det kan give problemer at installere programmet og USB-drivere til kittet. Se hvordan det gøres i Arduino-kompendiet: Af: Valle Thorø Fil.: Side 13 af 15
Opgaver: Åben evt. eksempler på Arduino IDE. Der er en række opgaver på min hjemmeside. Se guide: http://arduino.cc/en/guide/windows Se Arduinos hjemmeside: Vælg Help / reference for at se muligheder i kodeskrivning. Vi starter med opgaver på min hjemmeside Opgaver gemmes i en Sketchbook: Af: Valle Thorø Fil.: Side 14 af 15
Åben Fil > Egenskaber. Af: Valle Thorø Fil.: Side 15 af 15