Archiwum kategorii: Digispark

Sterowanie wentylatorem z Digispark

Ten post jest częścią serii o budowie komponentu multimedialnego.

Komponent multimedialny wymaga dodatkowego chłodzenia. W środku jest zasilacz, Raspberry Pi, wzmacniacz audio, pasek LED. Wszystkie te elementy będą generowały ciepło – które trzeba jakoś odprowadzić.

Wykorzystam do tego wentylator umieszczony w tylnym panelu komponentu. Wentylatorem tym będę sterował za pomocą niewielkiego Digispark’a.

Czytaj dalej Sterowanie wentylatorem z Digispark

Digispark i klony – kilka słów o portach (kompendium)

Digispark to niewielka płytka w stylu Arduino. W odróżnieniu do UNO, opiera się na kontrolerze AtTiny85. Porty AtTiny85 wyprowadzono na wygodne piny. Płytka zawiera też stabilizator napięcia.

Ale najciekawszy jest taki trochę „oszukany” USB. Nie ma tu, jak w Arduino, osobnego czipa w stylu CH340 (jak w chińskich klonach UNO). Kombinacja rezystorów i diod wykorzystująca pewne właściwości USB sprawia, że Digispark’a można programować przez USB.

Zanim jednak zaczniecie wykorzystywać Digisparka w swoich projektach, warto przyglądnąć się kilku właściwościom jego portów. Momentami mogą… zaskoczyć.

Czytaj dalej Digispark i klony – kilka słów o portach (kompendium)

Digispark i programowanie przez ISP

Dziwne błędy przy próbie wgrywania programu na Digispark’a? Konieczna wymiana lub naprawa bootloadera? Czasami nie ma rady – i trzeba użyć programator ISP. Płytki jak Arduino UNO mają już wlutowane piny – wystarczy nałożyć wtyczkę od programatora. W przypadku Digispark jest trochę trudniej. Żeby sobie ułatwić – zbudowałem prostą płytkę, która znacznie ułatwia programowanie.

Czytaj dalej Digispark i programowanie przez ISP

Digispark (klon): prosty robot mobilny

W świecie płytek typu Arduino, łatwo jest realizować pojedyncze doświadczenia. Mruganie diodami, kilkakrotne obrócenie serwem, bipniecie buzzerem – do podstawowych eksperymentów wystarczy garść kabelków połączeniowych i kilka linijek kodu.

„Schody” zaczynają się, gdy chcemy zrealizować jakieś konkretne zadanie, która wymaga połączenia kilku bloków funkcjonalnych.  Wtedy wychodzą na jaw problemy z zasilaniem, dogadywaniem się niektórych elementów, poziomami logiki, niewystarczającą liczbą pinów oraz „hackami” w bibliotekach.

Dlatego właśnie postanowiłem sprawdzić klona Digisparka w warunkach bojowych.

fuselage_3 Czytaj dalej Digispark (klon): prosty robot mobilny

Digispark i micronucleus: crash

W pewnym momencie jeden z moich Digispark’ów przestał odpowiadać. Nie – nie tak jak jak zwykle, kiedy trzeba go było wkładać do portu USB kilka razy. Całkiem. udevadm monitor milczał jak zaklęty, nie wykrywał włożenia ani wyciągnięcia urządzenia USB.

Co gorsza: Digispark zaczął się zachowywać tak jakby… zniknął mu bootloader. Zwyczajowe 5 sekund zwłoki przy starcie, skurczyło się do góra 1/2 sekundy…


Czytaj dalej Digispark i micronucleus: crash

Digispark: słowo o debuggowaniu po UART

Do czego właściwie przydaje się komunikacja szeregowa między Digispark’iem a hostem (komputerem, do którego jest podłączony)? Jednym z podstawowych przypadków zastosowania takiej wymiany danych jest tzw. debuggowanie (brzydko brzmi ale polskie „odpluskwianie” jeszcze paskudniej:)). Oznacza to po prostu szukanie błędów w Waszym programie.

digisparkSerial_NoBug


Poniższe instrukcje ćwiczyłem na Digispark’u. Z powodzeniem możecie je jednak zastosować dla Arduino!

Czytaj dalej Digispark: słowo o debuggowaniu po UART

Digispark: port szeregowy UART (Windows)

W poprzednim poście przećwiczyliśmy wykorzystanie Digispark pod Windows jako akcesorium USB z komunikacją szeregową. Cóż – muszę przyznać, że połączenie takie jest dość kapryśne. Digisparka musiałem czasami kilkakrotnie włączać i wyłączać – i nie zawsze „zaskakiwał”.

Oprócz tego, Digispark do obsługi USB wykorzystuje piny 3 i 4 – i nie można tego zmienić. Transmisja po USB może wymagać  odłączenia tych pinów od reszty budowanego układu.

digisparkSerial_0Jest jednak inne rozwiązanie, które możecie użyć do komunikacji z Digispark: transmisja szeregowa po UART. Minusem jest to, że będziecie potrzebowali jakoś wprowadzić sygnał UART do swojego komputera. Potrzebny będzie dodatkowy konwerter UART2USB. W tej roli możecie też użyć Arduino.

Po stronie plusów należy zaliczyć prostotę obsługi, możliwość użycia dowolnych pinów Digisparka oraz mniejszą ilość wymaganej pamięci niż w przypadku DigiCDC.


Więcej tekstów o Digispark: lista tekstów o Digispark.

Czytaj dalej Digispark: port szeregowy UART (Windows)

(Klon) Digispark i USB: jak zacząć pod Windows 7?

Digispark to właściwie kontroler AtTiny85 (w wersji SMD) z możliwością podłączenia przez port USB. Wgrywając na niego odpowiednie oprogramowanie, Digispark może „udawać”, że jest klawiaturą, joystickiem – albo po prostu portem szeregowym, przez który można wymieniać dane z hostem (czyli urządzeniem, do którego jest podłączony).

IMG_1026„Udawać” jest tu jak najbardziej właściwym określeniem. Digispark nie ma bowiem na pokładzie żadnego dodatkowego czipu USB: wszystko jest realizowane w oprogramowaniu samego AtTiny. Oprogramowanie to opiera się to na projekcie V-USB specjalnie stworzonym dla kontrolerów AVR (firmy produkującej m. in. AtTiny i AtMega napędzające Arduino).


Pierwsze kroki dla Linux: Klon Digispark (AtTiny85 na USB/Linux)

Czytaj dalej (Klon) Digispark i USB: jak zacząć pod Windows 7?

Klon Digispark (AtTiny85 na USB/Linux)

IMG_1023Prezentowany układ zbudowano na wzór Digispark firmy Digistump. Pomysł polega na umieszczeniu kontrolera Atmel AtTiny85 na płytce, wyprowadzeniu jego pinów,  dodaniu stabilizatora 7805 oraz portu USB. Wystarczyło teraz wyposażyć AtTiny w bootloader micronucleus, aby można było go wygodnie programować przez USB za pomocą środowiska Arduino IDE. Programator SPI niepotrzebny.

Czytaj dalej Klon Digispark (AtTiny85 na USB/Linux)