Serwisy partnerskie:
Close icon
Serwisy partnerskie

Rozpoczęcie programowania w Arduino

W dzisiejszym poście opisałem jak napisać kod w oprogramowaniu Arduino. Poznamy jakie są wbudowane funkcje, w jaki sposób tworzyć komentarze, jakie są główne pętle używane w programowaniu Arduino oraz jak dokonuje się wyboru pinów. Aby wyjaśnić to wszystko w szczegółach, podzieliłem ten tutorial na kilka części.
Article Image
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Uruchom swoje oprogramowanie Arduino. Przejdź do menu File, otworzy się nowe okno, stamtąd kliknij na Examples, a następnie przejdź do Basics.

Po kliknięciu na Basics otworzy się trzecie nowe okno, które będzie pokazywało wszystkie podstawowe funkcje wbudowane w Arduino.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić

Kiedy klikniesz na opcję ‘Blink’, otworzy się nowe okno, które jest pokazane na obrazku poniżej:

Na powyższym obrazku widać, że otworzyliśmy przykład z wbudowanego w Arduino oprogramowania.

1. Jak tworzyć komentarze w programowaniu Arduino?

Powyższy kod jest na bardzo podstawowym poziomie i pokazuje jak migać pojedynczą diodą led za pomocą płytki Arduino.

Jeśli przyjrzysz się uważnie powyższemu obrazkowi to zobaczysz, że na początku szkicu jest napisane kilka słów, które są zamknięte w tych znakach „/* ……….*/”.

Uwaga: Komentarze nie mają żadnej reguły w szkicu, ani nie są konieczne do pisania w każdym szkicu. Dodajemy je w kodzie tylko po to, aby kod był przyjazny dla użytkownika lub aby użytkownik zrozumiał, co właściwie dzieje się w kodzie.

Innym sposobem na dodanie komentarza jest napisanie „// ……….” przed każdą linią w szkicu.

Kiedy zrobisz to przed każdą linią, linia ta stanie się zielona i nie będzie już miała żadnego wpływu na szkic.

Jest też mała różnica w tych dwóch technikach komentowania.

Pierwsza technika jest używana w miejscach, gdzie musimy napisać 3 lub 4 linie lub duży akapit, który ma być wprowadzony do szkicu, aby użytkownik zrozumiał szkic. Nie musimy komentować każdej linii po kolei. Tak więc, ta metoda tworzenia komentarzy daje nam łatwość.

Natomiast druga technika jest używana w miejscach, gdzie musimy komentować w jednej linii.

Obie te techniki mają swoje przeznaczenie i są używane w miejscu, w którym chcemy ich użyć.

2. Główne pętle w programowaniu Arduino.

Kolejnym krokiem w nauce programowania Arduino jest poznanie głównych pętli.

Aby zobaczyć jakie są główne pętle, wystarczy przejść do menu File i kliknąć na przycisk New, a otworzy się drugie nowe okno, które jest pokazane na obrazku poniżej:

Powyższy obrazek przedstawia główne pętle, które są używane w oprogramowaniu Arduino.

Pierwsza pętla to ‘void setup()’, a druga to ‘void loop()’.

Składnia do napisania tych obu pętli jest również pokazana na powyższym obrazku. Jednak nie powinieneś martwić się o składnię tych pętli, ponieważ dobrą wiadomością jest to, że oprogramowanie samo generuje składnię, kiedy otwierasz nowy plik szkicu.

Void setup() jest pierwszą i główną pętlą podczas programowania w Arduino. Jest używana do inicjalizacji oraz do konfiguracji stałych wartości.

Na przykład podczas pisania szkicu, jeśli będziesz potrzebował pewnych stałych wartości w swoim kodzie, musisz je najpierw zainicjować w tej pętli.

Jeśli nie zainicjalizujesz tych stałych, kod nie wykona się poprawnie i wygeneruje błąd.

Inną główną pętlą, która jest używana podczas programowania w Arduino jest “void loop()”, co można również zobaczyć na powyższym obrazku.

Ważną rzeczą, na którą należy zwrócić uwagę jest to, że kompilator sprawdza każdą linię jeden po drugim w krokach.

