Ero sivun ”Arduino 101” versioiden välillä

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