Teensy LC cieszyło się sporą popularnością. Niestety, z powodu problemów z brakiem układów scalonych stanowiących ich serce, PJRC wycofało ten produkt. Nam nie pozostało nic innego 🙂 jak też go wycofać.
Niektórzy mieli swoje projekty pod ten dokładnie mikrokontroler dostosowane. Co prawda, minął już prawie rok od wycofania Teensy LC przez nas, więc kto musiał to pewnie swój projekt na Teensy 4.0 przerobił.
Tyle, że LC znaczyło Low Cost – jak projekt działał, to czemu nie użyć go znowu? Zwłaszcza że cena LC to ok 100 zł a 4.0 150 zł.
No to jeśli lubicie oszczędzać, to mamy dobrą wiadomość – od klienta który kiedyś od nas kupił sporo modułów udało się nam ich trochę odkupić. Projekt do którego były kupione nie wypalił w pełnej skali, więc trochę ich zostało. Kto potrzebuje nich korzysta – Teensy LC!
Od pewnego czasu, ze względu na braki na rynkach układów scalonych, płytki Teensy z serii 3.x są trudniej dostępne. Akurat dziś do nas dotarła dostawa Teensy 3.2, ale to dopiero druga w tym roku (od początku lutego moduły są niedostępne), więc jeśli potrzebujesz to spiesz się z zamawianiem.
Wg informacji producenta (PJRC) do jesieni lub nawet końca roku można się spodziewać nieregularnych dostaw, jeśli w ogóle będą.
Pierwszy raz, kiedy uruchomiłem emulator procesora 6502 na Arduino, razem z językiem BASIC ogarnęło mnie niesamowite uczucie. Z jednej strony to powrót do dzieciństwa, do początków programowania. Z innej to niedowiarstwo, że w tak małym Arduino mieści się to, co kiedyś zajmowało całe biurko i przynosiło mnóstwo frajdy. Przecież to niemożliwe! 😉
Ostatnio pojawił się wysyp projektów idących jeszcze dalej. Do małych płytek Arduino UNO bohaterowie DIY dodali jeszcze więcej niespodzianek.
DAN64
Jest to komputerek oparty na Arduino UNO. Ma wbudowany emulator procesora 6502, język BASIC i monitor języka maszynowego. Ma wyjście obrazu typu Composite Video, dzięki któremu podłączysz komputerek do telewizora. Obsługuje klawiatury do PC z wtykiem PS2. Dodatkowym atutem jest obsługa magnetofonu. Może zapisywać i odczytywać programy za pomocą tych kultowych pisków, trzasków i zgrzytów.
Ponieważ Arduino miało zbyt mało pamięci by rozwinąć skrzydła, Juan Martinez – autor dodał jej więcej. Układ Microchip 23LCV512, podłączony do SPI zapewnia dodatkowe 64 KB RAM.
Damian Peckett poszedł odrobinę dalej i postanowił stworzyć emulator realnego komputera jakim jest Apple II. Jest to pierwszy masowo produkowany komputer Apple, który stworzyli jego legendarni twórcy Jobs i Wozniak.
Jego emulator opiera się na Arduino UNO. Tym razem obraz wyświetlany jest na monitorze VGA. Klawiatura jak poprzednio to standard PS2. Jak w oryginalnym komputerze emulator obsługuje głośniczek do generowania dźwięków i wejście magnetofonowe do odczytywania programów Apple.
W serwisie Instructables użytkownik Aleator777 zamieścił projekt, który jest satyrą na nowy produkt firmy Apple – zegarek. Zegarek Apple 2 nie emuluje realnego komputera, ale sprawia wrażenie jakby napędzał go komputer Apple II. Autor nie miał czasu by stworzyć prawdziwą emulację.
W środku znajduje się już wydajne maleństwo – płytka kontrolera Teensy 3.1. Dodatkowo jest tam wyświetlacz 1,8″, odtwarzacz MP3, głośnik, akumulator LiPo, enkoder obrotowy i ładowarka indukcyjna. Zegarek, jak przypada na prawdziwy smartwatch działa jedynie 3 godziny ;-).
Myślę, że projekty są bardzo inspirujące. Szczególnie ten ostatni czeka na ciebie, byś dopisał mu prawdziwy emulator. Teensy 3.1 ma wydajność, aż nadto. Jeśli chciałbyś powtórzyć jeden z tych wyczynów lub stworzyć własny – części do niego kupisz w sklepie Nettigo.pl
To co robi twórca Teensy ze swoją społecznością jest niesamowite. Jego mikra płytka z procesorem ARM to dowód na to, że produkcje niezależne dalej mogą szokować pomysłami i możliwościami przy stosunkowo niskiej cenie.
Właśnie odkryłem bibliotekę Audio.h. Służy do przetwarzania dźwięków w czasie rzeczywistym i jak się potem przekonasz jest bajecznie prosta.
Wszystko opiera się na klockach. Każdy klocek robi coś z dźwiękiem, odbiera z wejścia, filtruje, analizuje widmo, wzmacnia, odtwarza z pamięci i dużo dużo więcej.
Na specjalnej stronie WWW łączysz te klocki wirtualnymi przewodami, naciskasz Export i masz gotowy kawałek programu, który robi to co chcesz z dźwiękiem. Jak to nie jest super, to nie wiem co jest.
Na razie moje pomysły ograniczają się do zrobienia syreny alarmowej, efektu do gitary elektryczniej (rock!!!), wyświetlacza widma do wzmacniacza, odtwarzacza dźwięków z popularnych gier jako sygnał otwarcia drzwi do sklepu. Ale ty wymyślisz pewnie jeszcze bardziej niesamowite rzeczy. Np. dzwonek do drzwi z dźwiękiem karabinu plazmowego ;-D
Ponieważ najtrudniej jest zacząć, pokażę ci jak zrobić syrenę alarmową.
Syrena składa się z generatora sinusa – klocek “sine” i wyjścia audio – klocek “dac”.
Jeśli zaznaczysz któryś z klocków, z prawej strony okna pokaże się krótka dokumentacja z opisem jego działania, funkcji programu lub gdzie jest jego wyjście na płytce. Z niej dowiadujesz się jak zmieniać częstotliwość generatora sine1 i gdzie będzie wyjście dźwięku z przetwornika dac1.
Naciskasz przycisk “Export” i masz gotowy fragment programu do wklejenia w Teensyduino.
Funkcja “AudioMemory” ustala wielkość bufora audio. Im mniejsza wartość, tym mniej zajętej pamięci i mniejsze opóźnienia audio, ale większe obciążenie procesora i mniej czasu na twój program w funkcji “loop”.
Metoda “sine1.amplitude” ustala głośność generowanego sygnału. 1.0 oznacza maksymalną głośność.
for (word freq=1000; freq>100; freq–) { sine1.frequency(freq); delay(2); } }
Syrena działa tak, że płynnie obniża i podwyższa częstotliwość sygnału. Częstotliwość ustala się za pomocą metody “sine1.frequency”. Wstawiłem ją w dwie pętle “for”. Jedna podwyższa częstotliwość od 100 do 1000 Hz, a druga ją płynnie zmniejsza. W funkcji “delay” ustala się szybkość tych zmian.
Teraz wystarczy podłączyć wzmacniacz do wyjścia DAC w Teensy 3.1 przez kondensator 10 uF.
Jeśli chcesz sobie ułatwić podłączenie urządzeń audio, mam też świetne rozszerzenie Teensy Audio Board. Jest to płytka wyposażona w wejście i wyjście audio oraz czytnik kart SD. Dzięki specjalistycznemu układowi zapewnia lepszą jakość przetwarzanego dźwięku. Na karcie SD można przechowywać sample do odtwarzania przez Teensy.
Jeśli spodobał ci się ten projekt, kup Teensy 3.1 w sklepie Nettigo
Procesorem płytki jest układ MKL26Z64VFT4, który zawiera w 32 bitowy rdzeń ARM M0+ o zegarze 48 MHz. Układ ten jest mniej wydajny niż zastosowany w Teensy 3.1, ale za to dużo bardziej wydajny niż w płytkach opartych na kontrolerach AVR. Dodatkowo pobiera mniej prądu.
Parametry płytki to:
Procesor: MKL26Z64VFT4 (ARM M0+)
Zegar: 48 MHz
Pamięć Flash: 62 KB
Pamięć RAM: 8 KB
27 pinów cyfrowych o poziomach logicznych 3,3 V
Pin 17 ma wyjście z poziomem logicznym 5V i obeniem 5 mA
Piny 5, 16, 17, 21 można obciążyć prądem 20 mA
13 wejść analogowych o rozdzielczości 16 bitów
1 wyjście analogowe o rozdzielczości 12 bitów
10 wyjść PWM
3 złącza szeregowe (RS232 TTL)
2 złącza SPI
2 magistrale I2C
magistrala I2S do cyfrowego dźwięku
Dodatkowo w układzie są 4 kanały DMA do komunikacji między pamięcią a wyjściami bez udziału procesora.
Układ pojawi się w ofercie w marcu. Tym czasem zapraszamy do zapoznania się z innymi układami rodziny Teensy w sklepie Nettigo.pl
Kevin Cuzner chciał zrobić oscyloskop z Teensy mierzący sygnały od 30 do 50 kHz. Natrafił jednak na problem – jak przepchnąć tyle danych do komputera przez USB.
Postanowił sam napisać od postaw obsługę USB przez rejestry kontrolera. Całą przygodę opisał we wpisie na blogu. Wpis zawiera dużo linków do treści uzupełniających wiedzę o USB i programowaniu od podstaw kontrolera w Teensy.
Sama płytka nie jest jeszcze dostępna. Twórcy oznaczyli ją opisem “Comming soon” [wkrótce]. Biorąc pod uwagę to, że Arduino Tre ma takie oznaczenie już chyba z pół roku, nie potrafię przewidzieć kiedy nastąpi oficjalna premiera.
Płytka ma być następczynią popularnych i znanych modeli UNO i Leonardo, obsługując ten sam format płytki.
Parametry techniczne przedstawiają się następująco:
Procesor: ATSAMD21G18 – 32 bitowy ARM M0+
Zegar: 48 MHz
Pamięć FLASH (programu): 256 kB
Pamięć SRAM (danych): 32 kB
Pamięć EEPROM (konfiguracji): 16 kB (udawana we FLASH)
Poziomy logiczne o napięciu 3,3 V
14 wejść/wyjść cyfrowych
12 wyjść PWM
6 wejść analogowych o rozdzielczości 12 bitów
wyjście analogowe o rozdzielczości 10 bitów
maksymalne obciążenie wyjść cyfrowych 7 mA
cena: nieznana
Chyba największą zaleta płytki jest złącze debug, pozwalające na podgląd działania programu w kontrolerze w celu łatwiejszego wykrywania błędów. Oczywiście to tylko teoria, bo nie wiadomo jak to będzie działać. Może się okazać, że trzeba wykupić jakieś oprogramowanie, albo używać dziwnych skomplikowanych narzędzi.
Z drugiej strony mamy dostępną płytkę Teensy 3.1 stworzoną przez Paula z pjrc.com
Mimo innego wyglądu płytka jest zbliżona funkcjonalnie do Arduino Zero. Programuje się ją za pomocą Arduino IDE z obsługą jego bibliotek. Paul dużo pracował ze społecznością nad zapewnieniem kompatybilności bibliotek.
Prametry techniczne Teensy 3.1:
Procesor: MK20DX256 – 32 bitowy ARM M4
Zegar: 72 MHz (możliwość przełączenia na 96 MHz)
Pamięć FLASH (Programu): 256 kB
Pamięć SRAM (Danych): 64 kB
Pamięć EEPROM (konfiguracji): 2 kB
Poziomy logiczne o napięciu 3,3 V, Toleruje napięcie 5 V
Teensy 3.1 to świetny dodatek do tego modemu, ponieważ obydwie płytki mają zbliżone rozmiary. Można na ich podstawie zbudować naprawdę małe energooszczędne urządzenie.
Jeśli uważasz, że podłączenie Teensy do modemu jest jakimś problemem, to się mylisz ;-).
Wystarczy, że podłączysz ze sobą piny o tych samych nazwach,
Jeśli kupiłeś Teensy 3.1 w Nettigo to wraz z nim dostałeś ulotkę z wypisanym znaczeniem wszystkich pinów w Teensy.
do pinu 3.3 V podłączasz VCC modemu;
do pinu GND podłączasz GND modemu;
do pinu 7 podłączasz CE modemu;
do pinu 8 podłączasz CSN modemu;
do pinu 13 (SCK) podłączasz SCK modemu;
do pinu 11 (DOUT) podłączasz MOSI modemu;
do pinu 12 (DIN) podłączasz MISO modemu.
Twórca Teensy wykonał tu dobrą robotę, ponieważ numery pinów sygnałów SPI zgadzają się z numerami pinów na których są takie same sygnały w Arduino UNO.
Biblioteka RF24 z poprzedniego wpisu działa bez problemu z Teensy 3.1.
Oto moje połączenie Teensy 3.1 z modemem. Wszysto przetestowałem. Jako ciekawostkę dodam, że w moim Teensy wlutowałem gniazda goldpin.
Części przydatne do połaczenia Teensy 3.1 z modemem mRF24L01 ze sklepu Nettigo: