Ero sivun ”Arduino 101” versioiden välillä
(24 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) | |||
Rivi 4: | Rivi 4: | ||
= Ennakkovaatimukset = | = Ennakkovaatimukset = | ||
− | * perustason | + | * perustason ohjelmointiosaaminen (kurssilla ei käydä läpi peruskoodaamisjuttuja) |
= Tavoitteet = | = Tavoitteet = | ||
Rivi 18: | Rivi 18: | ||
== 1. pvä == | == 1. pvä == | ||
− | Esitellään mikä Arduino on, teoriaa, selitetään mitä koneelle tarvii asentaa. Annetaan Arduinot kotiin ja tehtäväksi laittaa ympäristö kuntoon ensi viikoksi. | + | 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. |
+ | |||
+ | |||
+ | {| class="wikitable" | ||
+ | |+ 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 <br/> ATmega328P | ||
+ | | 3.3 V / 3.35-12 V <br/> 5 V / 5-12 V | ||
+ | | 8 MHz <br/> 16 MHz | ||
+ | | 6/0 | ||
+ | | 14/6 | ||
+ | | 0.512 <br/> 1 | ||
+ | | 1 <br/> 2 | ||
+ | | 16 <br/> 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 <br/> ATmega328P | ||
+ | | 5 V / 7-9 V | ||
+ | | 16 MHz | ||
+ | | 8/0 | ||
+ | | 14/6 | ||
+ | | 0.512 <br/> 1 | ||
+ | | 1 <br/> 2 | ||
+ | | 16 <br/> 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ä == | == 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. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! | ||
+ | ! I2C <br/> Inter-Integrated Circuit | ||
+ | ! SPI <br/> Serial Peripheral Interface | ||
+ | |- | ||
+ | | Kehittäjä | ||
+ | | Philips | ||
+ | | Motorola | ||
+ | |- | ||
+ | | Master/slave | ||
+ | | multimaster, multislave | ||
+ | | 1 master, multislave | ||
+ | |- | ||
+ | | Signaalit | ||
+ | | SDA: Serial Data Line <br/> SCL: Serial Clock Line | ||
+ | | SCLK: Serial Clock (masterilta)<br/> MOSI: Master Out Slave In (data masterilta) <br/> MISO: Master In Slave Out (data slavelta) <br/> SS: Slave Select (masterilta) <br/> (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. | ||
+ | |||
+ | [https://i2.wp.com/marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.png Pinout Uno] | ||
= Muuta projektiin liittyvää = | = Muuta projektiin liittyvää = | ||
− | |||
− | |||
− | |||
== Selvitettävää == | == Selvitettävää == | ||
Sopivan stackin pystyttäminen Windows-ympäristöön | 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 |
Nykyinen versio 25. syyskuuta 2018 kello 20.23
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 |
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ää
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