wtorek, 23 października 2012

Szybki spontan - led ala'rgb + pwm.

Witam!

Naszła mnie chęć stworzenia czegoś w stylu lampki z ledem rgb, jako że takowej nie posiadałem zastosowałem zasadę "użyj co masz pod ręką". Znalazło się tymczasowe (zawsze można wyjąć z podstawki:)) zastosowanie attiny2313 którego kupiłem jakiś czas temu ale walał się niepotrzebny. Wstępnie planowałem użyć 4 ledów, ale po wstępnych testach okazało się że środkowy biały led psuje urok całej układanki.


Do uzyskania efektu pseudo neonów użyłem obudowy po  długopisach za złotówkę.

Efekt? Zobaczcie sami:

"Wideło" z testów na "jutube":

http://youtu.be/WtzFiWBYoww

Źródła z gotowym wsadem i krótkim komentarzem:

http://adf.ly/DznrD

Jeżeli są jakieś pytania co do programu - wal śmiało.



Greets,
Mesho

środa, 17 października 2012

[STM32] Pierwsza rozkmina - wyświetlacz hd44780

Witam!

Jako że korzystanie z interfejsu złożonego z jednego przycisku i dwóch ledów (jak w STM32F0DISCOVERY) jest nudne potrzebne jest nam coś co pomoże nawiązać głębszy kontakt z naszym mikrokontrolerem, by mógł powiedzieć nam co go boli, co chce zjeść itd. Mianowicie chodzi o standardowy wyświetlacz LCD zgodny ze sterownikiem hd44780. Jako że brakowało w internecie bibliotek stricte gotowców, co nieco przerobiłem tak żeby jakoś w miarę chodziło przy moim zestawie i w miarę komfortowo się z nich korzystało.

Zaznaczam że nie jest to rozwiązanie profesjonalne, broń boże nie brać tą bibliotekę za wzorowo wykonaną, ale tyle o ile zdatną do uruchomienia lcd. Znasz się lepiej? Popraw i przekaż dalej, a wszyscy z tego skorzystają!

Oto efekt:




Nieprzerobione biblioteki znalazłem na blogu:
http://avrkwiat.nstrefa.pl/omnie/index.php?option=com_content&view=article&id=123&Itemid=145

Przerobione przeze mnie ww. biblioteki:
http://adf.ly/DznoN

 Gotowy program testowy do wgrania przez Keil uVision:
http://atmegan.blogspot.com/2013/03/stm32f0-hd44780-raz-jeszcze.html


Dodałem uproszczoną konfigurację, funkcję do wyświetlania liczb i pozmieniałem nazwy funkcji. Jako że jestem leniem i nie lubię się bawić w wpisywanie LCD_GoTo (czyż nie jest to "PoKeMoŃskIe"? :D), a gdy zapomnę gdzieś wstawić dużej litery kompilator krzyczy wniebogłosy.
Wolę po prostu wpisać lcd_goto lub lcd_locate jako że przy avr taką funkcją operowałem.


Składa się z lcd_hd44780_lib.c i lcd_hd44780_lib.h

Piny wyświetlacza konfigurujemy w lcd_hd44780_lib.h

//**********  Ustawienia pinów wyswietlacza     **********//
#define LCD_GPIO GPIOB //port
#define LCD_CLK_LINE RCC_AHBPeriph_GPIOB //linia zegarowa, zmienic litere portu

#define LCD_D4 GPIO_Pin_6
#define LCD_D5 GPIO_Pin_5
#define LCD_D6 GPIO_Pin_4
#define LCD_D7 GPIO_Pin_3

#define LCD_RS GPIO_Pin_13
#define LCD_RW GPIO_Pin_14
#define LCD_EN GPIO_Pin_15
//********** Koniec ustawien pinów wyswietlacza **********// 
 Lista funkcji:
lcd_init(); //inicjacja wyświetlacza
lcd_cls(); //czyszczenie wyswietlacza
lcd_str("Teskt"); //wprowadzanie tekstu
lcd_strxy("Teskt", liczba kolumny, liczba wiersza); //wprowadzanie tekstu + lokalizacja
lcd_locate(liczba kolumny, liczba wiersza); //lokalizacja kursor
lcd_int(66); //wprowadzanie liczb
lcd_intxy(66, liczba kolumny, liczba wiersza); //wprowadzanie liczb + lokalizacja

Pozdrawiam :)

wtorek, 9 października 2012

Nowe możliwości - 32 bitowy ARM

STM32DISCOVERY zamontowany w dwóch płytkach stykowych - dobry komplet do testów


A tak wygląda pudełko od tego sprzętu :D
Witam!

Latem tego roku odbył się konkurs, quiz na stronie http://www.stm32.eu/ w którym można było wygrać zestaw STM32F0-DISCOVERY w którym wziąłem udział i udało mi się takowy zestaw zdobyć. Myślę sobie łaaał 32-bitowiec, 64kb pamięci flash i 8kb ramu, szpan na dzielni, znacznie silniejsze od najbardziej typowego AVR (Atmega8). Upłynie sporo wody zanim odkryje potencjał tego mikrusa.

 Sam producent wyciąga rękę do amatorów dostarczając masę programów testowych dla różnych peryferiów mikrokontrolera. Póki co udało mi się wykonać pierwsze zadanie "Hello World!" - zaświecenie diodą jak to przy uC bywa. Jednakże stopniowo będę odkrywał kolejne peryferia, o postępach na pewno się podzielę na blogu :)



A tak wyglądał pierwszy test: