Opis
Na tej stronie znajduje się uzupełnienie do wykładu „Noc Informatyka Board – Making-of” prowadzonego przez Łukasza Taczuka i Jakuba Kramarza na Nocy Informatyka^8.
- Prelekcja opisująca historię powstania płytki – Łukasz Taczuk [klik!]
- Prelekcja opisująca programowanie – Jakub Kramarz [kilk!]
Identyfikator, który został rozdany każdemu uczestnikowi Nocy Informatyka jest równocześnie działającym klonem Arduino, w pełni kompatybilnym z Digisparkiem.
Schemat płytki, jego bootloader oraz kod, który był wgrany na płytkę w trakcie Nocy Informatyka^8 można pobrać z repozytorium na Githubie.
Programowanie płytki-identyfikatora
Wszelkie informacje na temat programowania płytki i stosownego środowiska programistycznego można znaleźć na stronie Digisparka [zobacz!]. Podstawy komunikowania się płytki ze światem: [zobacz!].
Jako, że identyfikator jest w pełni kompatybilnym klonem Digisparka, można stosować zarówno ich przykłady, jak i tutoriale do pisania własnego kodu. W razie wątpliwości, należy w środowisku programistycznym wybrać płytkę do programowania „Digispark (Tiny Core)”.
Na górze płytki znajduje się zestaw gniazd. Są tam wyprowadzone wszystkie wyjścia mikrokontrolera.
Oznaczenia gniazd
- Vin – Nieregulowane wejście prądu. Można do niego podpinać zewnętrzne (stałe) źródło, takie jak zasilacz lub bateria. Dopuszczalny zakres napięciowy źródła podłączonego do tego gniazda to 5.38V – 16V
- 5V – Regulowane 5V. W przypadku zasilania płytki z USB lub baterii przez Vin, napięcie na tym gnieździe będzie wynosiło 5V i może być wykorzystane do zasilania dodatkowych czujników, silników, itp… Istnieje też możliwość zasilenia mikrokontrolera poprzez podpięcie do tego gniazda regulowanego napięcia wynoszącego 5V, na przykład poprzez zastosowanie zewnętrznego regulatora (takiego jak ten, który jest spięty z gniazdem Vin). Należy pamiętać, że napięcie baterii zmienia się wraz ze stopniem jej naładowania; czasami znacznie. Dlatego też baterie powinny być wpinane do gniazda Vin. Dodatkowo, specyfikacja USB wyznacza dopuszczalne odchylenie od 5V o parę procent. Dokładne napięcie na tym gnieździe może zatem wynosić od 4.75V do 5.25V.
- Gnd – Masa. Do niej podłącza się przeważnie końcówki elementów oznaczone znakiem minus (-).
- 0-5 – Wyjścia/wejścia mikrokontrolera. Mogą służyć zarówno do otrzymywania sygnału elektrycznego jak i wysyłania. Gniazda oznaczone D+/D- służą komunikacji z USB i nie mogą być używane przez program jeśli funkcjonalność USB płytki ma być wykorzystana. Gniazda oznaczone tyldą (~) umożliwiają emulowanie wyjściowego sygnału analogowego (PWM) za pomocą funkcji AnalogWrite.
- Do gniazda 0 podłączona jest dioda zamontowana w księżycu. Ustawienie wartości wysokiej na tym gnieździe spowoduje zapalenie się LED. Aby zrezygnować z tej funkcjonalności, należy przeciąć ostrym przedmiotem ścieżkę pomiędzy prostokątami oznaczonymi jako SJ1 (z drugiej strony płytki). Aby przywrócić świecenie diodą, należy zlutować ze sobą oba prostokąty, co umożliwi ponowny przepływ prądu przez tę ścieżkę.
Uwagi
- Aby zapobiec zwarciom i potencjalnemu uszkodzeniu mikrokontrolera, gorąco sugerujemy usunąć (obciąć) konektor służący do podłączania baterii. Zwisający konektor ma przykrą tendencję do dotykania i zwierania różnych lutów od spodu płytki. Dlatego też najlepiej odłączyć go od płytki i wpinać go ręcznie do gniazd Vin i Gnd oznaczonych na płytce – wtedy, gdy jest używany.
- W trakcie tworzenia nowego układu, zachęcamy do podłączania płytki do komputera za pomocą zewnętrznie zasilanego huba USB! Łatwo jest popełnić błąd, podpiąć kabelki do nie tych gniazd co trzeba i spowodować zwarcie. W dzisiejszych czasach wyjścia USB w komputerach posiadają bezpieczniki, których zadaniem jest zabezpieczenie gniazda na wypadek takiego zwarcia, ale lepiej nie kusić losu. Pamiętaj, że jedyną osobą odpowiedzialną za upewnienie się czy dany schemat elektryczny jest bezpieczny jesteś Ty!
- Programowanie mikrokontrolera jest możliwe wyłącznie w trakcie działania bootloadera, który jest uruchomiony przez pierwsze 3 sekundy od podłączenia płytki do prądu. Po tym czasie, zostaje uruchomiony program z pamięci mikrokontrolera. Należy zatem na czas programowania odpiąć wszelkie źródła prądu, przed podpięciem płytki do portu USB.
Specyfikacja techniczna
Sercem identyfikatora jest Attiny85-20PU.
Pełna specyfikacja w PDF: [zobacz!]
Krótka specyfikacja techniczna: [zobacz!]
- Pamięć programowalna: ~6kB (8kB – 2kB bootloader)
- Ram: 512B
- Pamięć trwała: 512B
- Maksymalny pobór prądu: 100mA (mikrokontroler wytrzymuje do 200mA, ale zarówno USB1.1 jak i użyty regulator napięcia ograniczają dopuszczalną wartość do 100mA).
- Maksymalny prąd wyjścia na pojedynczej nóżce/gnieździe: 40mA.
- Użyty bootloader: zmodyfikowany micronucleus v1.11 (patrz link do Githuba na górze strony). Zmniejszono czas działania bootloadera z 5 do 3 sekund oraz ustawiono inne wartości fuse.
- Wartości fuse mikrokontrolera: Low: e1, High: 5c, Extended: fe.
Na zakończenie
Na Nocy Informatyka^8 przekazaliśmy w wasze ręce programowalny identyfikator, który jest w pełni działającym klonem Arduino. W stworzenie tego identyfikatora włożyliśmy wiele czasu, wysiłku i pasji. Mamy szczerą nadzieję, że eksperymentowanie z elektroniką przysporzy wam tyle przyjemności, ile nam dało projektowanie i tworzenie identyfikatora.
Jeśli stworzycie przy wykorzystaniu waszej płytki coś interesującego, przydatnego lub po prostu fajnego – koniecznie napiszcie! Bardzo chętnie zobaczymy i pokażemy wszystkim innym do czego uczestnicy Nocy są zdolni! :).