Kompilator porusza się od góry do dołu i w pierwszym kroku, będzie czytać każdą linię „void setup()” a następnie przychodzi do „void loop()” i czyta / kompiluje każdą linię napisaną w tej części.

Uwaga: Ważną rzeczą do zapamiętania tutaj jest to, że, kompilator czyta pętlę ‘void setup()‘ tylko raz, a drugą pętlę, nazwaną jako „void loop()” czyta na okrągło.

Z powyższych informacji możemy wywnioskować, że „void loop()” jest podobna do pętli „while(1)”, która w rzeczywistości jest nieskończoną pętlą.

3. Wybór trybu pinów w programowaniu Arduino

W powyższych dwóch częściach dzisiejszego tutoriala zobaczyliśmy, jak komentować kod oraz jakie są główne pętle używane w programowaniu Arduino.

Teraz przechodzimy do trzeciego etapu jakim jest wybór trybu pinów w programowaniu Arduino.

Jeśli znasz inne mikrokontrolery takie jak seria ATmel, PIC czy AVR, to zapewne wiesz, że konfiguracja pinów w tych mikrokontrolerach jest stała.

Co oznacza, że masz z góry określone piny wejściowe i wyjściowe mikrokontrolera. Te mikro kontrolery mają określone piny dla wejść, a także dla wyjść i mogą być używane tylko do tego konkretnego celu.

Na przykład jeśli mikrokontroler ma port wejściowy to wszystkie piny na tym porcie będą używane do odbierania danych i nie można ich używać do wysyłania danych.

Podczas pracy z Arduino mikrokontroler daje nam taką elastyczność, że każdy pin I/O dostępny na płytce (z wyjątkiem pewnych określonych pinów jak VCC, GND, etc) może być użyty jako pin wejściowy lub wyjściowy.

Na przykład, jeśli chcemy podłączyć diodę led do pinu #2 naszej płytki Arduino – oznacza to, że uczynimy ten pin pinem wyjściowym.

Dla płytki Arduino będziemy wysyłać dane do tego pinu poprzez nasz kod, co oznacza, że zrobiliśmy ten pin jako pin wyjściowy.

Składnia polecenia do wykonania tej funkcji to:

pinMode(2, OUTPUT)

Wpisując tę komendę w kodzie sprawiliśmy, że pin #2 stał się pinem wyjściowym.

A jeśli podłączymy jakiś czujnik do tego portu i będziemy chcieli pobrać wartość z tego czujnika jako wejście, wtedy będziemy musieli zrobić pin #2 jako pin wejściowy.

Aby uczynić ten sam pin pinem wejściowym, będziemy musieli napisać komendę w następującej składni:

pinMode(2 , INPUT)

Wpisanie tej komendy spowoduje, że płytka Arduino automatycznie ustawi pin #2 jako pin wejściowy.

Kryterium pull-up jest również bardzo ważne przy pisaniu jakichkolwiek komend dla płytki Arduino.

Jest tylko jeden problem ze wszystkimi płytkami Arduino. Gdy w naszym kodzie użyjemy niezainicjalizowanego pinu, to płytka Arduino wyśle do tego pinu jakąś śmieciową wartość.

Aby przezwyciężyć ten problem musimy ustawić jakąś konkretną wartość dla każdego pinu. Musimy również zdefiniować stan każdego pinu - albo jest on HIGH albo LOW.

Na przykład możemy powiedzieć, że funkcją pinu #3 jest to, że GND jest zawsze podłączony do tego pinu i jeśli masa nie jest dostępna w dowolnym przypadku, wtedy wyślemy +5 V do tego pinu, aby utrzymać ten pin w określonej pozycji.

Polecenie na płytce Arduino dla funkcji pull-up to:

pinMode(2, INPUT_PULLUP);

Ta komenda automatycznie zadecyduje o konkretnej wartości każdego pinu.

4. Sterowanie pinami cyfrowymi w programowaniu Arduino

Teraz czwarta część dzisiejszego tutoriala do nauki programowania Arduino, czyli jak steruje się pinami cyfrowymi podczas kodowania w Arduino.

Płytka Arduino jest wielofunkcyjnym mikrokontrolerem i jest zdolna do wysyłania i odbierania danych zarówno cyfrowych jak i analogowych.

To jest nasz wybór, czy ustawimy pin jako wejście lub wyjście i będziemy wysyłać lub odbierać dane cyfrowe lub analogowe.

