Ero sivun ”Arduino 101” versioiden välillä

Kohteesta Uusi Nokia wiki
Loikkaa: valikkoon, hakuun
 
(16 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 4: Rivi 4:
 
= Ennakkovaatimukset =
 
= Ennakkovaatimukset =
  
* perustason C-osaaminen
+
* perustason ohjelmointiosaaminen (kurssilla ei käydä läpi peruskoodaamisjuttuja)
  
 
= Tavoitteet =
 
= Tavoitteet =
Rivi 19: Rivi 19:
  
 
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.
 
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
+
 
 
 
{|+
+
{| class="wikitable"
Processor ! Operating/Input Voltage! CPU Speed ! Analog In/Out ! Digital IO/PWM ! EEPROM [kB] ! SRAM [kB] ! Flash [kB] ! USB ! UART |-
+
|+ Eri Arduinomallien vertailua https://www.arduino.cc/en/Products/Compare
101 | Intel® Curie| 3.3 V/ 7-12V | 32MHz | 6/0 | 14/4 | - | 24| 196 | Regular | - |-  
+
! Name   
Gemma| ATtiny85 | 3.3 V / 4-16 V | 8 MHz | 1/0 | 3/2 | 0.5 | 0.5 | 8 | Micro | - | 0 |-
+
! Processor  
LilyPad | ATmega168V ATmega328P | 2.7-5.5 V / 2.7-5.5 V | 8MHz | 6/0 | 14/6 | 0.512 | 1 | 16 | - | - |-
+
! Operating/Input Voltage  
LilyPad SimpleSnap | ATmega328P | 2.7-5.5 V / 2.7-5.5 V | 8 MHz | 4/0 | 9/4 | 1 | 2 | 32 | - | - |-
+
! CPU Speed  
LilyPad USB | ATmega32U4 | 3.3 V / 3.8-5 V | 8 MHz | 4/0 | 9/4 | 1 | 2.5 | 32 | Micro | - |-
+
! Analog In/Out  
Mega 2560 | ATmega2560 | 5 V / 7-12 V | 16 MHz | 16/0 | 54/15 | 4 | 8 | 256 | Regular | 4 Micro
+
! Digital IO/PWM  
|
+
! EEPROM [kB]  
ATmega32U4
+
! SRAM [kB]  
|
+
! Flash [kB]  
5 V / 7-12 V
+
! USB  
|
+
! UART  
16 MHz
+
|-
|
+
|101    
12/0
+
| Intel® Curie  
|
+
| 3.3 V/ 7-12V  
20/7
+
| 32MHz  
|
+
| 6/0  
1
+
| 14/4  
|
+
| -  
2.5
+
| 24  
|
+
| 196  
32
+
| Regular  
|
+
| -  
Micro
+
|-  
|
+
|Gemma  
1
+
| ATtiny85  
MKR1000
+
| 3.3 V / 4-16 V  
|
+
| 8 MHz  
SAMD21 Cortex-M0+
+
| 1/0  
|
+
| 3/2  
3.3 V/ 5V
+
| 0.5  
|
+
| 0.5  
48MHz
+
| 8  
|
+
| Micro  
7/1
+
| 0
|
+
|-
8/4
+
|LilyPad
|
+
| ATmega168V ATmega328P  
-
+
| 2.7-5.5 V / 2.7-5.5 V  
|
+
| 8MHz  
32
+
| 6/0  
|
+
| 14/6  
256
+
| 0.512  
|
+
| 1  
Micro
+
| 16  
|
+
| -  
1
+
| -  
Pro
+
|-
|
+
|LilyPad SimpleSnap  
ATmega168
+
| ATmega328P  
ATmega328P
+
| 2.7-5.5 V / 2.7-5.5 V  
|
+
| 8 MHz  
3.3 V / 3.35-12 V
+
| 4/0  
5 V / 5-12 V
+
| 9/4  
|
+
| 1  
8 MHz
+
| 2  
16 MHz
+
| 32  
|
+
| -  
6/0
+
| -  
|
+
|-
14/6
+
|LilyPad USB  
|
+
| ATmega32U4  
0.512
+
| 3.3 V / 3.8-5 V  
1
+
| 8 MHz  
|
+
| 4/0  
1
+
| 9/4  
2
+
| 1  
|
+
| 2.5  
16
+
| 32  
32
+
| Micro  
|
+
| -  
-
+
|-
|
+
|Mega 2560  
1
+
| ATmega2560  
Pro Mini
+
| 5 V / 7-12 V  
|
+
| 16 MHz  
ATmega328P
+
| 16/0  
|
+
| 54/15  
3.3 V / 3.35-12 V
+
| 4  
5 V / 5-12 V
+
| 8  
|
+
| 256  
8 MHz
+
| Regular  
16 MHz
+
| 4  
|
+
|-
6/0
+
|Micro  
|
+
| ATmega32U4  
14/6
+
| 5 V / 7-12 V  
|
+
| 16 MHz  
1
+
| 12/0  
|
+
| 20/7  
2
+
| 1  
|
+
| 2.5  
32
+
| 32  
|
+
| Micro  
-
+
| 1
|
+
|-
1
+
|MKR1000  
Uno
+
| SAMD21 Cortex-M0+  
|
+
| 3.3 V/ 5V  
ATmega328P
+
| 48MHz  
|
+
| 7/1  
5 V / 7-12 V
+
| 8/4  
|
+
| -  
16 MHz
+
| 32  
|
+
| 256  
6/0
+
| Micro  
|
+
| 1
14/6
+
|-
|
+
|Pro  
1
+
| ATmega168 <br/> ATmega328P  
|
+
| 3.3 V / 3.35-12 V <br/> 5 V / 5-12 V  
2
+
| 8 MHz <br/> 16 MHz  
|
+
| 6/0  
32
+
| 14/6  
|
+
| 0.512 <br/> 1  
Regular
+
| 1 <br/> 2  
|
+
| 16 <br/> 32  
1
+
| -  
Zero
+
| 1
|
+
|-
ATSAMD21G18
+
|Pro Mini  
|
+
| ATmega328P  
3.3 V / 7-12 V
+
| 3.3 V / 3.35-12 V 5 V / 5-12 V  
|
+
| 8 MHz 16 MHz  
48 MHz
+
| 6/0  
|
+
| 14/6  
6/1
+
| 1  
|
+
| 2  
14/10
+
| 32
|
+
| -  
-
+
| 1
|
+
|-
32
+
|Uno  
|
+
| ATmega328P  
256
+
| 5 V / 7-12 V  
|
+
| 16 MHz  
2 Micro
+
| 6/0  
|
+
| 14/6  
2
+
| 1  
Due
+
| 2  
|
+
| 32  
ATSAM3X8E
+
| Regular  
|
+
| 1
3.3 V / 7-12 V
+
|-
|
+
|Zero  
84 MHz
+
| ATSAMD21G18  
|
+
| 3.3 V / 7-12 V  
12/2
+
| 48 MHz  
|
+
| 6/1  
54/12
+
| 14/10  
|
+
| -  
-
+
| 32  
|
+
| 256  
96
+
| 2 Micro  
|
+
| 2
512
+
|-
|
+
|Due  
2 Micro
+
| ATSAM3X8E  
|
+
| 3.3 V / 7-12 V  
4
+
| 84 MHz  
Esplora
+
| 12/2  
|
+
| 54/12  
ATmega32U4
+
| -  
|
+
| 96  
5 V / 7-12 V
+
| 512  
|
+
| 2 Micro  
16 MHz
+
| 4
|
+
|-
-
+
|Esplora  
|
+
| ATmega32U4  
-
+
| 5 V / 7-12 V  
|
+
| 16 MHz  
1
+
| -
|
+
| -  
2.5
+
| 1  
|
+
| 2.5  
32
+
| 32  
|
+
| Micro  
Micro
+
| -
|
+
|-
-
+
|Ethernet  
Ethernet
+
| ATmega328P  
|
+
| 5 V / 7-12 V  
ATmega328P
+
| 16 MHz  
|
+
| 6/0  
5 V / 7-12 V
+
| 14/4  
|
+
| 1  
16 MHz
+
| 2  
|
+
| 32  
6/0
+
| Regular  
|
+
| -
14/4
+
|-
|
+
|Leonardo  
1
+
| ATmega32U4  
|
+
| 5 V / 7-12 V  
2
+
| 16 MHz  
|
+
| 12/0  
32
+
| 20/7  
|
+
| 1  
Regular
+
| 2.5  
|
+
| 32  
-
+
| Micro  
Leonardo
+
| 1
|
+
|-
ATmega32U4
+
|Mega ADK  
|
+
| ATmega2560  
5 V / 7-12 V
+
| 5 V / 7-12 V  
|
+
| 16 MHz  
16 MHz
+
| 16/0  
|
+
| 54/15  
12/0
+
| 4  
|
+
| 8  
20/7
+
| 256  
|
+
| Regular  
1
+
| 4
|
+
|-
2.5
+
|Mini  
|
+
| ATmega328P
32
+
| 5 V / 7-9 V  
|
+
| 16 MHz  
Micro
+
| 8/0  
|
+
| 14/6  
1
+
| 1  
Mega ADK
+
| 2  
|
+
| 32  
ATmega2560
+
| -
|
+
| -
5 V / 7-12 V
+
|-
|
+
|Nano  
16 MHz
+
| ATmega168 <br/> ATmega328P  
|
+
| 5 V / 7-9 V  
16/0
+
| 16 MHz  
|
+
| 8/0  
54/15
+
| 14/6  
|
+
| 0.512 <br/> 1
4
+
| 1 <br/> 2  
|
+
| 16 <br/> 32  
8
+
| Mini  
|
+
| 1  
256
+
|-
|
+
|Yùn  
Regular
+
| ATmega32U4 AR9331 Linux  
|
+
| 5 V  
4
+
| 16 MHz 400MHz  
Mini
+
| 12/0  
|
+
| 20/7  
ATmega328P
+
| 1  
|
+
| 2.5 16MB  
5 V / 7-9 V
+
|32 64MB  
|
+
| Micro  
16 MHz
+
| 1  
|
+
|-
8/0
+
|Arduino Robot  
|
+
| ATmega32u4  
14/6
+
| 5 V  
|
+
| 16 MHz  
1
+
| 6/0  
|
+
| 20/6  
2
+
| 1 KB (ATmega32u4)/512 Kbit (I2C)  
|
+
| 2.5 KB (ATmega32u4)  
32
+
| 32 KB (ATmega32u4) of which 4 KB used by bootloader  
|
+
| 1  
-
+
| 1  
|
+
|-  
-  
+
|MKRZero  
Nano | ATmega168 ATmega328P | 5 V / 7-9 V | 16 MHz | 8/0 | 14/6 | 0.512 1| 1 2 | 16 32 | Mini | 1 |-
+
| SAMD21 Cortex-M0+ 32bit low power ARM MCU  
Yùn | ATmega32U4 AR9331 Linux | 5 V | 16 MHz 400MHz | 12/0 | 20/7 | 1 | 2.5 16MB |32 64MB | Micro | 1 |-
+
| 3.3 V  
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 |-  
+
| 48 MHz  
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
+
| 7 (ADC 8/10/12 bit)/1 (DAC 10 bit)  
 +
| 22/12  
 +
| No  
 +
| 32 KB  
 +
| 256 KB  
 +
| 1  
 +
| 1  
 +
|-
 
|}
 
|}
  
Rivi 305: Rivi 312:
 
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.
 
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.
 
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ää =
 
== Hankinnat ==
 
 
 
<s>* nippu Arduinoja, mistä?</s>
 
  
 
== Selvitettävää ==
 
== Selvitettävää ==

Nykyinen versio 25. syyskuuta 2018 kello 21.23

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.

Pinout Uno

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