Skocz do zawartości

Kurs Raspberry Pi - #16 - PWM, wejścia, kamera w Pythonie


Pomocna odpowiedź

Napisano
html_mig_img
Dzięki znajomości Pythona można przygotować wiele ciekawych projektów na Raspberry Pi. Za pomocą skryptów łatwo wysterujemy piny GPIO i wykorzystamy przeróżne peryferia.Tym razem zajmiemy się generowaniem PWM, obsługą wejść oraz kamery z poziomu Pythona.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Inari, spis treści został zaktualizowany w momencie publikacji tego artykułu 🙂 Wszystkie najważniejsze podstawy zostały omówione. Nikt nie powinien mieć już problemów z uruchomieniem czy konfiguracją malinki. Instalacja programów, polecenia Linuksa, proste skrypty i programy w Pythonie też zostały omówione, więc teraz możemy przejść do opisywania prostych projektów, które będą bazowały na umiejętnościach zdobytych podczas tego kursu. Reasumując na ten moment to koniec artykułów "tego typu", teraz skupimy się na projektach.

Inari, spis treści został zaktualizowany w momencie publikacji tego artykułu 🙂 Wszystkie najważniejsze podstawy zostały omówione. Nikt nie powinien mieć już problemów z uruchomieniem czy konfiguracją malinki. Instalacja programów, polecenia Linuksa, proste skrypty i programy w Pythonie też zostały omówione, więc teraz możemy przejść do opisywania prostych projektów, które będą bazowały na umiejętnościach zdobytych podczas tego kursu. Reasumując na ten moment to koniec artykułów "tego typu", teraz skupimy się na projektach.

mniej więcej kiedy taki artykuł odnośnie jakiegoś projektu się pojawi?

Może zrobicie jakąś ankietę, gdzie będzie można zagłosować jaki artykuł chcemy?

czuję głód materiałów o malince i pythonie 👹

Inari, odpowiadałem już na Twoje pytanie na temat terminów kolejnych publikacji wielokrotnie pod innymi artykułami z tej serii. Moja odpowiedź nie uległa zmianie - cały czas pracujemy nad nowymi tekstami i staramy się publikować je w taki sposób, aby wszyscy czytelnicy (różnych) kursów byli zadowoleni. Aktualnie nie podajemy konkretnych terminów publikacji i nic się w tej kwestii teraz nie zmieni. Rozumiem, że ciągle poszukujesz nowych informacji, proponuję w oczekiwaniu na kolejne nasze artykuły próbować sił z realizacją różnych projektów opisanych w internecie. Na oficjalnej stronie Fundacji Raspberry oraz na YouTubie znajdziesz setki projektów. Jeśli wykonałeś wszystkie ćwiczenia z naszego kursu podstaw Raspberry Pi to nie powinieneś mieć problemów, aby poradzić sobie z odtworzeniem przykładowych projektów znalezionych w internecie 🙂

  • 10 miesiące później...

Bardzo ciekawy i przyjazny kurs. Doceniając precyzję autora, proszę o poprawienie "literówki":

Cytat

Następnie tworzymy zmienną wypelenienie (...)

 

  • 3 miesiące później...
(edytowany)

Witam 😀

Posiadam Rpi 4B. Zacząłem robić pierwsze zadanie z tego kursu i niestety nie wychodzi mi, wyskakuje błąd przy komendzie "wypelnienie += 5". Sprawdziłem parę razy ale raczej nie popełniłem błędu w komendach uruchamiając przez python3. Natknąłem się na komendy nie działające już przy wcześniejszym kursie z zadaniem gdzie trzeba podłączyć przycisk. Czy w tym przypadku tak samo jest to może wina biblioteki wiringPi? Szkoda trochę bo w paru zadaniach np. gdzie umieszczony jest przycisk, już wiem, że nie bedzie się dało zrobic zadania wypelniajac komendami z tego kursu. Może jest jakies obejscie tej komendy 'wypelnienie += 5'. Albo faktycznie ja cos źle robię 😋. Może obiło wam się o uszy kiedy bedzie aktualizacja kolejna wiringPi albo czy nastanie moment, że trzeba będzie korzystac z pigpio. 

 

11 minut temu, Maciek56 napisał:

Witam 😀

Posiadam Rpi 4B. Zacząłem robić pierwsze zadanie z tego kursu i niestety nie wychodzi mi, wyskakuje błąd przy komendzie "wypelnienie += 5". Sprawdziłem parę razy ale raczej nie popełniłem błędu w komendach uruchamiając przez python3. Natknąłem się na komendy nie działające już przy wcześniejszym kursie z zadaniem gdzie trzeba podłączyć przycisk. Czy w tym przypadku tak samo jest to może wina biblioteki wiringPi? Szkoda trochę bo w paru zadaniach np. gdzie umieszczony jest przycisk, już wiem, że nie bedzie się dało zrobic zadania wypelniajac komendami z tego kursu. Może jest jakies obejscie tej komendy 'wypelnienie += 5'. Albo faktycznie ja cos źle robię 😋. Może obiło wam się o uszy kiedy bedzie aktualizacja kolejna wiringPi albo czy nastanie moment, że trzeba będzie korzystac z pigpio. 

 

Już widzę, błędnie uruchamiam w python3. Sprawdziłem przez python i wszystko elegancko działa. 

Edytowano przez Maciek56
2 godziny temu, Maciek56 napisał:

Może obiło wam się o uszy kiedy bedzie aktualizacja kolejna wiringPi albo czy nastanie moment, że trzeba będzie korzystac z pigpio. 

Niestety nie ma chyba żadnych oficjalnych informacji w tej kwestii. Wiadomo tylko, że prawdopodobnie taka wersja się pojawi 😉

  • 3 miesiące później...

Drodzy forumowicze,

przerabiałem właśnie lekcję na temat obsługi kamery w Pythonie (lekcja #16)

Uruchamiając kod, moje Rpi 4B wyrzucało następujący błąd:
 

 File "/usr/lib/python3/dist-packages/picamera/camera.py", line 1423, in capture 
'Timed out waiting for capture to end')
picamera.exc.PiCameraRuntimeError: Timed out waiting for capture to end

 

Czy zetkneliście się też z takim błędem podczas swoich zabaw?

W moim przypadku pomogło wprowadzenie jednej modyfikacji do kodu:

camera.capture('/home/pi/photo.jpg', use_video_port=True)

Dodatkowo, na końcu listingu dodane zostało jeszcze zamknięcie obiektu camera. 

camera.close()

Można zrezygnować z tej linii jeśli obiekt camera zostanie stworzony w ten sposób (+ odpowiednia indentacja kodu): 

with PiCamera() as camera:

 

  • Lubię! 1
  • 2 miesiące później...
(edytowany)

@Maciek56 Hej mam ten sam problem, jak Ci udało się go naprawić ? Uruchamiam przez python i mam ten sam błąd 🤔 (Też RBpi 4B)

Dnia 28.08.2019 o 17:42, Maciek56 napisał:

Witam 😀

Posiadam Rpi 4B. Zacząłem robić pierwsze zadanie z tego kursu i niestety nie wychodzi mi, wyskakuje błąd przy komendzie "wypelnienie += 5". Sprawdziłem parę razy ale raczej nie popełniłem błędu w komendach uruchamiając przez python3. Natknąłem się na komendy nie działające już przy wcześniejszym kursie z zadaniem gdzie trzeba podłączyć przycisk. Czy w tym przypadku tak samo jest to może wina biblioteki wiringPi? Szkoda trochę bo w paru zadaniach np. gdzie umieszczony jest przycisk, już wiem, że nie bedzie się dało zrobic zadania wypelniajac komendami z tego kursu. Może jest jakies obejscie tej komendy 'wypelnienie += 5'. Albo faktycznie ja cos źle robię 😋. Może obiło wam się o uszy kiedy bedzie aktualizacja kolejna wiringPi albo czy nastanie moment, że trzeba będzie korzystac z pigpio. 

 

Już widzę, błędnie uruchamiam w python3. Sprawdziłem przez python i wszystko elegancko działa. 

 

Edytowano przez tomcio
  • 4 tygodnie później...

Cześć , mam problem z zapisem zdjęcia wyskakuje mi takie coś:

Traceback (most recent call last):
  File "camera.py", line 22, in <module>
    PiCamera.capture('/home/pi/foto.jpg')
TypeError: capture() missing 1 required positional argument: 'output'

To mój kod:


from picamera import PiCamera
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(12, GPIO.OUT) #LED
GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_UP) #BUTTON

dioda = GPIO.PWM(12, 10)
dioda.start(0)

#czekaj na wciśnięcie
dioda.ChangeDutyCycle(0)
GPIO.wait_for_edge(26, GPIO.FALLING)

#Włącz led podczas robienia zdjęcia
dioda.ChangeDutyCycle(100)
#Odczekaj 5 sekund
time.sleep(5)
#Zrób zdjęcie i zapisz
PiCamera.capture('/home/pi/foto.jpg')
#Wyłącz led
GPIO.output(12, GPIO.LOW)

 

(edytowany)

Brakuje instancji obiektu (mam nadzieję że tak to się nazywa w Pythonie):

kamera = PiCamera()

i wtedy używasz metody capture na ten instancji:

kamera.capture('/home/pi/foto.jpg')

porównaj swój kod z tym z kursu 🙂 

Edytowano przez Gieneq
  • Lubię! 1

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