Skocz do zawartości

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


Pomocna odpowiedź

Napisano
html_mig_img
Za nami podstawy GPIO i pierwsze skrypty. Tym razem przetestujemy w praktyce generowanie sygnału PWM. Wykorzystamy również piny jako wejścia naszego układu.Na zakończenie napiszemy skrypt, który połączy GPIO oraz dedykowaną kamerę. Dzięki temu zamienimy Raspberry Pi w aparat fotograficzny.

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, moja odpowiedź pozostaje niezmienna, tak jak pod każdą inną częścią tego kursu: staramy się, aby wszystko było publikowane równomiernie. W między czasie zachęcamy do własnych eksperymentów 🙂

Cześć, dzięki za podsumowanie wszystkich informacji podanych do tej pory w tym kursie.

Czy byłaby szansa również na propozycje "zadań" podsumowujących informacje z tego kursu oraz z kursów elektroniki. Jako że ten kurs jest z założenia dla początkujących, mogłyby to być zadania "z gwiazdką".

Mam jeszcze pytanie, próbowałam napisać skrypt z pętlą FOR i niestety program wysypał mi się przy ")" poniżej użyta przeze mnie formuła:

for i in range(3):

a pytanie brzmi, jak w skrypcie poprawnie zastosować pętle typu FOR

Czy byłaby szansa również na propozycje "zadań" podsumowujących informacje z tego kursu oraz z kursów elektroniki. Jako że ten kurs jest z założenia dla początkujących, mogłyby to być zadania "z gwiazdką".

Na ten moment nie planujemy dokładnie czegoś takiego, ale postaramy się publikować więcej artykułów o RPi (niekoniecznie jako odcinki kursu). Będziemy w nich pokazywać różne projekty, których sercem jest malinka.

Jeśli chodzi o korzystanie z pętli for to poradników o skryptach jest całkiem dużo, np. tutaj jest to ładnie opisane: https://www.lifewire.com/bash-for-loop-examples-2200575 Jeśli nadal będziesz miała problem to załóż proszę osobny temat w odpowiednim dziale, umieść tam cały swój kod i wtedy zobaczymy co dokładnie można tam poprawić 😉

  • 2 tygodnie później...
  • 4 miesiące później...

W kodzie (Kurs Raspberry Pi – #13 – PWM, wejścia, skrypty z kamerą) - Symulacja świateł drogowych na Raspberry Pi - jest błąd: linijki 22, 23, 24 są niepotrzebne bo powodują wydłużenie pętli do 5 sekund podczas gdy na załączonej wizualizacji jest cykl 4 sekundowy. Po prostu czerwone (pin 16) będzie się paliło przez 3 sekundy zamiast przez 2.

@M.G., witam na forum 😉
Widzę, że to Twoje pierwsze kroki na Forbocie, jeśli chcesz przywitać się z innymi członkami naszej społeczności skorzystaj z tego tematu: Powitania użytkowników.

Słusznie, gratuluję czujności! Dziękuję za uwagę, już poprawione 🙂 

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

Podłączyłem przycisk oraz diodę dokładnie tak, jak było to pokazane w artykule. Następnie stworzyłem następujący kod:

#!/bin/bash

gpio -g mode 12 out
gpio -g mode 21 up

gpio -g write 12 0

while true
do
        gpio -g wfi 21 falling
        gpio -g toggle 12
done

który w założeniu ma zmieniać stan diody po naciśnięciu przycisku. Zaobserwowałem, że podczas jednego naciśnięcia, od czasu do czasu, dioda zmienia swój stan dwa razy. Dlaczego? Czy problem jest spowodowany jakimiś zakłóceniami natury elektronicznej, czy to kod nie jest napisany poprawnie?

Edytowano przez ghost1313
3 minuty temu, ghost1313 napisał:

Czy problem jest spowodowany jakimiś zakłóceniami natury elektronicznej, czy kod nie jest napisany poprawnie?

Dokładnie tak, to są właśnie drgania styków. Które można obejść np. za pomocą filtru RC. Więcej na ten temat znajdziesz w kursie elektroniki: Kurs elektroniki II – #3 – przyciski, diody RGB, kontaktron Możesz też rozbudować swój program w taki sposób, aby był odporny na takie zakłócenia, hasło klucz to "debouncing" 🙂 

  • Pomogłeś! 1
  • 5 miesiące później...
(edytowany)

Kiedy mamy już w konsoli maliny ten przykładowy program sterujący diodami itp. napisany w Pythonie3 to jak zrobić żeby go jakoś sensownie zapisać w systemie plików i sensownie móc uruchomić jedną komendą bądź kliknięciem? Ewentualnie żeby się uruchamiał po włączeniu napięcia na malinę. 

Byłoby jeszcze lepiej gdyby można go było "zintegrować" z malinowym serwerem i móc kontrolować komendami z internetu. 

Być może to jest głupie zapytanie ale jakoś nie znalazłem informacji na ten temat.

Edytowano przez Czes
1 godzinę temu, Czes napisał:

Kiedy mamy już w konsoli maliny ten przykładowy program sterujący diodami itp. napisany w Pythonie3 to jak zrobić żeby go jakoś sensownie zapisać w systemie plików i sensownie móc uruchomić jedną komendą bądź kliknięciem? Ewentualnie żeby się uruchamiał po włączeniu napięcia na malinę. 

Byłoby jeszcze lepiej gdyby można go było "zintegrować" z malinowym serwerem i móc kontrolować komendami z internetu. 

Być może to jest głupie zapytanie ale jakoś nie znalazłem informacji na ten temat.

zapisz taki kod w pliku z rozszerzeniem .py na przykład app.py i uruchom go poleceniem:

python3 app.py

 

  • Lubię! 1
  • Pomogłeś! 1
(edytowany)

Zapisałem w katalogu 'Pulpit' coby mieć ikonkę pliku na pod reką. Kliknięcie ikonki uruchamia aplikację Thonny wyposażoną w przyciski RUN i STOP załączania i wyłączania skryptu Pythona i to działa.

Mało tego - można tam dokonywać edycji i zapisywania treści skryptu z tym że w przypadku gdy ten plik był wcześniej utworzony przy pomocy  'nano' na konsoli root'a to się nie da zapisywać pliku (brak uprawnień).

Jak widzę sumie to można pisać te skrypty pod Tekst Edytor'em i zapisywać menedżerem plików. A uruchamianie ustawić na Pythona. Wygodne. 

No ale co do punktu drugiego, czyli możliwości kontrolowania skryptu 'py' z internetu (przez serwer) to dalej jesteśmy w lesie.

Edytowano przez Czes

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