Skocz do zawartości

Raspberry - krok dalej, czyli jak wykorzystać GPIO IN


ectineraa

Pomocna odpowiedź

Witam serdecznie,

mam nadzieję, że piszę w dobrym dziale ale jeśli nie to proszę o przeniesienie topicu.

Przejdę do rzeczy. Jako początkujący w elektronice, programowaniu itd pragnę po raz kolejny prosić Was o radę.

Od kilku dni bawię się Raspberry Pi ale do pory nauczyłem się wykorzystywać PIN-y w kierunku wyjścia - sterowanie LED-ami, przekaźnikiem itp.

Przyszedł czas na wykorzystanie PIN-ów ale w drugą stronę jednak nie wiem jak się za to zabrać.

Pomyślałem więc o stworzeniu prostego układu, na podstawie którego będę mógł się opierać w kolejnych pomysłach.

Przedstawię teraz mój pomysł (w bardzo ogólny sposób) a Wy jeśli możecie podpowiedzcie mi jak się do tego zabrać.

Przedmioty:

- Raspberry Pi B

- Płytka stykowa

- Przewody

- LED-y

- Rezystory

- Przyciski monostabilne

W mojej głowie rysuje się taki prosty ukłąd :

GPIO 7 OUT (HIGH)

GPIO 8 IN

GPIO 23 OUT (LOW)

Działanie:

GPIO 7 połączony jest z przyciskiem monostabilnym. Przycisk monostabilny następne połączony jest a GPIO 8 IN.

Dioda led połączona z GPIO 23 (LOW)

Po wciśnięciu przycisku monostabilnego zostaje przesłany impuls z GPIO 7 do GPIO 8.

Kiedy do GPIO 8 otrzymuje impuls, RPi zmienia status GPIO 23 z LOW na HIGH co skutkuje zapaleniem się diody (na stałe).

Kolejne wciśnięcie przycisku monostabilnego, powoduje zmianę statusu GPIO 23 z HIGH na LOW.

Jeszcze dla wyjaśnienia, wiem jak zrobić układ gdzie połączę GPIO 7 (HIGH) z przyciskie monostabilnym , następnie z diodą LED która zapali się tylko kiedy będzie wciśnięty przycisk ale nie o to mi chodzi 🙂.

W skrócie : Czy da się zrobić układ gdzie po przesłaniu impulsu z GPIO Y do GPIO X , zmienia się status GPIO "Z" z high na low lub w drugą stronę.

Może odpowiedź jest prosta czyli zrobić tak jak napisałem, napisać program i już ale po pierwsze zastanawiam się czy nie spalę RPi w ten sposób (kiedy prześlę impuls z GPIO 7 do GPIO 8)

Będę wdzięczny za pomoc.

Link do komentarza
Share on other sites

Witajcie ponownie,

co prawda nie otrzymałem żadnej podpowiedzi ale znalazłem kod który pozwala na zapalenie diody za pomocą przycisku.

Pozwolę sobie tu go przedstawić jeśli ktoś w przyszłości chciałby spróbować zrobić to nad czym ja się pocę.

Nie mniej, udało mi się "rozszyfrować" działanie 1 przycisku ale chciałbym teraz to jeszcze rozszerzyć.

Może ktoś będzie tak miły i mi podpowie jak kod należy uzupełnić aby :

a) Naciśnięcie przycisku podpiętego do GPIO 9 i GND spowodowało wyłącznie diody led która została zapalona po wciśnięciu przycisku podpiętego do GPIO 10.

Będę wdzięczny a tym czasem kod

#include <wiringPi.h>

int main()
{   
   wiringPiSetupGpio();
   pinMode(7, OUTPUT);
   pinMode(10, INPUT); //ustaw gpio10 jako wjescie
   pullUpDnControl(10,PUD_UP); //podciagnij gpio10 do plusa

   for(;;)
   {
       if (digitalRead(10)==0) //jesli nacisniety przycisk czyli gpio10 polaczone do gnd
       {          
           digitalWrite(7, 1);     

       }
       else delay(10);
   }
   return 0;
}
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.