search

Elektronik og programmering

 

Frederiksens Arduino-grundkursus starter fra bunden med installation og afprøvning af Arduinos udviklingsmiljø på en PC. Kurset gennemgår vigtige programstrukturer som betingelser og løkker og behandler en række af de færdige funktioner, som Arduino-miljøet stiller til rådighed. Undervejs læres en række simple men vigtige detaljer om den elektronik, som styres af programmet.

Rækkefølgen i grundkurset bør normalt overholdes. De efterfølgende projekter har ingen overordnet orden. I det omfang, de bygger videre på hinanden, vil det fremgå eksplicit.

I hver vejledning vises simple, fungerende eksempler, og der gennemgås grundlæggende principper. Eleverne udfordres til at udvide og kombinere værktøjer og programskitser til færdige programmer, som løser en given opgave.

 

130101 Arduino - Installation og første test (Grundkursus, modul 1)

På en PC installeres Arduinos udviklingsmiljø - det er her, programmerne skrives, oversættes og uploades til Arduino mikrocontrolleren. Den allerførste test er en klassiker blandt Arduino-folket: Få den indbyggede lysdiode til at blinke med forskellige hastigheder.

Læring
Download, installation og start af udviklingsmiljøet på PC. Gemme og hente programmer. Basal programstruktur, setup() og loop(). pinMode(), digitalWrite(), delay().
Indbygget lyssdiode på ben 13.

Download 130101 Installation og første test

 

130110 Blink med to lysdioder (Grundkursus, modul 2)

Lysdioder giver simpel og ufarlig respons på styrespændinger fra mikrocontrolleren.

Læring
Konstanter. Variabler og udtryk. Datatyperne byte og int. for-løkke. Optælling: i++ .
Opbygning af et breadboard. Vend lysdioden rigtigt. Brug af seriemodstand.

Download 130110 Blink med to lysdioder

 

130115 Tænd med en kontakt (Grundkursus, modul 3)

En kontakt kan "aflæses" af mikrocontrolleren - men virkelige kontakter opfører sig ikke så simpelt, som man kunne tro. Problemet opdages og løses.

Læring
Globale variabler. Datatypen bool. Logiske udtryk, sammenligning == ,  ! (operatoren "ikke"). while-løkke.
Kontakter. Indgange med pullup-modstande. Kontaktprel.

Download 130115 Tænd med en kontakt

 

130125 Arduino som lysdæmper (Grundkursus, modul 4)

En Arduino har ingen analoge udgange (hvor en jævnspænding kan styres jævnt op og ned). Til gengæld har den såkaldte PWM-udgange, hvor gennemsnits-spændingen kan styres.

Læring
analogWrite(). Sammensatte operatorer: += , -= .
Princippet bag PWM.

Download 130125 Arduino som lysdæmper

 

130130 Stopur med seriel kommunikation (Grundkursus, modul 5)

Der opbygges et stopur med en Start- og en Stop-knap. Resultatet udlæses på PC'en.

Læring
Datatyperne word og unsigned long. millis(). Lokale variabler, nøgleordet static. Heltalsdivision. Funktioner med parametre.  Sammenligning: < . Serial.begin(), Serial.print(), Serial.println().
Serial kommunikation via USB. Baudrate.

Download 130130 Stopur med seriel kommunikation

 

130135 Tone output (Grundkursus, modul 6)

Arduino har en funktion, som kan få en udgang til at udsende et firkantsignal med en bestemt frekvens. Vi laver en dørklokke, som kan spille en melodistump.

Læring
tone(). Blocking vs. non-blocking funktionskald. Datastrukturen array. sizeof().
Piezo-buzzer.

Download 130135 Tone output

 

130140 Analoge sensorer (Grundkursus, modul 7)

Vi måler spændingen på en analog indgang. Resultatet udlæses på PC'en. Dernæst bygges en simpel lysmåler.

