logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Kurs: Podstawy Raspberry Pi - GPIO

kmmepl 16 Wrz 2015 18:12 8439 0
REKLAMA
  • Kurs: Podstawy Raspberry Pi - GPIO
    W poniższym poradniku zapoznamy się z podstawowymi właściwościami pinów GPIO znajdujących się na platformie Raspberry Pi. Omówimy znaczenie GPIO, ich konfiguracje, a na końcu napiszemy prosty program.
    Czym są GPIO?

    Piny GPIO (General Purpose Input/Output) są interfejsem służącym do komunikacji pomiędzy komputerem (w naszym przypadku Raspberry Pi) a innymi układami. Możemy do nich podłączyć moduły rozszerzeń, przeróżne czujniki czy własne układy elektroniczne. GPIO odznaczają się tym, że to użytkownik decyduje czy ma on pośredniczyć w wysyłaniu lub pobieraniu sygnału, czyli czy dany pin ma być interfejsem wyjściowym czy wejściowym.

    Kurs: Podstawy Raspberry Pi - GPIO


    UWAGA! Eksperymentowanie z GPIO jest ryzykowne i istnieje możliwość uszkodzenia Raspberry Pi. Nie powinno się podłączać napięć wyższych niż 3.3V i mniejszych niż 0V oraz prąd pobierany przez zewnętrzne urządzenia nie może być większy niż 16mA.

    Potrzebne elementy

    Do wykonania wszystkich instrukcji, które pojawią się w tym kursie będziemy potrzebowali:
    • Raspberry Pi
    • Karta SD 8GB lub micro SD dla Raspberry Pi 2 lub Raspberry Pi B+
    • Kabel ethernetowy lub karta sieciowa wifi (jeśli chcemy zdalnie sterować minikomputerem)
    • 1x rezystor 100-ohm
    • 1x czerwona dioda LED
    • Płytka stykowa + przewody połączeniowe
    • Moduł umożliwiający podłączenie GPIO z płytką stykową - Adafruit Pi T-Cobbler Plus (opcjonalnie)

    Typu pinów

    Jak widzimy na poniższym rysunku, ilość pinów różni się w zależności od modelu. Także GPIO są podzielone na sekcje, do których odniesienie widzimy po prawej stronie.

    Kurs: Podstawy Raspberry Pi - GPIO

    Wytłumaczenie oznaczeń:
    • GPIO - standardowe piny do powszechnego użytku
    • I?C (Inter-Integrated Circuit) - piny, które oprócz standardowych funkcji pozwalają na podłączenie do nich urządzeń wspierających protokół I?C, dzięki temu możliwa jest komunikacja z podłączonymi układami.
    • SPI (Serial Peripheral Interface Bus) ? tak samo jak w przypadku I?C, piny te posiadają funkcję normalnych GPIO, jak również mają możliwość komunikacji za pomocą protokołu SPI
    • UART (Universal asynchronous receiver/transmitter) ? piny, które pośredniczą w przekazywaniu i odbieraniu informacji poprzez port szeregowy
    • DNC (Do Not Connect) piny nieużywane przez Raspberry Pi
    • V+ - piny zasilające
    • GND piny masy (nie jest ważne, których używamy, gdyż wszystkie są podłączone do tej samej linii)

    Konfiguracja GPIO


    Do tego zadania jak i przyszłych, będziemy używać systemu operacyjnego Raspian.
    Na początku musimy się upewnić, że posiadamy do niego najnowszą listę pakietów. W tym celu trzeba wprowadzić następujące polecenie:
    sudo apt-get update


    Kurs: Podstawy Raspberry Pi - GPIO


    Następne polecenie przeprowadza aktualizację zainstalowanych pakietów:
    sudo apt-get upgrade


    Kurs: Podstawy Raspberry Pi - GPIO


    Jeśli nie posiadamy modułu do kontroli GPIO, wpisujemy:
    sudo apt-get install rpi.gpio


    Konfiguracja protokołu I?C

    W celu ustawienia protokołu musimy wejść do Raspi-Config poprzez wprowadzenie polecenia:
    sudo raspi-config



    Kurs: Podstawy Raspberry Pi - GPIO


    Przeniesie ono nas do menu konfiguracyjnego. W nim wchodzimy do opcji zaawansowanych (Advanced Options), a następnie przechodzimy do sekcji I2C. Aktywujemy protokół poprzez wybranie ?Yes?. Raspberry Pi powinno w tym czasie poinformować nas, że magistrala będzie aktywna po restarcie systemu. Następnie Rpi zapyta się, czy I?C ma być ładowane przy każdym starcie systemu. Jeśli chcemy, aby tak było wybieramy ?Yes?.

    Kurs: Podstawy Raspberry Pi - GPIO


    By upewnić się, że moduł I?C został załadowany wpisujemy:
    lsmod | grep i2c_


    Jeśli jest on poprawnie skonfigurowany, powinniśmy otrzymać poniższy komunikat.


    Kurs: Podstawy Raspberry Pi - GPIO


    Konfiguracja protokołu SPI

    Analogicznie do I?C, zaczynamy poprzez wpisanie komendy:
    sudo raspi-config


    Następnie przechodzimy do opcji zaawansowanych, a później do sekcji SPI. Aktywujemy komunikację poprzez kliknięcie na ?Yes?. Tak samo jak w przypadku I?C system poinformuje nas, że protokół będzie aktywny dopiero po restarcie.

    Kurs: Podstawy Raspberry Pi - GPIO


    By upewnić się, że moduł SPI został załadowany wpisujemy:
    lsmod | grep spi_


    Jeśli wszystko jest w porządku konsola zwróci nam:


    Kurs: Podstawy Raspberry Pi - GPIO


    Używanie płytki stykowej z modułem Adafruit

    W celu uzyskania jak największej wygody podczas zabawy z Raspberry Pi, możemy użyć zestawu firmy Adafruit o nazwie Pi T-Cobbler Plus. Pozwala on na połączenie wszystkich pinów Rpi z płytką stykową za pomocą tasiemki. Łączy się ją tak, jak na zdjęciu podanym poniżej.

    Kurs: Podstawy Raspberry Pi - GPIO


    Programowanie pinów GPIO


    Typowym językiem programowania na platformie Raspberry Pi jest Python. My również będziemy z niego korzystać i napiszemy sobie prosty program obsługujący pojedynczą diodę LED. Na początku musimy przygotować mały układ na płytce stykowej według poniższego diagramu. Anodę diody łączymy do pinu 7, a katodę przez rezystor do masy.

    Kurs: Podstawy Raspberry Pi - GPIO


    Skrypt można utworzyć uruchamiając edytor NANO za pomocą komendy:
    [code:1]sudo nano led_blink.py[/code:1]
    Przed przystąpieniem do pisania programu musimy pamiętać, że Python zwraca uwagę na ilość spacji w kodzie. Przykładowo podczas używania pętli "for" musimy pamiętać, że wszystko w niej wykonywane powinno być poprzedzone czterema spacjami.

    Kod: Python
    Zaloguj się, aby zobaczyć kod


    Po wpisaniu powyższego musimy go zapisać i wyjść z programu, poprzez wciśnięcie "ctrl+x" a następnie "y".

    Teraz możemy uruchomić nasz mały kod. Wykonujemy to poprzez wpisanie poniższej komendy.
    sudo python led_blink.py


    Kurs: Podstawy Raspberry Pi - GPIO


    Zakończenie

    Mam nadzieję, że w tym poradniku udało się przybliżyć temat pinów Raspberry Pi. Wiedza zawarta w tym kursie, będzie pomocna przy wielu dalszych projektach.

    źródło: http://pimylifeup.com/raspberry-pi-gpio/

    Fajne? Ranking DIY
    O autorze
    kmmepl
    Poziom 13  
    Offline 
    kmmepl napisał 73 postów o ocenie 320, pomógł 7 razy. Jest z nami od 2013 roku.
  • REKLAMA
REKLAMA