Skocz do zawartości

Raspberry - krok dalej, czyli jak wykorzystać GPIO IN


Pomocna odpowiedź

Napisano

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.

  • 3 tygodnie później...

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;
}

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...