Piny cyfrowe I/P

Załóżmy, że pin #2 ma być wejściem cyfrowym. Oznacza to, że będzie on odczytywał dane cyfrowe z jakiegoś zewnętrznego źródła.

Komenda do wykonania tej funkcji jest podana poniżej: 

digitalRead(2);
boolean sensor=digitalRead(2);

Pierwsza komenda nakazuje kompilatorowi Arduino, aby pin #2 stał się pinem cyfrowym i kompilator będzie pobierał z tego pinu cyfrowe dane wejściowe.

Natomiast druga komenda ma za zadanie zapisać polecenie w zmiennej. W powyższej komendzie użyto logiczny typ danych nazwany jako „boolean”. Nazwa zmiennej to „sensor”.

Piny cyfrowe O/P

Jeśli chcesz ustawić piny jako piny wyjściowe, to możemy również to zrobić.

Załóżmy, że teraz chcesz uczynić swój pin #2 jako pin wyjściowy i chcesz wysłać dane do tego pinu lub chcesz określić stan tego pinu:

digitalWrite(2,HIGH);
digitalWrite(2,LOW);

W składni komendy najpierw wpiszemy nr pinu, a następnie jego stan.

Pierwsza komenda pokazuje, że zapisujemy dane cyfrowe na nasz pin #2 i ustawimy go w stan wysoki. Druga komenda pokazuje, że zamierzamy ustawić pin #2 w stanie niskim.

5. Sterowanie pinami analogowymi w programowaniu arduino

W tej części poradnika zobaczymy jak kontrolować piny analogowe płytki Arduino.

Piny analogowe I/P

Interesującą cechą jest to, że piny Arduino mogą być również używane do wysyłania lub odbierania danych w sposób analogowy.

Przykład: 

analogRead(2);
int sensor Value = analogRead(2);

Jak widać, składnia do odczytu danych cyfrowych i analogowych jest podobna.

W pierwszej komendzie odczytuję dane analogowe z zewnętrznego źródła na pin #2 płytki Arduino.

W następnej komendzie zapisuję te dane do zmiennej o nazwie “wartość czujnika” .

Wszystkie dane analogowe, które pojawią się na pinie #2 zostaną zapisane w zmiennej o nazwie ‘wartość czujnika’.

Piny analogowe O/P

Jeśli chcemy użyć pinów płytki Arduino jako pinów wyjściowych to jest to również bardzo proste i możesz to zrobić wykonując kilka prostych kroków.

Składnia jest następująca: 

analogWrite (3,HIGH);
analogWrite (3,LOW);

Pierwsza linia oznacza, że do pinu #3 podłączony jest przełącznik i chcemy go włączyć. Druga linia oznacza, że przełącznik jest już włączony i chcemy go wyłączyć. W porządku przyjaciele, dzisiejszy poradnik był trochę długi, ale bardzo pouczający dla początkujących, którzy są chętni do nauki oprogramowania Arduino. Jeśli masz jakieś pytania to pisz w komentarzach, a ja postaram się jak najlepiej rozwiązać problem. Do następnego tutoriala.

Artykuł Getting Started with Arduino Programming opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, pierwsze kroki, Arduino UNO
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Mikroprocesory (µP),
Mikrokontrolery (µC)
1/12 Architektura RISC w porównaniu do architektury CISC charakteryzuje się:
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
Kursy kategorie
AI-Sztuczna Inteligencja
Aparatura
Arduino Audio Automatyka
CNC
DIY
Druk 3d
Elektromechanika Fotowoltaika
FPGA-CPLD-SPLD
GPS
IC-układy scalone
Interfejsy
IoT
Książki
Lasery
LED/LCD/OLED
Mechatronika
Mikrokontrolery (MCV,μC)
Moc
Moduły
Narzędzia
Optoelektronika
PCB/Montaż
Podstawy elektroniki
Podzespoły bierne
Półprzewodniki
Pomiary i testy Projektowanie Raspberry Pi
Retro
Komunikacja, RF
Robotyka
SBC-SIP-SoC-CoM
Sensory
Silniki i serwo Software
Sterowanie
Transformatory
Tranzystory
Wyświetlacze
Wzmacniacze
Zasilanie
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"