Difference between revisions of "Arduino"
(New page: Arduino ir lēts, vienkāršs kontrolieris ko var apkarināt ar sensoriem, spīddiodēm, un ne tikai. Ja pacenšas un piepērk attiecīgos "shields", arī ar bluetooth, wifi, vai citu rad...) |
(→[ 16x2 simbolu LCD ekrāns]) |
||
(51 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{TocRight}} |
|||
Arduino ir lēts, vienkāršs kontrolieris ko var apkarināt ar sensoriem, spīddiodēm, un ne tikai. |
|||
=Īsumā= |
|||
Kas tas ir, Arduino? |
|||
Arduino ir mazi datoriņi, ar ko var veidot nelielas interaktīvas iekārtas, kas var sajust ar sensoriem un kontrolēt reālo, fizisko pasauli daudz vieglāk nekā tavs galda dators. |
|||
Ja pacenšas un piepērk attiecīgos "shields", arī ar bluetooth, wifi, vai citu radio, vai Ethernet pa vadiem. |
|||
Patiesībā Arduino ir vairāk - tā ir [https://www.arduino.cc/ atvērta pirmkoda fiziskas skaitļošanas platforma], kas iekļauj: |
|||
Linux-iem tas ir par vāju (lai gan vismaz vienu eksperimentu esmu redzējis - ielādējās ~divās stundās). |
|||
* vienkāršs mikrokontroliera modulis - datoriņš (šādu ir vairāki veidi ar dažādām iespējām un izmēriem); |
|||
* [https://www.arduino.cc/en/Main/Software izstrādes vide] programmatūras rakstīšanai šim modulim. Tā pieejama dažādām operētājsistēmām: Linux, Windows, OSX. |
|||
=== Kā sākt === |
|||
=Specifikācija= |
|||
Jums nepieciešams Arduino modulis, piemēram, Arduino Uno vai līdzīgs, un programmatūra, kas par brīvu pieejama internetā. |
|||
Arduino Uno: |
|||
Sīkāk varat lasīt zemāk: |
|||
* Takts frekvence: 16MHz |
|||
* [http://arduino.cc/en/Tutorial/HomePage Pamācība uzsākot] |
|||
* RAM: 2KB |
|||
* Kā installēt Arduino Ubuntu vidē [http://blog.opensensors.io/blog/2014/09/13/getting-started-with-arduino-on-linux/ (pamācība)]: |
|||
sudo apt-get update && sudo apt-get install arduino arduino-core |
|||
* [https://www.arduino.cc/en/tutorial/blink Blink piemērs] - laba pati pirmā programma. |
|||
= Aparatūra = |
|||
=Īsumā= |
|||
''What is Arduino?'' |
|||
Arduino aparatūru var sadalīt vairākās daļās, moduļos, ko var saslēgt kopā, veidojot savu iekārtu: |
|||
''Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It's an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board.'' |
|||
* '''Pamatmoduļi''' ir iekārtas ar procesoru, kurš ir programmējams un ir Arduino "smadzenes". |
|||
* '''Aktuatori''' ir iekārtas, kas ietekmēt pasauli, piemēram, motoriņi, kas dzen robotu uz priekšu. Pie aktuatoriem pieder arī '''LED''' spīddiodes un dāžādi LED vai LCD ekrāni ir iekārtas, kas var rādīt informāciju, piemēram, dodot gaismu vai ar attēlu. |
|||
* '''Sensori''' ļauj mērīt, sajust pasauli. Piemēram, mērot temperatūru, vai gaismas intensitāti. Pie sensoriem varētu pieskaitīt arī slēdžus un pogas, ko lietotāji var nospiest dodot kādu komandu Arduino sistēmai. |
|||
* '''Komunikācija''' - tie ir moduļi, kas ļauj Arduino sazināties ar citiem datoriem, tai skaitā galda datoriem, viedtālruņiem, serveriem un citiem Arduino. Dažādi moduļi nodrošina dažādus saziņas veidus, piemēram, pa WiFi, Bluetooth, ZigBee, Ethernet, vai citu bezvadu vai vadu kanālu. |
|||
* '''Komplekti''' ir jau gatavs dažādu pamatmoduļu, aktuatoru, sensoru, un citu moduļu kopums, no kuriem var veidot dažādas iekārtas un sistēmas, vai nu mācību vai citā nolūkā. |
|||
==Pamatmoduļi== |
|||
Pamatmodulis ir modulis ar mikrokontrolieri, ko iespējams programmēt un kam iespējams pieslēgt citas iekārtas un sensorus, piemēram, spīddiodes, termometrus, motoriņus, u.c. |
|||
Zemāk ir daži no tiem: |
|||
{| border=1 cellspacing=0 cellpadding=4 |
|||
|- |
|||
! Nosaukums |
|||
! Izskats |
|||
! Pinout |
|||
! Komentāri |
|||
|- |
|||
| |
|||
==== [https://www.arduino.cc/en/Main/ArduinoBoardUno Arduino Uno] ==== |
|||
| |
|||
[[Image:ArduinoUno.jpg|thumb|Arduino Uno]] |
|||
| |
|||
[[Image:ArduinoUno_pinout.jpg|thumb|Pinout |
|||
[http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.pdf (PDF)] |
|||
]] |
|||
| |
|||
Viens no pirmajiem Arduino moduļiem. Vienkāršs un ērts lietošanā. |
|||
* [https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Shēma (Rev3)] |
|||
|- |
|||
| |
|||
==== [https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/hardware-overview-pro-micro Arduino Micro Pro] ==== |
|||
| |
|||
[[Image:ArduinoMicroPro.jpg|thumb|Arduino Micro Pro]] |
|||
| |
|||
[[Image:ArduinoMicroPro_pinout.jpg|thumb|Pinout |
|||
[https://cdn.sparkfun.com/r/600-600/assets/9/c/3/c/4/523a1765757b7f5c6e8b4567.png (PNG)] |
|||
]] |
|||
| |
|||
Maza izmēra Arduino modulis, daļēji savietojams ar Leonardo moduli. |
|||
Micro USB saite programmēšanai un komunikācijai. |
|||
Var emulēt USB klaviatūru vai peli ar attiecīgu programmatūru. |
|||
* NB: uzlādējot jaunu skeču, jānospiež Reset (jāsavieno ar zemi) lai USB pārslēgtos no lietotnes uz programmēšanas režīmu. |
|||
* Ir divas versijas: 5V 16MHZ un 3.3V 8MHz. |
|||
* [http://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/SparkFun_Pro_Micro_v13a.pdf Shēma v1.3 (Sparkfun)] |
|||
* [http://www.electrodragon.com/w/images/d/da/Pro-Micro-v11-5V_B.pdf Shēma v1.1] |
|||
|- |
|||
|} |
|||
==Aktuatori un ekrāna moduļi== |
|||
{| border=1 cellspacing=0 cellpadding=4 |
|||
|- |
|||
! Nosaukums |
|||
! Izskats |
|||
! Komentāri |
|||
|- |
|||
| |
|||
==== [LED] ==== |
|||
Parasts LED piemērs |
|||
| |
|||
[[Image:LED_arduino.jpg|thumb|LED]] |
|||
| |
|||
LED spīddiodes ir pieslēdzamas pie GPIO portiem cair rezistoru, lai ierobežotu strāvu un nenodedzinātu Arduino. |
|||
Gandrīz visiem Arduino pamatmodulim ir pieejams LED, ko var ieslēgt un izslēgt. |
|||
Zemāk doti porta numuri sekojošiem Arduino: |
|||
* #13 - Uno, |
|||
* #17 - Micro Pro |
|||
Resursi: |
|||
* [https://www.arduino.cc/en/tutorial/blink Blink piemērs] (sāc te!) |
|||
* [http://playground.arduino.cc/Code/LED LED bibliotēka] |
|||
|- |
|||
| |
|||
==== [ 8x8 LED Matrica] ==== |
|||
Ar 72xx kontrolieri! |
|||
| |
|||
[[Image:8x8LED_MAX7219.jpg|thumb| 8x8 LED matrica ar MAX7219]] |
|||
| |
|||
8x8 matricu ērti kontrolet modulī, kurā ir LED kontrolieris. Tas ļauj rakstīt uz LED matricu caur SPI maģistrāli kā atmiņā, reģistros, kur katrai rindai ir sava adrese, un katrs LED ir viens no 8 bitiem šajā adresē. Kontrolieri paasti ir MAX7219 vai MAX7221. |
|||
* [http://playground.arduino.cc/Main/LEDMatrix LED matricas un Arduino, apraksts] |
|||
* [http://playground.arduino.cc/Main/MAX72XXHardware MAX72xx kontrolieru lietojums ar Arduino, aparatūra] |
|||
* [http://pdfserv.maxim-ic.com/en/ds/MAX7219-MAX7221.pdf MAX72xx datasheet] |
|||
* [[Arduino::LEDControl | LEDControl bibliotēka]] |
|||
|- |
|||
| |
|||
==== [ 16x2 simbolu LCD ekrāns] ==== |
|||
Reizēm pazīstams kā 1602 LCD Screen |
|||
| |
|||
[https://uk.farnell.com/powertip/pc1602lrs-hwb-h-q/lcd-module-16x2-stn-led-e-temp/dp/1602985 LCD Display 1602] |
|||
| |
|||
* Programmējams izmantojot [https://docs.arduino.cc/libraries/liquidcrystal/ LiquidCrystal bibliotēku] |
|||
|- |
|||
|} |
|||
==Sensori== |
|||
{| border=1 cellspacing=0 cellpadding=4 |
|||
|- |
|||
! Nosaukums |
|||
! Izskats |
|||
! Komentāri |
|||
|- |
|||
| |
|||
==== [http://playground.arduino.cc/Main/MPU-6050 MPU-6050 (GY-521)] ==== |
|||
3D akselerometrs un žiroskops |
|||
| |
|||
[[Image:GY521.jpg|thumb|GY-521]] |
|||
| |
|||
3D akselerometrs un 3D žiroskops. Abi pieslēgti ar I2C maģistrāli. |
|||
* [http://playground.arduino.cc/uploads/Main/MPU6050-V1-SCH.jpg shēma] |
|||
|- |
|||
| |
|||
==== [http://www.electroschematics.com/11291/arduino-dht22-am2302-tutorial-library/ DHT22 (AM2302)] ==== |
|||
temperatūras un gaisa mitruma sensors |
|||
| |
|||
[[Image:DHT22.jpg|thumb| DHT22 (AM2302)]] |
|||
| |
|||
DHT22 (AM2302) temperatūras un gaisa mitruma sensors. |
|||
* [http://www.electroschematics.com/11291/arduino-dht22-am2302-tutorial-library/ lietošana] |
|||
* [http://www.electroschematics.com/wp-content/uploads/2015/02/DHT.rar bibliotēka] |
|||
|- |
|||
|} |
|||
==Komunikācija== |
|||
{| border=1 cellspacing=0 cellpadding=4 |
|||
|- |
|||
! Nosaukums |
|||
! Izskats |
|||
! Komentāri |
|||
|- |
|||
| |
|||
<!-- |
|||
==== [Bluetooth] ==== |
|||
| |
|||
[[Image:Bluetooth_ard.jpg|thumb|Bluetooth]] |
|||
| |
|||
Bluetooth komunikācija |
|||
* |
|||
|- |
|||
| |
|||
--> |
|||
==== [http://www.adafruit.com/products/1469 Adafruit CC3000] ==== |
|||
WiFi komunikācijas modulis |
|||
| |
|||
[[Image:cc3000_ada.jpg|thumb| Adafruit CC3000]] |
|||
| |
|||
Adafruit CC3000 modulis nodrošina komunikāciju ar WiFi kanāliem. |
|||
* [https://learn.adafruit.com/adafruit-cc3000-wifi Lietošana] |
|||
|- |
|||
| |
|||
==== [https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo nRF24L01] ==== |
|||
| |
|||
[[Image:nrf24L01_ard.jpg|thumb|nRF24L01+]] |
|||
| |
|||
nRF24L01 komunikācijas modulis vienkāršai zema enerģijas patēriņa komunikācijai 2.4GHz diapazonā. |
|||
* NB! Barošana ir 3.3V (nevis 5V). Datu signāli ir 5V savietojami. |
|||
* [http://playground.arduino.cc/InterfacingWithHardware/Nrf24L01 Interfacing with hardware: Nrf24L01] |
|||
* [https://arduino-info.wikispaces.com/file/view/24L01Pinout-800.jpg/243330999/24L01Pinout-800.jpg Pinout] |
|||
* [http://www.nordicsemi.com/eng/content/download/2726/34069/file/nRF24L01P_Product_Specification_1_0.pdf nRF24L01+ datasheet] |
|||
* [http://wiki.lijun.xyz/misc-nrf24-ble.html Daļēja BLE emulācija] |
|||
* Bibliotēkas: |
|||
** [https://github.com/maniacbug/RF24 maniacbug:RF24] |
|||
** [https://github.com/tmrh20/RF24 TMRh20/RF24], [http://tmrh20.github.io/RF24/ Dokumentācija] |
|||
** [http://www.airspayce.com/mikem/arduino/RadioHead/index.html RadioHead] |
|||
|- |
|||
|} |
|||
==Komplekti== |
|||
{| border=1 cellspacing=0 cellpadding=4 |
|||
|- |
|||
! Nosaukums |
|||
! Izskats |
|||
! Komentāri |
|||
|- |
|||
| |
|||
==== [http://store.arduino.cc/category/16 Tinkerkit] ==== |
|||
| |
|||
[[Image:TinkerKit.jpg|thumb|TinkerKit]] |
|||
| |
|||
Komplekts ar Arduino moduļiem, TinkerKit vairogiem, sensoru un aktuatoru moduļiem, ko ērti pievienot Arduino TinkerKit vairogam. |
|||
|- |
|||
| |
|||
==== [https://www.sparkfun.com/products/12651 SparkFun Digital Sandbox] ==== |
|||
| |
|||
[[Image:Arduino.Sandbox.jpg|thumb| SparkFun Digital Sandbox]] |
|||
| |
|||
Arduino savietojama platforma ar iebūvētiem sensoriem un projektu programmu. |
|||
|- |
|||
|} |
|||
= Programmatūra = |
|||
Arduino IDE vidi programmatūras (sketču) rakstīšanai un ielādēšanai bieži var uzinstalēt jau no operētājsistēmas, piemēram, Ubuntu Linux to dara pavisam vienkārši: |
|||
sudo apt-get install arduino |
|||
Bet ja tā nevar, vai arī vēlaties uzinstalēt pašu jaunāko versiju, tad ieteicams iet uz [https://www.arduino.cc/en/Main/Software Arduino portālu]. |
|||
== Kopdarbs ar Scratch == |
|||
Ir iespējams veidot programmas [https://scratch.mit.edu/ MIT Scratch] vidē, ko izpilda Arduino aparatūra ar tai pievienotajiem sensoriem un iekārtām. |
|||
Viens no risinājumiem ir lietot [https://github.com/MrYsLab/s2a_fm s2a - Scratch to Arduino]. |
|||
Pirms tam gan vajadzēs instalēt Python un [https://github.com/MrYsLab/PyMata PyMata] kas nodrošina komunikāciju ar Arduino pa seriālo portu. |
|||
= Projektu idejas = |
|||
* [http://playground.arduino.cc/Projects/Ideas Projektu idejas] @arduino.cc |
|||
* Projekti un pamācības [https://learn.adafruit.com/category/learn-arduino par Arduino @ Adafruit] |
|||
* [[LEGO_LED]] |
|||
=Noderīga informācija= |
=Noderīga informācija= |
||
* [http://arduino.cc/ Arduino] - Aparatūras un programmatūras platforma |
|||
* [http://arduino.cc/en/Main/arduinoBoardUno Tehniskā informācija] |
* [http://arduino.cc/en/Main/arduinoBoardUno Tehniskā informācija] |
||
* [http://www.instructables.com/id/Arduino-Projects/ Projekti ar Arduino] |
* [http://www.instructables.com/id/Arduino-Projects/ Projekti ar Arduino] |
Latest revision as of 17:22, 24 October 2024
Īsumā
Kas tas ir, Arduino?
Arduino ir mazi datoriņi, ar ko var veidot nelielas interaktīvas iekārtas, kas var sajust ar sensoriem un kontrolēt reālo, fizisko pasauli daudz vieglāk nekā tavs galda dators.
Patiesībā Arduino ir vairāk - tā ir atvērta pirmkoda fiziskas skaitļošanas platforma, kas iekļauj:
- vienkāršs mikrokontroliera modulis - datoriņš (šādu ir vairāki veidi ar dažādām iespējām un izmēriem);
- izstrādes vide programmatūras rakstīšanai šim modulim. Tā pieejama dažādām operētājsistēmām: Linux, Windows, OSX.
Kā sākt
Jums nepieciešams Arduino modulis, piemēram, Arduino Uno vai līdzīgs, un programmatūra, kas par brīvu pieejama internetā. Sīkāk varat lasīt zemāk:
- Pamācība uzsākot
- Kā installēt Arduino Ubuntu vidē (pamācība):
sudo apt-get update && sudo apt-get install arduino arduino-core
- Blink piemērs - laba pati pirmā programma.
Aparatūra
Arduino aparatūru var sadalīt vairākās daļās, moduļos, ko var saslēgt kopā, veidojot savu iekārtu:
- Pamatmoduļi ir iekārtas ar procesoru, kurš ir programmējams un ir Arduino "smadzenes".
- Aktuatori ir iekārtas, kas ietekmēt pasauli, piemēram, motoriņi, kas dzen robotu uz priekšu. Pie aktuatoriem pieder arī LED spīddiodes un dāžādi LED vai LCD ekrāni ir iekārtas, kas var rādīt informāciju, piemēram, dodot gaismu vai ar attēlu.
- Sensori ļauj mērīt, sajust pasauli. Piemēram, mērot temperatūru, vai gaismas intensitāti. Pie sensoriem varētu pieskaitīt arī slēdžus un pogas, ko lietotāji var nospiest dodot kādu komandu Arduino sistēmai.
- Komunikācija - tie ir moduļi, kas ļauj Arduino sazināties ar citiem datoriem, tai skaitā galda datoriem, viedtālruņiem, serveriem un citiem Arduino. Dažādi moduļi nodrošina dažādus saziņas veidus, piemēram, pa WiFi, Bluetooth, ZigBee, Ethernet, vai citu bezvadu vai vadu kanālu.
- Komplekti ir jau gatavs dažādu pamatmoduļu, aktuatoru, sensoru, un citu moduļu kopums, no kuriem var veidot dažādas iekārtas un sistēmas, vai nu mācību vai citā nolūkā.
Pamatmoduļi
Pamatmodulis ir modulis ar mikrokontrolieri, ko iespējams programmēt un kam iespējams pieslēgt citas iekārtas un sensorus, piemēram, spīddiodes, termometrus, motoriņus, u.c. Zemāk ir daži no tiem:
Nosaukums | Izskats | Pinout | Komentāri |
---|---|---|---|
Arduino Uno |
Viens no pirmajiem Arduino moduļiem. Vienkāršs un ērts lietošanā. | ||
Arduino Micro Pro |
Maza izmēra Arduino modulis, daļēji savietojams ar Leonardo moduli. Micro USB saite programmēšanai un komunikācijai. Var emulēt USB klaviatūru vai peli ar attiecīgu programmatūru.
|
Aktuatori un ekrāna moduļi
Nosaukums | Izskats | Komentāri |
---|---|---|
[LED]Parasts LED piemērs |
LED spīddiodes ir pieslēdzamas pie GPIO portiem cair rezistoru, lai ierobežotu strāvu un nenodedzinātu Arduino. Gandrīz visiem Arduino pamatmodulim ir pieejams LED, ko var ieslēgt un izslēgt. Zemāk doti porta numuri sekojošiem Arduino:
Resursi:
| |
[ 8x8 LED Matrica]Ar 72xx kontrolieri! |
8x8 matricu ērti kontrolet modulī, kurā ir LED kontrolieris. Tas ļauj rakstīt uz LED matricu caur SPI maģistrāli kā atmiņā, reģistros, kur katrai rindai ir sava adrese, un katrs LED ir viens no 8 bitiem šajā adresē. Kontrolieri paasti ir MAX7219 vai MAX7221. | |
[ 16x2 simbolu LCD ekrāns]Reizēm pazīstams kā 1602 LCD Screen |
|
Sensori
Nosaukums | Izskats | Komentāri |
---|---|---|
MPU-6050 (GY-521)3D akselerometrs un žiroskops |
3D akselerometrs un 3D žiroskops. Abi pieslēgti ar I2C maģistrāli.
| |
DHT22 (AM2302)temperatūras un gaisa mitruma sensors |
DHT22 (AM2302) temperatūras un gaisa mitruma sensors. |
Komunikācija
Nosaukums | Izskats | Komentāri |
---|---|---|
Adafruit CC3000WiFi komunikācijas modulis |
Adafruit CC3000 modulis nodrošina komunikāciju ar WiFi kanāliem. | |
nRF24L01 |
nRF24L01 komunikācijas modulis vienkāršai zema enerģijas patēriņa komunikācijai 2.4GHz diapazonā.
|
Komplekti
Nosaukums | Izskats | Komentāri |
---|---|---|
Tinkerkit |
Komplekts ar Arduino moduļiem, TinkerKit vairogiem, sensoru un aktuatoru moduļiem, ko ērti pievienot Arduino TinkerKit vairogam. | |
SparkFun Digital Sandbox |
Arduino savietojama platforma ar iebūvētiem sensoriem un projektu programmu. |
Programmatūra
Arduino IDE vidi programmatūras (sketču) rakstīšanai un ielādēšanai bieži var uzinstalēt jau no operētājsistēmas, piemēram, Ubuntu Linux to dara pavisam vienkārši:
sudo apt-get install arduino
Bet ja tā nevar, vai arī vēlaties uzinstalēt pašu jaunāko versiju, tad ieteicams iet uz Arduino portālu.
Kopdarbs ar Scratch
Ir iespējams veidot programmas MIT Scratch vidē, ko izpilda Arduino aparatūra ar tai pievienotajiem sensoriem un iekārtām. Viens no risinājumiem ir lietot s2a - Scratch to Arduino.
Pirms tam gan vajadzēs instalēt Python un PyMata kas nodrošina komunikāciju ar Arduino pa seriālo portu.
Projektu idejas
- Projektu idejas @arduino.cc
- Projekti un pamācības par Arduino @ Adafruit
- LEGO_LED
Noderīga informācija
- Arduino - Aparatūras un programmatūras platforma
- Tehniskā informācija
- Projekti ar Arduino
- Ievads par Arduino