Arduino 101
Tänne suunnitellaan Arduino-kurssin pohjia. N. kuukauden kestävä kurssi jossa tavataan kerran viikossa?
Sisällysluettelo
Ennakkovaatimukset
- perustason C-osaaminen
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 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Intel® Curie| 3.3 V/ 7-12V | 32MHz | 6/0 | 14/4 | - | 24| 196 | Regular | - |- | ATtiny85 | 3.3 V / 4-16 V | 8 MHz | 1/0 | 3/2 | 0.5 | 0.5 | 8 | Micro | - | 0 |- | ATmega168V ATmega328P | 2.7-5.5 V / 2.7-5.5 V | 8MHz | 6/0 | 14/6 | 0.512 | 1 | 16 | - | - |- | ATmega328P | 2.7-5.5 V / 2.7-5.5 V | 8 MHz | 4/0 | 9/4 | 1 | 2 | 32 | - | - |- | ATmega32U4 | 3.3 V / 3.8-5 V | 8 MHz | 4/0 | 9/4 | 1 | 2.5 | 32 | Micro | - |- | ATmega2560 | 5 V / 7-12 V | 16 MHz | 16/0 | 54/15 | 4 | 8 | 256 | Regular | 4 |- | ATmega32U4 | 5 V / 7-12 V | 16 MHz | 12/0 | 20/7 | 1 | 2.5 | 32 | Micro | 1 |- | SAMD21 Cortex-M0+ | 3.3 V/ 5V | 48MHz | 7/1 | 8/4 | - | 32 | 256 | Micro | 1 |- | 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 |- | 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 |- | ATmega328P | 5 V / 7-12 V | 16 MHz | 6/0 | 14/6 | 1 | 2 | 32 | Regular | 1 |- | ATSAMD21G18 | 3.3 V / 7-12 V | 48 MHz | 6/1 | 14/10 | - | 32 | 256 | 2 Micro | 2 |- | ATSAM3X8E | 3.3 V / 7-12 V | 84 MHz | 12/2 | 54/12 | - | 96 | 512 | 2 Micro | 4 |- | ATmega32U4 | 5 V / 7-12 V | 16 MHz | - | - | 1 | 2.5 | 32 | Micro | - |- | ATmega328P | 5 V / 7-12 V | 16 MHz | 6/0 | 14/4 | 1 | 2 | 32 | Regular | - |- | ATmega32U4 | 5 V / 7-12 V | 16 MHz | 12/0 | 20/7 | 1 | 2.5 | 32 | Micro | 1 |- | ATmega2560 | 5 V / 7-12 V | 16 MHz | 16/0 | 54/15 | 4 | 8 | 256 | Regular | 4 |- | ATmega328P| 5 V / 7-9 V | 16 MHz | 8/0 | 14/6 | 1 | 2 | 32 | - | - | - |- | ATmega168 ATmega328P | 5 V / 7-9 V | 16 MHz | 8/0 | 14/6 | 0.512 1| 1 2 | 16 32 | Mini | 1 |- | ATmega32U4 AR9331 Linux | 5 V | 16 MHz 400MHz | 12/0 | 20/7 | 1 | 2.5 16MB |32 64MB | Micro | 1 |- | 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 |- | 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.
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