Mrugająca dioda LED: Różnice pomiędzy wersjami
(→Włączanie i wyłączanie diody w pythonie) |
(→Gdzie tą sondę podłączyć?) |
||
Linia 22: | Linia 22: | ||
<div class="thumb"><div class="thumbinner"><div class="thumbcaption"><span style="color:#bb0044">'''Zacznijmy od ostrzeżenia:''' Podłączanie czegoś do płytki Maliny wywołuje konkretne obciążenia elektryczne. Złącze 40 pinowe nie zostało pomyślane jako "publicznie" dostępne (takie jak np. różne złącza w komórce) i zakłada się, że korzysta z niego świadomy użytkownik, który '''wie co robi'''. Łącząc przypadkowe piny '''bez wielkiego wysiłku można spalić płytkę''' i w ten sposób pozbyć się jej. Biorąc pod uwagę, że na nowe dostawy Maliny Zero trzeba czekać zwykle około miesiąca, efekt może być średnio przyjemny. | <div class="thumb"><div class="thumbinner"><div class="thumbcaption"><span style="color:#bb0044">'''Zacznijmy od ostrzeżenia:''' Podłączanie czegoś do płytki Maliny wywołuje konkretne obciążenia elektryczne. Złącze 40 pinowe nie zostało pomyślane jako "publicznie" dostępne (takie jak np. różne złącza w komórce) i zakłada się, że korzysta z niego świadomy użytkownik, który '''wie co robi'''. Łącząc przypadkowe piny '''bez wielkiego wysiłku można spalić płytkę''' i w ten sposób pozbyć się jej. Biorąc pod uwagę, że na nowe dostawy Maliny Zero trzeba czekać zwykle około miesiąca, efekt może być średnio przyjemny. | ||
<br /> | <br /> | ||
− | '''Oczywiście od razu dodajmy, że lepiej spalić płytkę i się czegoś dowiedzieć niż siedzieć i patrzyć jak inni się bawią | + | '''Oczywiście od razu dodajmy, że lepiej spalić płytkę i się czegoś dowiedzieć niż siedzieć i patrzyć jak inni się bawią!''' Oczywiście najwygodniej bawić się nie psując sobie narzędzi, ale znów bez przesady! |
</span> | </span> | ||
</div></div> | </div></div> |
Wersja z 00:17, 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()