SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Arduino poradnik

Wstęp

Teoria

Biblioteki

Komponenty

Czujniki i sensory

Rozwiązania i algorytmy

Narzędzia

Mikrokontrolery i Arduino IDE

Arduino i klony

Poradniki wideo

Reklama na Blogu

Najnowsze poradniki

Ostatnie komentarze

Ostatnie fotografie

polskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorywieliczka-szyb-danilowicza

Wstęp do platformy Arduino

Arduino jest popularną platformą, zaprojektowanę we Włoszech w 2005 roku dla systemów wbudowanych (tzw. Embedded systems). Arduino oparte jest na projekcie Open Hardware, będącym częścią tej samej kultury co FLOSS. Różnica mędzy nimi jest praktycznie jedna - odnosi się ona do sprzętu, a nie oprogramowania. Ujmując prościej, każdy może dowolnie modyfikować sprzęt, zmieniając lub poszerzając jego zakres przeznaczenia w oparciu o produkt bazowy.

Celem jaki postawili sobie twórcy Arduino, było przygotowanie ogólnodostępnych i w miarę możliwości tanich oraz elastycznych narzędzi, przeznaczonych dla hobbystów zajmujących się ogólnie elektroniką, skoncentowaną wokól programowanych mikrokontrolerów.

Zastosowanie platformy Arduino

Arduino może być wykorzystane do tworzenia samodzielnych układów lub ich sterowania za pomocą komputera bądź innego urządzenia. Płytka Arduino standardowo zawiera mikrokontroler oraz wyprowadzone linie analogowe i cyfrowe, mogące pracować jako wejście lub wyjście - a więc może przeprowadzać określone interakcje sprzętowe. Zawiera w sobie również interfejs szerergowy lub najczęściej port USB, służący do połączenia z komputerem w celu sterowania układem, jak i również zaprogramowniu mikrokontrolera przygotowanym przez nas programem. Komunikacja i progrmowanie realizowane jest przez specjalny adapter USB-to-Serial - na przykład układ FTDI FT232.

Arduino UNO R3

Programowanie platformy Arduino

Język programowania opiera się na środowisku Wiring, który częściowo jest podobny do języka C/C++. Samo programowanie układu odbywa się za pomocą środowiska programistycznego Arduino IDE, gdzie kod programu jest kompilowany przez narzędzie avr-gcc, a następnie wgrywany do podłączonej płytki Arduino.

Arduino IDE w wersji 1.0.2

Budowa Arduino

Na chwilę obecną Arduino zbudowane są w oparciu o mikrokontrolery Atmel AVR, ale nie jest to ostateczne reguła. Najczęściej spotykane są układy z serii megaAVR: ATmega8, ATmega168, ATMega328 oraz ATmega 1280, które różnią się ilością pamięci, a takzę ilością wejść i wyjść analogowoych oraz cyfrowych. Ponieważ całość opiera się założenia Open Hardware, na rynku możemy znaleźć wiele klonów, które są inspirowane oryginalnym Arduino. Mogą być one w większym lub mniejszym stopniu kompatybilne z pierwowzorem.

Oryginalne Arduino UNO po lewej oraz klon po porawej

Większość płytek Arduino zawiera 5V regulator napięcia oraz 16 MHz rezonator kwarcowy. Spotykane są również płytki o taktowaniu wyższym lub niższym Ważnym elementem jest sposób wyprowadzenia złącz cyfrowych i analogowych wyjść I/O, umożliwiający podłączenie dodatkowych modułów (shieldów), które dodatkowo poszerzają możliwośći samego Arduino.

Wybór wersji Arduino

Jak wspomniałem, istnieje sporo odmian Arduino zarówno tych oficjalnych jak i jego klonów, różniących się ilośćią wejść i wyjść analogowych oraz cyfrowych. W każdej z wersji spotkamy się również z inną ilością pamięci przeznaczonej dla wgrywanego programu, napięciem operacyjnym oraz maksymalnym prądem obciążenia portów I/O. Poniżej drobne porównanie najpopularnijszych jego odmian. W naszym kursie, będziemy wykorzystwać Arduino UNO R3, które wydaje się być idealne do celów szkoleniowych - zarówno pod kątem oferowanych możliwości jak i ceny.

  Arduino Uno R3 Arduino Leonardo Arduino Mega 2560 R3 Arduino Due
         
