Kategori:Kom i gang med Arduino

Fra HTX Arduino
Spring til navigation Spring til søgning

Denne side til HTX-Arduino indeholder det samme som det oprindelige udviklingsprojekt, og er konverteret til wiki-format i sommeren 2018. Efterfølgende er det kun wiki-versionen der opdateres og udvikles - se Forfattere

Det oprindelige materiale kan hentes som PDF-filer her under PDF-Version

Undersider til at komme i gang med Arduino


Introduktion

Dette materiale er skrevet med henblik på at give en introduktion til Arduino, og de mange muligheder der er med dette mikroprocessorboard. Målgruppen er gymnasieundervisere, og primært undervisere i fagene teknologi og teknikfag. Men da vi ikke forudsætter en ingeniørmæssig (eller naturvidenskabelig) baggrund i forhold til at kunne forstå indholdet, vil materialet også være anvendeligt for andre interesserede.

Der tages i materialet udgangspunkt i den populære Arduino UNO R3, og der anvendes simple eksempler i starten, så man let får “hul igennem” og en god forståelse for hvordan man arbejder med et Arduinoboard.

Materialet er opdelt i en række kapitler (20 i alt), og i det følgende beskrives hvad hvert afsnit indeholder.

Formatet på kapitlerne

I starten var kapitlerne tænkt som individuelle PDF-dokumenter, men da de henviser på kryds og tværs, så bliver de er konverteret til web-format i denne wiki.

Dokumenterne kan stadig hentes i PDF-format, men det er kun web-versionen der vedligeholdes.

Til de dokumenter der indeholder programkode, så er der en zip-fil med kode-eksemplerne, så man kan downloade dem og udvikle videre på dem.

Enkelte afsnit i kapitlerne indgår i sammenhængen i kapitlet, men er sværere stof, og ikke umiddelbart tilgængeligt, med mindre man kender området.

Disse afsnit er markeret med Svaert.png ved overskriften, for at tilkendegive at man ikke skal fortvivle.

Kapitler

Overblik

Dette er et forsimplet overblik over hvad man arbejder med, når man skal i gang med Arduino.

Hardware

Her omtales hvilken hardware det er godt at starte med, hvad der er nødvendigt, og hvad der er sjovt at udvide med.

Der omtales også tips og tricks til at skaffe tingene hjem fra fx Kina, hvor tingene er billigere, men også hvilke faldgruber der ligger i det.

Software og Udviklingsmiljø

Hjælp til at finde ud af hvordan man får installeret softwaren på PC’en.

Blink Eksempel

Dette er det første simple eksempel, der kan vise at koden fungerer.

Her kommer den første opgave med at forholde sig til tid.

Serial Monitor

Beskrivelse af Arduino IDEs indbyggede “kommunikationsvindue”, hvorigennem man kan sende og modtage data til Arduinoboardet, mens det afvikler kode. Det er især brugbart i forhold til at få programkoden til at udskrive beskeder om hvor i koden den befinder sig, således man kan monitorere sin kode under afviklingen.
En anden mulighed er, at man kan anvende Serial Monitor til sende data til Arduinoboardet; måske dataværdier eller måske bare en kommando?

Simple Komponenter

Her introduceres hvordan man kobler simple komponenter til arduinoen - lysdioder og kontakter, og med nogle af de fejlmuligheder det giver.

Programafvikling i Arduino

Hvordan er det egentlig programkoden bliver afviklet og hvad skal man tage højde for når man programmerer.

Anvendelse af Eksempler

I Arduinos udviklingsmiljø ligger der en del grundlæggende eksempler som normalt er rigtigt gode at lære grundlæggende programmeringsteknikker fra. Når man kommer videre er det godt at kende denne struktur, da de fleste nye moduler man arbejder med også har tilknyttet eksempler.

Test af Programmer

Programmer skal testes, så der er forskellige teknikker til at teste programmer, alt efter hvad det er programmet skal løse.

Systemdokumentation

I alle de tilfælde vi tager udgangspunkt i, så er der anvendt hardware (opbygget primært omkring Arduino UNO), derfor giver det god mening at der skal gives et overblik over denne hardware og hvordan det hænger sammen.

Dokumentation med Kode og Flowchart

Når man anvender programmering i et projekt, så skal det dokumenteres hvordan koden virker. En grundlæggende dokumentationsform er flowcharts, men man kan også lave noget dokumentation ved hjælp af god kodestruktur og forklaringer hertil.