Læring
analogRead(). Datatypen float. Skalering af måleværdier. Funktion, som returnerer en værdi.
ADC opløsning. Spændingsdeler. LDR.

Download 130140 Analoge sensorer

 

© Frederiksen Scientific A/S
Vejledningerne må frit anvendes til undervisningsformål på den adresse, hvortil det beskrevne apparatur er købt.

 

Disse projekter varierer i omfang og sværhedsgrad. Nogle tjener som introduktion til brugen af en bestemt sensor eller et aktuatorboard, andre omhandler opbygning af mere komplekse systemer. Bemærk også de projekter, som ligger under Interfacing til Frederiksen-produkter.

Færdigheder svarende til grundkurset vil normalt være en forudsætning!

 

130315 LCD-Display

LCD-display med 16 tegn x 2 linjer er særdeles anvendelige til utallige Arduino-projekter. Denne vejledning viser, hvordan displaymodulet klargøres og anvendes.

Læring
Brug af funktioner i eksterne biblioteker.
Tilslutning at LCD-display til Arduino.

Download 130315 LCD-display

 

130320 Skriv egne objekter

Programmeringssproget som anvendes til en Arduino er C++, et objektorienteret sprog. I denne øvelse oprettes et programmerings-objekt, som afspejler opførslen af en trykafbryder - og hvor debouncing, tilstandsvariabler osv. er indkapslet i objektet. Desuden berøres begrebet tilstandsmaskine.

Læring
(Man kan med fordel have gennemført 130135 LCD Display inden dette modul.)
Tilstandsdiagram, tilstandsmaskine. Klasser og objekter. private og public variabler og funktioner.

Download 130320 Skriv egne objekter

 

© Frederiksen Scientific A/S
Vejledningerne må frit anvendes til undervisningsformål på den adresse, hvortil det beskrevne apparatur er købt.

 

(Bemærk: Meget af dette materiale er på engelsk)

Nyttige dokumenter

Arduino Uno Rev. 3 diagram
Det officielle reference-design fra Arduino.

Arduino Uno Rev. 3 pinout
Ben-oversigt som billede - print ud og hæng op!

ATmega328P(B) pin overview
Benoversigt som regneark, inkl. de mange ekstra funktioner.
Nyttig, hvis man planlægger et projekt, der bruger mange ben.

 

Nyttige links

Referencemanual for Arduino
Her får du svar på de fleste spørgsmål om sproget, indbyggede funktioner osv.

ATmega328P - Datasheet mv.
For de avancerede brugere er der ingen vej uden om databladet for mikrocontrolleren.

 

© Frederiksen Scientific A/S
Vejledningerne må frit anvendes til undervisningsformål på den adresse, hvortil det beskrevne apparatur er købt.

 

Interfacing til Frederiksen-produkter gør typisk brug af 663010 Interfacemodul for Frederiksen sensorer (leveres parvis inkl. kabler med modularstik). Vi har lavet en samlet oversigt over anvendelsen af dette modul, specielt mht. hvilke ben, som skal forbindes.

Download 663010 Eksempler
Download 663010 produktmanual

Nedenstående projekter varierer i omfang og sværhedsgrad. Hver vejledning vil typisk starte på elementært niveau som en introduktion til brugen af en bestemt sensor, men færdigheder svarende til grundkurset vil normalt være en forudsætning! De afsluttende udfordringer i vejledningerne kan være temmelig krævende.

130410 Geigertæller

Anvender én af følgende: 513575 GM-sensor, 513520 Håndholdt GM-detektor - eller kombinationen af 512585 GM-adapter og et GM-rør med BNC-stik (f.eks. 512515).

Læring
Brug af Arduinoens hardware-tællere. Introduktion til interrupts.
Interfacing af en Frederiksen GM-sensor til Arduino.

Download 130410 Geigertæller

 

© Frederiksen Scientific A/S
Vejledningerne må frit anvendes til undervisningsformål på den adresse, hvortil det beskrevne apparatur er købt.

keyboard_arrow_up