Arduino 101
Tänne suunnitellaan Arduino-kurssin pohjia. N. kuukauden kestävä kurssi jossa tavataan kerran viikossa?
Sisällysluettelo
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.
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 | |
Signaalit | SDA: Serial Data Line SCL: Serial Clock Line |
SCLK: Serial Clock (masterilta)MOSI: Master Out Slave In (data masterilta) | |
Master/slave | multi | 1 master | |
Kellolähde | master/clock stretch | master | |
duplex | half | full | |
osoiteleveys | 7 bit | 7 bit | |
viestin rakenne | start / stop | 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