Elektroda.pl
Elektroda.pl
X
Elektroda.pl
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Oznaczenia pinów w modułach kompatybilnych z Arduino

04 Maj 2019 23:23 120 7
  • Poziom 2  
    Hej. Witam. Z mikrokontrolerami miałem do czynienia dużo, ale to było ok. 15 lat temu, więc 1) skleroza robi swoje :wink: 2) sporo się zmieniło. Właśnie potrzebowałem użyć modułu ArduCAM (klon Arduino UNO) i odpadłem na nazewnictwie... No właśnie, nazewnictwie czego? Wyprowadzeń? Portów? Pinów?

    Oto przykład. Mamy schemat "wyprowadzeń" ArduCAM UNO od producenta modułu. Przykładowe wyprowadzenie nazwane jest na 4 sposoby:

    1) Physical PIN - 9
    2) Port pin - GPIO14
    3) Digital pin - SCK/D5

    Dodatkowo, fizyczne wyprowadzenie na płytce modułu ma inny opis od góry - SCK/D5, a inny od jej dołu płytki - GPIO14. Domyślam sie, że pierwsze to opis wyprowadzenia modułu oryginalnego, czyli Arduino UNO. Drugie modułu ArduCAM. Załączam obrazki, a teraz pytanie.

    Który numerek (9, 14 czy 5) mam wpisać w kodzie w digitalRead()?

    Pozdrawiam
  • PCBway
  • Pomocny post
    Poziom 29  
    Physical PIN - 9 tak jest oznaczony numer tego pinu w PDF od producenta układu. GPIO14 tego możesz użyć w Arduino jako pinu digital 14. Jeśli użyjesz pinu SCK to on może być zdefiniowany jako liczba, dla sprawdzenia robię Serial.println(SCK) i wiem co dana płytka ze swoimi definicjami "ma na myśli". "SCK" jako alternatywna funkcja danego pinu skrywa pod sobą jedynie numer pinu IO, który ma tę funkcjonalność w danym układzie Arduino. Czyli wg mnie, jeśli wybrałbyś w płytkach ESP8266 "generic" to na pewno zadziała dla digitalRead podanie jako argumentu liczby 14. Jeśli zainstalowałeś jakieś "dzikie" definicje tej konkretnej płytki (bo takie, o których akurat ja nie słyszałem) to podanie jako argumentu funkcji digitalRead() D5 zadziała tak samo, D5 zostanie zamienione na 14 i tyle, inaczej wywali błąd, bo nie wie co to jest D5.
  • PCBway
  • Pomocny post
    Poziom 31  
    SALLDHMF napisał:
    Który numerek (9, 14 czy 5) mam wpisać w kodzie w digitalRead()?

    D5 albo 14 :)
    czyli digitalRead(D5) lub digitalRead(14)

    Konwersja pinów w ArduCAM UNO jest jak w poniższym listingu. Oznaczenia "Physical PIN" możesz zignorować.
    Kod: c
    Zaloguj się, aby zobaczyć kod

    https://github.com/ArduCAM/ArduCAM_ESP8266_UNO
  • Poziom 2  
    Wspaniale. Dzięki. Czyli 9 to "nóżka scalaka" umieszczonego na płytce modułu. Na to nie wpadłem.

    Rozumiem więc, że nazwy pinów są wstępnie zdefiniowane i dostępne wraz z wybranym rodzajem płytki. Czyli równie dobrze mogę zapisać digitalRead(D5) jak i digitalRead(GPIO14). Ale nie na pewno. :-) Dobrze by było sprawdzić to wszystko tak, jak piszesz. Najpierw odpalić programik, który wylistuje numery przypisane wszystkom nazwom. I tak zrobię.
  • Poziom 31  
    SALLDHMF napisał:
    digitalRead(D5) jak i digitalRead(GPIO14).

    Tak, jak napisałem w poście #3: digitalRead(D5) lub digitalRead(14)
  • Poziom 2  
    Dzięki khoam. A podpowiesz który plik z githuba cytujesz?
  • Poziom 2  
    Dzięki Wszystkim. Zawsze kawałek do przodu. Uczenie się jest wielką przyjemnością.