Moduler og Biblioteker

Når man anvender mere komplicerede moduler tilkoblet Arduinoen, så vil man sjældent skrive alt softwaren der kommunikerer med modulet, hertil kan man anvende forskellige biblioteker.

Opkobling af Hardware

Når man kobler hardware på en Arduino, så er der forskellige ting det er smart at tage højde for med forsyning osv.

Tips til anvendelse af ben på Arduino UNO

Nogle ben på Arduino UNO har særlige funktioner, så der er bestemte ben det er smart at gå uden om eller reservere til specielle anvendelser.

Tid og Samtidighed i Software

Når programmer bliver mere komplicerede vil man komme ud for at ting skal foregå samtidigt - da koden er sekventiel vil dette ikke kunne lade sig gøre, men der er forskellige teknikker til at løse problemerne.

Dokumentation med State-machines

Specielt i de mere komplicerede programmer kan en anden dokumentationsform og kodeteknik blive relevant - state-machines.

Arduino kombineret med Processing

For at visualisere hvad der sker i Arduinoen eller kommunikere større datamængder til en PC, så kan det være en god ide at få Arduinoen til at sende data til et PC-program, hvor Processing-miljøet er godt til opsamling og visualisering af data.

Internet of Things (IoT)

Internet of Things (IoT) eller Industri 4.0 er en betegnelse for at mange produkter i dag er baseret på at kommunikere med andre enheder eller internettet. Dette stiller krav til både hardware og software.

Andre Processorboards

Specielt når man skal i gang med IoT kan det være en fordel at anvende andre processorboards end Arduino UNO - dette er noget der til stadighed udvikler sig, så der er ikke endelige svar på denne del, men alligevel gode tips at gå efter.

Projektforslag

Når man er kommet godt i gang med at bruge Arduino’en, kan man kaste sig ud i at lave nogle projekter, hvor man selv skal konstruere sit program, ud fra overvejelser om, hvordan systemet skal fungere. Der gives her en række forslag til projekter, som man både kan lave som underviser, men også give til elever i forhold til at udvide deres forståelse for brug af Arduinoboards.

PDF-Version

Er en side der henviser til både videoerne og til de oprindelige PDF-Versioner af kapitlerne.

For materialet i wikien her er der beskrevet under Forfattere hvordan udviklingsprocessen er.

Kom i gang med Arduino
Grundlæggende forståelse for Arduino Arduino Hardware - Arduino Prototype Print - Blink Eksempel - Overblik - Serial Monitor - Simple Komponenter - Software og Udviklingsmiljø
Programmering af Arduino Anvendelse af Eksempler - Klasser og Objekter - Programafvikling i Arduino - Test af Programmer
Dokumentationsformer Dokumentation med Kode og Flowchart - Dokumentation med State-machines - Flowchart - Pseudokode - Program-kommentarer - Systemdokumentation - Syntaksfarvning - Blokdiagram - Pulsplaner - UML
Opkoblinger til Arduino Moduler og Biblioteker - Driver - Opkobling af Hardware - Simple Komponenter - Tips til anvendelse af ben på Arduino UNO
Kompliceret Programmering Arduino kombineret med Processing - Kommunikation fra Arduino til Processing - Kommunikation fra Processing til Arduino - CopyThread Multitasking - Dokumentation med State-machines - Tid og Samtidighed i Software - Arduino Memory
Kompliceret Hardware I2C - Andre Processorboards - Internet of Things (IoT)
Oprindelige Dokumenter PDF-Version - Forfattere
Software Udviklingsteknikker Agile metoder - Brugertest - SCRUM

Fasemodellen - Kravspecifikation - Databasedesign - Struktur eller Arkitektur - Softwaretest

Projekter Afstand programforslag - Lysmåling - Projektforslag - Prototyper
Undervisningsforløb 4t Valgfag til Folkeskolen - Læsevejledning 4t Valgfag - Materialer til 4t Valgfag - Undervisningsnoter 4t Valgfag - Undervisningsplan 4t Valgfag - Slides til Undervisning

Kort Valgfag til Folkeskolen - Læsevejledning Kort Valgfag - Materialer til Kort Valgfag - Undervisningsnoter Kort Valgfag - Undervisningsplan Kort Valgfag

Underkategorier

Denne kategori har følgende 8 underkategorier, af i alt 8: