Blog (83)
Komentarze (2k)
Recenzje (1)

LN HUB32IO — moduł z aktywnym hubem USB i 32 pinami IO dla Banana PRO

@cyrylloLN HUB32IO — moduł z aktywnym hubem USB i 32 pinami IO dla Banana PRO09.08.2015 14:34

Kolejny drugi moduł dla Banana PRO, który opiszę i przetestuję to LN HUB-32IO posiadający aż 32 piny GPIO oraz aktywny hub USB. Moduł posiada dwa układy mcp23017 komunikujące się poprzez interfejs i2c. Również jak ostatnio do sterowania modułem użyjemy biblioteki WiringBP.

Moduł posiada 32 złącza cyfrowych pinów GPIO, każdy pin ma podłączoną diodę. Obok złącz IO wyprowadzone jest też 3,3V oraz GND łącznie 4 (po 2 na każdy układ). Hub posiada 4 złącza USB oraz dwa złącza microUSB jedno do zasilenia hub-a drugi do podłączenia USB z Banana PRO

[1/2] złącza USB
[2/2] złącze zasilania oraz wejściowe USB

[join][img=hub(3)][join][img=hub(4)]

Jako że mamy w tym przypadku do czynienia z i2c warto przeskanować magistralę i znaleźć adres naszych układów. W moim przypadku układy posiadają adres 0x20 oraz 0x21, które użyłem do poniższych przykładów.


# i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Program testowy testi2c.c


#include <stdio.h>
#include <wiringPi.h>
#include <mcp23017.h>

int main (void)
{
  int i, bit ;

  wiringPiSetup () ;
  mcp23017Setup (100, 0x20) ;
  mcp23017Setup (116, 0x21) ;
  printf ("LN HUB-32IO - Test\n") ;

  for (i = 0 ; i < 16 ; ++i){
    pinMode (100 + i, OUTPUT) ;
}
   for (bit = 0 ; bit < 16 ; ++bit){
   digitalWrite (100 + bit, 1) ;
      delay (200) ;
}
   for (bit = 15 ; bit >= 0 ; --bit){
   digitalWrite (100 + bit, 0) ;
      delay (200) ;
}

for (i = 0 ; i < 16 ; ++i){
    pinMode (116 + i, OUTPUT) ;
}
   for (bit = 0 ; bit < 16 ; ++bit){
   digitalWrite (116 + bit, 1) ;
      delay (200) ;
}
   for (bit = 15 ; bit >= 0 ; --bit){
   digitalWrite (116 + bit, 0) ;
      delay (200) ;
}
  return 0 ;
}

Kompilacja

gcc -Wall -o test2 testi2c.c -lwiringPi

Program ustawia kolejno piny na stan wysoki na obydwu układach a następnie je wyłącza ustawiając je na stan niski. Status testu możemy obserwować na diodach.

Również z poziomu konsoli (programów w bash-u) możemy sterować pinami za pomocą narzędzia gpio


 gpio -x mcp23017:100:0x20:0 mode 100 out
 gpio -x mcp23017:100:0x20:0 write 100 1
 gpio -x mcp23017:100:0x20:0 read 100
 gpio -x mcp23017:100:0x20:0 mode 101 in

Więcej na stronie projektu WiringPi

Moduł bardzo dobrze sprawdzi się do projektów, które potrzebują więcej złącz IO jak również potrzebujących dodatkowego zasilania dla urządzeń USB. Jedynym minusem można uznać to, że aby podłączyć hub musimy użyć kabla USB łącząc moduł z Banana PRO.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.