Reklama

Płytka arduinoOstatni raz cię zostawiłem po skonfigurowaniu Rozpoczęcie pracy z zestawem startowym Arduino - instalowanie sterowników oraz konfigurowanie płyty głównej i portuWięc kupiłeś sobie zestaw startowy Arduino i być może jakieś inne fajne komponenty - co teraz? Jak właściwie zacząłeś programować to Arduino? Jak to skonfigurować ... Czytaj więcej swojego Arduino do pracy z komputerem Mac lub Windows i przesłanie prostej aplikacji testowej, która mrugała pokładową diodę LED. Dzisiaj wyjaśnię kod, który przesłałeś, strukturę oprogramowania Arduino i trochę więcej o bitach elektronicznych na samej płycie.

Ten artykuł jest częścią wstępu do serii Arduino. Pozostałe artykuły z tej serii to:

  • Co to jest Arduino i co możesz z tym zrobić Co to jest Arduino i co możesz z tym zrobić?Arduino to niezwykłe małe urządzenie elektroniczne, ale jeśli nigdy wcześniej go nie używałeś, jakie dokładnie są i co możesz z tym zrobić? Czytaj więcej ?
  • Co to jest zestaw startowy Arduino i co zawiera? Co zawiera zestaw startowy Arduino? [MakeUseOf wyjaśnia]
    instagram viewer
    Wcześniej MakeUseOf przedstawiłem tutaj sprzęt open source Arduino, ale będziesz potrzebować czegoś więcej niż samego Arduino, aby coś z niego zbudować i zacząć. „Zestawy startowe” Arduino są ... Czytaj więcej
  • Więcej fajnych komponentów do kupienia w zestawie startowym 8 dodatkowych fajnych komponentów do twoich projektów ArduinoZastanawiasz się więc nad zestawem startowym Arduino, ale zastanawiasz się, czy niektóre podstawowe diody LED i rezystory wystarczą, abyś był zajęty na weekend? Prawdopodobnie nie. Oto kolejne 8 ... Czytaj więcej
  • Rozpoczęcie pracy z zestawem startowym Arduino - instalowanie sterowników oraz konfigurowanie płyty głównej i portu Rozpoczęcie pracy z zestawem startowym Arduino - instalowanie sterowników oraz konfigurowanie płyty głównej i portuWięc kupiłeś sobie zestaw startowy Arduino i być może jakieś inne fajne komponenty - co teraz? Jak właściwie zacząłeś programować to Arduino? Jak to skonfigurować ... Czytaj więcej

Sprzęt

Przyjrzyjmy się bliżej temu, co Arduino Uno ma pod względem bitów na płytce drukowanej.

Oto powiększony schemat, do którego można się odwoływać:

Płytka arduino
  • W górnej części znajduje się 14 cyfrowych pinów wejścia / wyjścia (ponumerowanych 0–13). Są to najbardziej uniwersalne piny w twoim Arduino i mogą działać jako wejście lub wyjście i będą stanowić rdzeń twoich projektów. Cyfrowy oznacza, że ​​sygnał, który te piny mogą zapisać lub odczytać, będzie włączony lub wyłączony.
  • 6 z tych cyfrowych pinów, które są oznaczone znakiem tyldy ~ są w stanie robić to, co się nazywa Modulacja szerokości impulsów. Nie jestem inżynierem elektrykiem, więc nie zawstydzę się, wyjaśniając naukę, która się za tym kryje, ale tobie i mnie oznacza to, że możemy zapewnić zakres poziomów wyjściowych - na przykład ściemnianie diody LED lub napędzanie silnika w różny sposób prędkości.
  • Pin 13 jest wyjątkowy, ponieważ ma wbudowaną diodę LED. To tylko dla wygody i do celów testowych. Możesz użyć tej wbudowanej diody LED, tak jak w przykładowej aplikacji Blink, po prostu wysyłając sygnał do styku 13 - lub można go użyć jako standardowego styku we / wy.
  • W prawym dolnym rogu znajduje się 6 analogowych pinów wejściowych. Odczytują one wartość czujników analogowych, takich jak światłomierz lub rezystory zmienne.
  • W lewym dolnym rogu obok analogowych styków wejściowych znajdują się styki zasilania. Jedyne, o co naprawdę musisz się martwić, to piny uziemiające (GND), linie zasilające 3,3 V i 5 V.
  • Wreszcie jedynym przełącznikiem znalezionym w Arduino jest przełącznik resetowania. Spowoduje to ponowne uruchomienie dowolnego programu, który ma w pamięci.
  • Arduino ma określoną ilość pamięci, a jeśli twój program będzie zbyt duży, kompilator wyświetli błąd.

Struktura programu Arduino

Każdy program Arduino składa się z co najmniej dwóch funkcji (jeśli nie wiesz, co to jest funkcja, koniecznie przeczytaj mój podstawowy samouczek programowania, część 2 - instrukcje funkcyjne i kontrolne Absolutne podstawy programowania dla początkujących (część 2)W części 2 naszego absolutnego przewodnika dla programistów dla początkujących omówię podstawy funkcji, zwracane wartości, pętle i warunki warunkowe. Upewnij się, że przeczytałeś część 1 przed rozwiązaniem tego problemu, w którym wyjaśniłem ... Czytaj więcej , i część 1, w której omawialiśmy zmienne Podstawy programowania komputerowego 101 - Zmienne i typy danychPo wprowadzeniu i rozmowie o programowaniu obiektowym wcześniej i gdzie jego nazwa pochodzi, myślałem, że nadszedł czas, aby przejść przez absolutne podstawy programowania w języku innym niż język droga. To... Czytaj więcej przed kontynuowaniem).

Pierwszą z nich jest funkcja konfiguracji. Jest on uruchamiany początkowo - tylko raz - i służy do poinformowania Arduino, co jest podłączone i gdzie, a także do inicjowania wszelkich zmiennych, które mogą być potrzebne w twoim programie.

Druga to pętla. To jest rdzeń każdego programu Arduino. Gdy Arduino jest uruchomione, po zakończeniu funkcji konfiguracji, pętla przejdzie przez wszystkie kod, a następnie zrób to wszystko jeszcze raz - dopóki nie nastąpi utrata zasilania lub zresetowanie prasowany. Czas potrzebny do ukończenia jednej pełnej pętli zależy od zawartego kodu. Możesz napisać kod z napisem „poczekaj 6 godzin”, w którym to przypadku pętla nie będzie się często powtarzać.

Oto krótki schemat stanu, który ilustruje:

Płytka arduino

Badanie programu mrugania

Spójrz wstecz na kod programu Blink i określ funkcje konfiguracji i pętli.

Oto konfiguracja:

void setup () { // zainicjuj pin cyfrowy jako wyjście. // Pin 13 ma diodę LED podłączoną do większości kart Arduino: pinMode (13, WYJŚCIE); }

Linie zaczynające się od // są po prostu komentarzami wyjaśniającymi kod czytelnikowi i nie są przesyłane do Arduino. Tak więc w tej konkretnej aplikacji Arduino jest tylko jeden wiersz kodu instalacyjnego. Wiersz ten mówi „Ustaw pin 13 w tryb wyjściowy”. 13, pamiętaj, jest wbudowana dioda LED.

Następnie jest pętla:

void loop () { digitalWrite (13, WYSOKA); // włącz diodę LED. opóźnienie (1000); // Poczekaj sekundę. digitalWrite (13, LOW); // wyłącz diodę LED. opóźnienie (1000); // Poczekaj sekundę. }

Komentarze na końcu każdego wiersza kodu dość dobrze wyjaśniają ich funkcję. WYSOKA i NISKA odnoszą się do stanu WŁĄCZENIA i WYŁĄCZENIA wyjścia cyfrowego - w naszym przypadku diody LED. Możesz również napisać ON lub OFF w kodzie, oba są synonimami (podobnie jak 0 i 1). Opóźnienie w tym przypadku każe Arduino poczekać chwilę 1000 milisekund (lub 1 sekunda).

Na koniec uwaga na temat użytego tutaj języka programowania. Zauważ, że zarówno funkcje konfiguracji, jak i pętli mają to słowo unieważnić przed nimi. To jest specjalne słowo na nic, ponieważ funkcja nic nie zwraca gdy jest wywołany - po prostu uruchamia kod zawarty w nim. Na razie zostawmy to w tym miejscu, mówiąc, że blok kodu funkcji jest zamknięty nawiasami klamrowymi {} i że każdy wiersz kodu musi kończyć się na; średnik.

Spróbuj jakoś zmienić podstawowy program, zmieniając dokładne wartości opóźnienia na coś większego lub mniejszego. Zobacz, jak mały możesz to zrobić, zanim flashowanie nie będzie już zauważalne. Sprawdź, którą wartość zmienić, aby utrzymać ją dłużej lub dłużej. Spróbuj dodać więcej instrukcji digitalWrite i delay do funkcji pętli, aby stworzyć bardziej złożony wzór flashowania, taki jak kod Morse'a dla SOS. Jeśli masz brzęczyk, spróbuj podłączyć go również do pinów 13 i GND (wskazówka: czerwony przewód biegnie do 13, czarny do masy).

To wszystko na dzisiaj. Następnym razem dodamy więcej diod LED i napiszemy własną aplikację od zera. Jak zawsze komentarze i udostępnienia są bardzo mile widziane. Nie wyobrażam sobie, abyś miał jakieś problemy z kodem, o którym mowa dzisiaj, ale jeśli spróbowałeś nieco go zmodyfikować i napotykasz błędy lub nieoczekiwane zachowanie, nie krępuj się opublikować go w komentarzach, a my zobaczymy, czy damy radę razem.

James ma licencjat z zakresu sztucznej inteligencji i jest certyfikowany przez CompTIA A + i Network +. Jest głównym programistą MakeUseOf i spędza wolny czas grając w paintball VR i gry planszowe. Buduje komputery od dziecka.