Arduino 101

Kohteesta Uusi Nokia wiki
Loikkaa: valikkoon, hakuun

Tänne suunnitellaan Arduino-kurssin pohjia. N. kuukauden kestävä kurssi jossa tavataan kerran viikossa?

Ennakkovaatimukset

  • perustason ohjelmointiosaaminen (kurssilla ei käydä läpi peruskoodaamisjuttuja)

Tavoitteet

Kurssille osallistunut osaa kurssin jälkeen:

  • asentaa Arduinolle kehitysympäristön Windows-, Linux- tai BSD-ympäristöön
  • kirjoittaa C-ohjelmia Arduinolle "perinteiseen" tapaan
  • komennella SPI- ja I2C-oheislaitteita
  •  ???

Ohjelma

1. pvä

Esitellään mikä Arduino on, teoriaa, selitetään mitä koneelle tarvii asentaa ja miten devausympäristön on tarkoitus toimia. Annetaan Arduinot kotiin ja tehtäväksi laittaa ympäristö kuntoon ensi viikoksi.


Eri Arduinomallien vertailua https://www.arduino.cc/en/Products/Compare
Name Processor Operating/Input Voltage CPU Speed Analog In/Out Digital IO/PWM EEPROM [kB] SRAM [kB] Flash [kB] USB UART
101 Intel® Curie 3.3 V/ 7-12V 32MHz 6/0 14/4 - 24 196 Regular -
Gemma ATtiny85 3.3 V / 4-16 V 8 MHz 1/0 3/2 0.5 0.5 8 Micro 0
LilyPad ATmega168V ATmega328P 2.7-5.5 V / 2.7-5.5 V 8MHz 6/0 14/6 0.512 1 16 - -
LilyPad SimpleSnap ATmega328P 2.7-5.5 V / 2.7-5.5 V 8 MHz 4/0 9/4 1 2 32 - -
LilyPad USB ATmega32U4 3.3 V / 3.8-5 V 8 MHz 4/0 9/4 1 2.5 32 Micro -
Mega 2560 ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4
Micro ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/7 1 2.5 32 Micro 1
MKR1000 SAMD21 Cortex-M0+ 3.3 V/ 5V 48MHz 7/1 8/4 - 32 256 Micro 1
Pro ATmega168
ATmega328P
3.3 V / 3.35-12 V
5 V / 5-12 V
8 MHz
16 MHz
6/0 14/6 0.512
1
1
2
16
32
- 1
Pro Mini ATmega328P 3.3 V / 3.35-12 V 5 V / 5-12 V 8 MHz 16 MHz 6/0 14/6 1 2 32 - 1
Uno ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/6 1 2 32 Regular 1
Zero ATSAMD21G18 3.3 V / 7-12 V 48 MHz 6/1 14/10 - 32 256 2 Micro 2
Due ATSAM3X8E 3.3 V / 7-12 V 84 MHz 12/2 54/12 - 96 512 2 Micro 4
Esplora ATmega32U4 5 V / 7-12 V 16 MHz - - 1 2.5 32 Micro -
Ethernet ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/4 1 2 32 Regular -
Leonardo ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/7 1 2.5 32 Micro 1
Mega ADK ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4
Mini ATmega328P 5 V / 7-9 V 16 MHz 8/0 14/6 1 2 32 - -
Nano ATmega168
ATmega328P
5 V / 7-9 V 16 MHz 8/0 14/6 0.512
1
1
2
16
32
Mini 1
Yùn ATmega32U4 AR9331 Linux 5 V 16 MHz 400MHz 12/0 20/7 1 2.5 16MB 32 64MB Micro 1
Arduino Robot ATmega32u4 5 V 16 MHz 6/0 20/6 1 KB (ATmega32u4)/512 Kbit (I2C) 2.5 KB (ATmega32u4) 32 KB (ATmega32u4) of which 4 KB used by bootloader 1 1
MKRZero SAMD21 Cortex-M0+ 32bit low power ARM MCU 3.3 V 48 MHz 7 (ADC 8/10/12 bit)/1 (DAC 10 bit) 22/12 No 32 KB 256 KB 1 1


TODO

  • tehdään Gogsiin projektipohja ja joku blink-henkinen projekti jonka voi buildata ja uploadata

2. pvä

Tarkastetaan että ympäristöt toimivat ja jokainen saa käännettyä binäärejä ja uploadattua ne Arduinoonsa.

Esitellään I2C- ja SPI-väylät ja käydään läpi niiden eroavaisuuksia, miksi jossain kannattaa käyttää yhtä ja jossain muualla toista jne.

I2C
Inter-Integrated Circuit
SPI
Serial Peripheral Interface
Kehittäjä Philips Motorola
Master/slave multimaster, multislave 1 master, multislave
Signaalit SDA: Serial Data Line
SCL: Serial Clock Line
SCLK: Serial Clock (masterilta)
MOSI: Master Out Slave In (data masterilta)
MISO: Master In Slave Out (data slavelta)
SS: Slave Select (masterilta)
(SISO: 3-johtiminen muunnelma, MOSI+MISO)
Kellolähde master/clock stretch master
Duplex half full
Osoiteleveys 7 bit 7 bit
Viestin rakenne start / stop low / high

Leikitään vaikkapa DACilla, komennellaan sillä analogisyntetisaattoria.

Muuta projektiin liittyvää

Hankinnat

* nippu Arduinoja, mistä?

Selvitettävää

Sopivan stackin pystyttäminen Windows-ympäristöön

Jatkohommat

Arduino IoT -kurssi teollisuuteen, vaikka tähän tyyliin https://create.arduino.cc/projecthub/user425778085/arduino-and-fiware-technology-13462a