Kom igång med C/C++

Här är våra egna lektioner i C/C++ för Arduino® IDE. Dessa lektioner bygger dels på våra egna ARD-KIT3 (säljs inte längre) och K-ARD-KIT1 samt de komponenter och sensorer som följer med i dem, men man kan givetvis följa dessa lektioner ändå utan vårt starterkit om man har likvärdiga komponenter.

Vi försöker hålla detta på en nybörjarnivå dels för programmeringsmiljön och elektroniken, så att har man ingen erfarenhet av något skall man kunna genomföra lektionerna.

Tänk på att vissa lektioner inte kan köras direkt på de utvecklingskort som använder Atmega32U4 eller SAMD21G18 då vi ibland använt oss av direkt I/O access för att snabba upp förloppet på de kort som använder ATMega328P.

Vi har i början av 2016 även börjat skriva om text och ladda upp nya bilder som visar IDE version 1.6.7, när vi började med dessa lektioner så fanns endast version 1.0, så vi tyckte det var dags för lite nyheter. Likaså refererar vi till både originalkort och kompatibla kort. Så ursäkta om det är lite rörigt med att visa nya IDE i vissa lektioner och gamla i andra, men vi tar det efterhand.

Augusti 2018 har vi även ett billigare kit baserat på ATMega328P, den använder en annan USB krets (CH340), så kolla avvikelser för drivrutiner etc.

Vi har även informationsexempel som kan lära dig att bli en bättre programmerare, dyka lite under huven i utvecklingsmiljön eller använda och analysera externa komponenter. Många av lektionerna är även lite information om hur elektronik fungerar, så kan du redan programmering men vet inte alls hur du kopplar in elektronik, så har du mycket användbar information av dessa lektioner.

Slutligen har vi lite mer avancerade lektioner/labb där det kan krävas ytterligare komponenter som inte finns i vårt starterkit, men då inkluderar vi förslag till var man kan införskaffa dessa komponenter.

Fler lektioner/labb kommer med jämna mellanrum, dels enkla för nybörjare men även lite mer avancerade där man kan lära sig mycket om Arduino® IDE och C/C++ programmering. I dessa avancerade lektioner kommer vi att göra lektioner med LED matriser, OLED displayer, sensorer, Bluetooth och mycket mer. Men ha tålamod, det tar tid att göra dessa.

Mycket nöje!

Förberedelser och Installation

Förberedelser (Uppdaterad 2018-08-30)
Montering av akrylplatta, utvecklingskortet och kopplingsdäck.

Installation (Uppdaterad 2018-08-30)
Installation av programmeringsmiljön (IDE), USB-drivrutiner för utvecklingskorten som använder de olika USB kretsarna 16U2 eller CH340 samt första testet för att verifiera att drivrutinerna fungerar.

Exempel – Nybörjarnivå

Lektion 1
Koppla in en extern lysdiod och få den att blinka.

Lektion 2
Koppla in en knapp som får en lysdiod att tändas när man trycker på den.

Lektion 3
Vi gör programmet från lektion 2 lite mer avancerat.

Lektion 4
Vi gör rinnande ljus med 8 lysdioder.

Lektion 5
Läsa av analoga ingångar, vi bygger vidare på lektion 4.

Lektion 6
Relän, dioder och transistorer.

Lektion 7
Vi gör ett trafikljus. Visar hur millis() och switch() fungerar.

Lektion 8 (Uppdaterad 2014-01-31)
Lite om PWM och små DC motorer.

Lektion 9
LCD – Hello World, en enkel introduktion till LCD.

Lektion 10
TMP36 – En analog temperaturgivare.

Lektion 11
Fotoresistor (LDR).

Lektion 12
7-Segment LED.

Lektion 13
Optoisolerade ingångar.

Lektion 14 (Uppdaterad 2017-06-20)
NeoPixlar – Intelligenta RGB lysdioder.

Lektion 15
Servomotorer (Hobbyservon).

Lektion 16 (NY)
Enkel introduktion med I2C-baserad OLED display.
OBS: OLED måste köpas separat

Lektion 17 (NY)
Enkel introduktion med SPI LED-Matrix.
OBS: LED-Matrix måste köpas separat

Lektion 18
Kommer inom kort…

Exempel – Information

Direkt I/O
Lär dig använda I/O portar direkt vid tidskritiska funktioner.

Kanalväljare
Ett litet exempel med reläkort och knappar.

Avancerade Exempel/Projekt

Roterande text
Roterande text via en 8×8 LED matris.

RGB LED Kedja
Ett litet roligt projekt som ser ut som när man laddar en film på YouTube.

GPS och LCD demo
Ett enkelt GPS projekt som visar info på LCD, lite om hur man kan “parsa” (tolka) strängar.

Avancerad Motorstyrning
Vi bygger lite vidare på lektion 8 och ändrar PWM till 20KHz för att bättre styra 2 motorer samt gör några enkla funktioner för att styra dessa 2 motorer medurs och moturs.

Utvecklingskort

ATMega328P R3 med CH340 USB (NY)
USB drivrutiner för utvecklingskort med CH340 USB krets.

ATtiny85

Generell information
Tips om hur man kommer igång med ATtiny85.

ATtiny85 och USB 3.0
ATtiny85 har ingen hårdvaru USB, det kan ställa till det på en USB 3 port.

USB FAQ

USB FAQ (NY)
Information om olika utvecklingskort och vilken USB krets som de använder.

Externa Länkar

Arduino® Språkreferens
Här finns alla standardfunktioner, variabeltyper samt syntax på språket (Engelska).

Text och bilder får inte kopieras och läggas på andra sidor utan skriftligt tillstånd från LAWICEL AB, men länka gärna hit. Kod som vi skrivit för dessa lektioner får givetvis användas och ändras utan tillstånd och skall ses som öppen källkod.

 Senast uppdaterad den 11 januari 2021