Mikrokontroler ATmega328   ATmega32u4 ATmega2560 AT91SAM3X8E
Napięcie operacyjne 5 V  5 V 5 V 3 V
Napięcie zasilania 7 - 12 V  7 - 12 V 7 - 12 7 - 12 V
Cyfrowe wejścia/wyjścia 14 (6 PWM)  20 (7 PWM) 54 (15 PWM) 54 (12 PWM)
Analogowe wejścia 6  12 16 12
Analogowe wyjścia brak brak brak 2 (DAC)
Natężenie prądu dla pinu I/O 40 mA  40 mA 40 mA 130 mA (1)
Natężenie prądu dla pinu 3.3 V 50 mA  50 mA 60 mA 800 mA
Natęzenie prądu dla pinu 5 V 500 mA (2) 500 mA (2) 500 mA (2) 800 mA
Pamięć Flash 32 kB  32 kB 256 kB  512 kB
Pamięć SRAM 2 kB  2.5 kB 8 kB  96 kB
Pamięć EEPROM  1 kB  1 KB 4  kB  brak
Taktowanie zegara 16 MHz  16 MHz 16 MHz  84 MHz
Wymiary 53 x 69 mm 53 x 69 mm 53 x 102 mm 53 x 102 mm
  www www www www
(1) Sumaryczne, maksymalne natężenie prądu na wszystkich pinach
(2)
Wartość przybliżona przy zasilaniu ze złącza USB

Reklama

Komentarze Komentarze
Avatar 1
Wróblewski Windows XP / Internet Explorer 8.0
15 January 2014 - 13:37 Warszawa

Jak wgrać botloader do arduino z proc atmega 168?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 26.0
15 January 2014 - 22:13 Bytom

Jeśli korzystasz z oficjalnego Arduino, możesz to zrobić za pomocą Arduino IDE, wybierając odpowiednią wersję Arduino i opcję Burn Bootloader. Można to również zrobić za pomocą programatora, jeśli posiadasz. W jaki sposób próbujesz to zrobić?

Avatar 1
marcin Windows / Mozilla Firefox 33.0
26 November 2014 - 11:43 Warszawa

Witam

Spotkałeś się może z połączeniem arduino z adxl193.
Potrzebuję duży zakres pomiarowy - czasem ponad 100g.
Do tego potrzebuję wrzucać wartości odczytywane z jakąć tam zadaną częstotliwością do tablicy, zmaleść max(z).
Może spotkałeś się z jakimś podobnym projektem?

marcin

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 33.0
28 November 2014 - 22:24 Bytom
Avatar 1
Banathy Windows 7 / Safari 537.36
26 April 2015 - 17:57 Brak informacji

Hi ... I need to communicate with you in English ... I am working the current monitor for my electric car ... would like to use the INA226 chip with an arduino due ... any information you can provide will be highly appreciated, Thanks, Bela

Avatar 2
Goomba Linux x86_64 / Safari 537.36
14 November 2015 - 11:49 Wrocław

Mógłby mi ktoś wyjaśnić jakie są wady stosowania klonów Arduino? Są jakiekolwiek? Bo między $3, a $20 jest jednak spora różnica.

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 45.0
26 April 2016 - 23:55 Bytom

Na ogół większych różnic nie ma, do czasu gdy nie zajrzy się w schemat i porówna części. Czasami brak zabezpieczeń odwrtonej polaryzacji zasilania, czasami ścmieciowe regulatory napięcia. Zależy jak trafisz :)

Avatar 2
ttt Windows 7 / Mozilla Firefox 45.0
25 April 2016 - 15:01 Brak informacji

Działałem tylko z klonami - UNO, Nano, Micro. Zawsze pracowały tak jak się spodziewałem.

Avatar 1
Janusz450+ Windows / Safari 537.36
09 June 2019 - 20:04 Legnica

Witam
To już koniec ? Padł mój projekt na poskładanie oprogramowania na Arduino uno r3 do sterowania moim wymarzonym baniaczkiem 450.
Czy ktoś by mi mógł i chciał pomóc ?

Avatar 1
Janusz450+ Windows / Safari 537.36
23 June 2019 - 11:13 Legnica

Witam
Proszę o pomoc w programowaniu Arduino UNO R3. Czy jest możliwy bardziej indywidualny kontakt ?
np mail lub tel.

Avatar 1
Mark Criasia Windows / Safari 537.36
05 February 2020 - 21:01 Brak informacji

I\'m working with my grandson to build an Arduino Rocket Data logger. I built this entire project with no issues according to the specs. The SD card module works great, the blue tooth module works great, the GY-86 is giving me some odd data. The whole project was done on a breadboard with a genuine Arduino UNO R3. I get data via blue tooth on my phone and via serial on the computer. However, it is parsed as follows: NAN,-134.30,-97684,2053,6007. The first 3 values are obviously wrong. The last 2 are correct. I\'m not sure if this is a code problem. The hardware all seems correct. Any suggestions? Possibly one of the libraries is coded wrong? MPU6050, I2Cdev, MS5611. The original project was published 5 years ago and I am using the then published libraries. They may need updating for the Uno R3 version. I\'m not sure. Any help would be great.

Avatar 1
github INA226 project help Windows 7 / Safari 537.36
09 March 2020 - 19:27 Brak informacji

hi
Is it possible to mak an alert for a minimum current and a maximum current in the arduino sketch ?

I want to set an alarm if under 2 amps and over 4 amps ?

thank you