Skocz do zawartości

Kurs Raspberry Pi - #13 - PWM, wejścia, skrypty z kamerą


Pomocna odpowiedź

#!/bin/sh
gpio -g mode 17 up	#przycisk
gpio -g mode 18 pwm	#dioda zielone
gpio -g mode 12 pwm 	#dioda zolta
gpio -g mode 20 out	#buzzer
gpio -g mode 21 out	#dioda czerwona
while true
do
	gpio -g write 21 0
	gpio -g pwm 18 0
	gpio -g pwm 12 1024
	gpio -g write 20 1
	gpio -g wfi 17 falling 
		gpio -g pwm 18 1024
		gpio -g pwm 12 0
		gpio -g write 21 1
		gpio -g write 20 0
		sleep 1
		raspistill -t 200 -n -o 'zdjecie-%d.jpg' -dt
done

Zmodyfikowałem kod. Tak jak mówiłeś, usuwając instrukcję warunkową. Odwróciłem też zapalanie diod z PWM. 
Nic to nie zmieniło, dalej są sprzężone 😞 Nawet gdy wysterowuję je bezpośrednio konsoli to też obie naraz wysterowuje tak samo. 

 

(edytowany)

@Jan3k chyba wiem... Chyba. Korzystasz z funkcji alternatywnych dla 18 jest to Alt5 i dla 12 Alt0 - oba używają kanału 0 PWM czyli wysyłają to samo. Hardwarowy PWM jest jeszcze na pinie 19 Alt 5 jest to kanał 1 PWM (lub pin 13 Alt0). Niestety w RPi nie ma byt wiele kanałów PWM porównując z Arduino.

image.thumb.png.292a916aabfa3f62db8d5834e4750676.pngimage.thumb.png.debe15cb9817486499f09f6b839b9ec8.png

Edytowano przez Gieneq
  • Lubię! 1
(edytowany)

Można jakos wyłączyć ten alternatywny tryb pracy PWM? Czy trzeba jedną z diod podłaczyć do IO 19?

EDIT:

#!/bin/sh
gpio -g mode 20 out #buzzer
gpio -g mode 19 pwm #zolte
gpio -g mode 21 out #czerwone
gpio -g mode 12 pwm #zielone
while true
do
	gpio -g pwm 12 1024
	gpio -g write 21 0
	gpio -g write 20 1
	gpio -g pwm 19 0
	sleep 1 
	gpio -g pwm 12 0
	gpio -g pwm 19 1024
	gpio -g write 20 1
	sleep 1
	gpio -g pwm 19 0
	gpio -g write 21 1
	gpio -g write 20 0
	sleep 1
	
done

I już działa dobrze, dzięki za pomoc 🙂

Edytowano przez Jan3k
  • Lubię! 1

@Jan3k tak trzeba zmienić pin, ale fajnie że już teraz działa 🙂 Jest jeszcze opcja programowego PWM (software PWM), ale o tym trzeba by poczytać. Możesz jeszcze poczytać o innych funkcjach alternatywnych, których na RPi 4 jest dużo więcej niż na poprzedniej wersji.

  • 1 miesiąc później...

Cześć, mam mały problem. Podłączyłem przycisk i diode według schematu ale zupelnie nie dziala mi polecenie " gpio -g mode 26 up". Cały czas po wpisaniu komendy read wystepuje zero. Czy ktos wie w czym moze tkwic problem? Przesyłam zdjęcie schematu 

image.thumb.png.f1dd5fa6b0091b65df36223daa4a35f7.png

 

@LN7 a gdy podłączysz pod inne GPIO to sytuacja jest ta sama? Dla testu używaj polecenia gpio readall i sprawdź czy coś się zmienia. Temat pullupu na RPi4 jest dość często poruszany na forum i w okolicy tej części kursu (wcześniej lub później) możesz trafić na porady.

Już udało się rozwiązać. Nie wiem czemu ale na raspberry pi 4B nie chciała działać komenda up znalazłem na zagranicznym forum inna metodę zmiany wartości na pinie.

  • Lubię! 1

@LN7 dzięki za informację to pewnie problem z kompatybilnością bibliotek - możesz z ciekawości pokazać swoje rozwiązanie tego problemu?

  • 3 tygodnie później...
Dnia 3.10.2020 o 10:04, Kinimod135 napisał:

czy można używać dwóch bibliotek komend na raz.

@Kinimod135 powiedz co konkretnie chciałbyś uzyskać to łatwiej będzie pomóc 😉 Masz na myśli jakiś konkretny, praktyczny przykład?

3 godziny temu, Treker napisał:

@Kinimod135 powiedz co konkretnie chciałbyś uzyskać to łatwiej będzie pomóc 😉 Masz na myśli jakiś konkretny, praktyczny przykład?

np. chcę napisać komendę z biblioteki raspi-gpio np.

raspi-gpio set 12 pu

ale nie wiem jak włączyć w tej samej bibliotece funkcję falling, i czy mógłbym użyć do tego celu bibliotekę WirningPi. Jeżeli się nie da, to jaka jest komenda na włączenie funkcji falling w raspi-gpio (Używam raspi-gpio, bo nie rozumiem pigpio.)?

@Treker

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...