Mrugająca dioda LED: Różnice pomiędzy wersjami
(→Gdzie tą sondę podłączyć?) |
(→Włączanie i wyłączanie diody w pythonie) |
||
Linia 48: | Linia 48: | ||
import time | import time | ||
− | # a w tym module mamy funkcje do obsługi wyjść złącza 40 pinowego | + | # a w tym module mamy funkcje do obsługi wyjść złącza 40 pinowego |
+ | # żeby było prościej zapisywać kod będziemy go nazywać dalej w programie krótszą nazwą i bez dużych liter (gpio zamiast RPi.GPIO) | ||
import RPi.GPIO as gpio | import RPi.GPIO as gpio | ||
Linia 55: | Linia 56: | ||
gpio.setmode(gpio.BOARD) | gpio.setmode(gpio.BOARD) | ||
− | # będziemy się bawić wyjściem 14 procesora i używać go do wysyłania sygnałów (można też | + | # będziemy się bawić wyjściem 14 procesora i używać go do wysyłania sygnałów (można też odczytywać piny jeśli mamy podłączony jakiś czujnik) |
gpio.setup(14, gpio.OUT) | gpio.setup(14, gpio.OUT) | ||
Linia 68: | Linia 69: | ||
time.sleep(0.5) # znów chwilę czekamy | time.sleep(0.5) # znów chwilę czekamy | ||
− | # zwiększamy zmienną ile powtórek o jeden -- w końcu osiągnie ona wartość 100 | + | # zwiększamy zmienną ile powtórek o jeden -- w końcu osiągnie ona wartość 100, while przestanie powtarzać i program się skończy |
ile_powtórek = ile_powtorek + 1 | ile_powtórek = ile_powtorek + 1 | ||
− | # porządki, czyli przywracamy pierwotne ustawienia wyjść (dobry zwyczaj) | + | # porządki, czyli przywracamy pierwotne ustawienia wyjść (dobry zwyczaj) zanim skończymy program |
gpio.cleanup() | gpio.cleanup() | ||
</source> | </source> | ||
[[Category:Pi_Zero]] | [[Category:Pi_Zero]] |
Wersja z 00:10, 28 cze 2016
Prosty projekt elektroniczno-programowy na start.
Spis treści
Do czego zmierzamy
Chcemy uzyskać taki efekt jak na filmie poniżej, czyli swobodną kontrolę nad jednym z cyfrowych wyjść Maliny. Stan wyjścia będziemy testowali diodą LED.
Trochę elektroniki
Żeby przygotować naszą LEDową "sondę" kładziemy elementy jak na zdjęciu obok. Następnie -- najlepiej dociskając z góry ramionami pęsety każdy z elementów -- dotykamy obu środkowych styków jednocześnie rozgrzanym grotem lutownicy z niewielką ilością cyny (im krócej tym lepiej, sekunda powinna starczyć). Stopiona cyna powinna spłynąć między elementy i stworzyć połączenie.
Teraz przygotowujemy krótkie odcinki kabelków miedzianych. Najlepiej jeśli jeden z nich, który przylutujemy od strony masy diody led, był czarny -- tego koloru typowo używa się do oznaczania masy i przyjęcie takiej konwencji ułatwi nam szybką orientację, który kabel gdzie przytknąć. Kabelki mniej więcej takiej długości jak na filmie. Ściągamy izolację na małym odcinku na końcach (2mm wystarczy) i cynujemy rozgrzaną lutownicą jeszcze przed lutowaniem do pary dioda-opornik. Takie wstępne pocynowanie końcówek ułatwia potem lutowanie do elementów SMD.
Kable układamy w linii ze zlutowaną wcześniej parą elementów i podobnie jak przed chwilą wkładając rozgrzaną lutownicę w środek z odrobiną cyny łączymy razem.
Na koniec na całość możemy nałożyć przeźroczystą rurkę termokurczliwą i zatopić w niej elementy. Sonda gotowa. Jeśli wszystko zrobiliśmy dobrze podłączona do dwóch baterii "paluszków" powinna się zaświecić. Bateria ma masę na od strony płaskiego końca, a biegun dodatni tam gdzie znajduje się dodatkowa wypustka.
Gdzie tą sondę podłączyć?
Piny złącza 40 pinowego liczy się zaczynając od kwadratowego (numer 1), a dalej "zygzakiem". Poniżej numeracja z zaznaczonym miejscem podłączenia diody tak jak na filmie powyżej.
[1] 2 3 4 5 6 <-- masa (tu podłączamy kabel masy sondy z diodą) 7 8 <-- wyjście 14 procesora (tu podłączamy biegun sondy) . . . 37 38 39 40
Włączanie i wyłączanie diody w pythonie
# coding: utf-8
# wczytujemy moduł pythona zawierający funkce obsługi czasu
import time
# a w tym module mamy funkcje do obsługi wyjść złącza 40 pinowego
# żeby było prościej zapisywać kod będziemy go nazywać dalej w programie krótszą nazwą i bez dużych liter (gpio zamiast RPi.GPIO)
import RPi.GPIO as gpio
# moduł RPi.GPIO może używać dwóch różnych sposobów numerowania pinów; nas interesuje w tej chwili wygodniejszy
# tryb BOARD (z ang. płytka), w którym numery pinów w module zgadzają się numerami używanymi w projekcie płytki Maliny
gpio.setmode(gpio.BOARD)
# będziemy się bawić wyjściem 14 procesora i używać go do wysyłania sygnałów (można też odczytywać piny jeśli mamy podłączony jakiś czujnik)
gpio.setup(14, gpio.OUT)
ile_powtorek = 0 # zmiena, która będzie odliczała kolejne powtórki
while ile_powtorek < 100: # while powtarza instrukcje tak długo jak długo spełniony jest podany warunek
gpio.output(14, 0) # ustawienie napięcia 0V na wyjściu 14, dioda gaśnie
time.sleep(0.5) # pół sekundy czekamy
gpio.output(14, 1) # ustawienie napięcia 3.3V na wyjściu 14, dioda zapala się
time.sleep(0.5) # znów chwilę czekamy
# zwiększamy zmienną ile powtórek o jeden -- w końcu osiągnie ona wartość 100, while przestanie powtarzać i program się skończy
ile_powtórek = ile_powtorek + 1
# porządki, czyli przywracamy pierwotne ustawienia wyjść (dobry zwyczaj) zanim skończymy program
gpio.cleanup()