Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Obsługa wyświetlacza graficznego z biblioteką Arduino, lecz bez Arduino

exti 24 Kwi 2012 12:09 13434 8
  • Obsługa wyświetlacza graficznego z biblioteką Arduino, lecz bez Arduino
    Na mnogość opracowań na temat obsługi alfanumerycznych wyświetlaczy LCD 2x16 w mikrokontrolerach nie można narzekać. Z wyświetlaczami graficznymi jest już gorzej, ze względu na wiele różnych rozdzielczości i kontrolerów zintegrowanych w nich.

    Jednym z mnóstwa wyświetlaczy graficznych jest LCD wyprodukowany przez firmę FORDATA, o rozdzielczości 240x128, oparty o kontroler T6963C. Posiadacze płytki Arduino nie będą mieli problemów ze zmuszeniem go do współpracy - jest dostępna gotowa biblioteka arduino-t6963c.

    Tom Fleet postanowił jednak poradzić sobie bez fabrycznego Arduino i zbudował jego własną kopię, bazującą na mikrokontrolerze ATmega328 (obecny m.in. w Arduino Duemilanove). Nic jednak nie stoi na przeszkodzie, aby użyć ATmegi168 o identycznym układzie wyprowadzeń lub innego mikrokontrolera. Podłączenie wyświetlacza zajęło dokładnie wszystkie piny I/O mikrokontrolera, na szczęście pozostawiając te odpowiedzialne za interfejsy SPI i I2C.

    Do stworzenia programu na mikrokontroler potrzebne będzie środowisko Arduino IDE (Tom użył wersji 1.0). Należy ściągnąć z Google Code bibliotekę “T6963_Lib.zip” i wypakować ją do katalogu z kolekcją bibliotek Arduino. Przed uruchomieniem IDE wypada jeszcze otworzyć w notatniku pliki T6963.h i T6963.cpp oraz zamienić w nich każdą linię [#include "WProgram.h] na [#include "Arduino.h"]. Dzięki temu biblioteka nie będzie szukać przestarzałych plików z definicjami wyprowadzeń i nie będą pojawiały się błędy kompilacji.

    Źródło:
    http://blog.tomfleet.com/?p=93


    Fajne! Ranking DIY
  • #2 24 Kwi 2012 21:49
    szymon122
    Poziom 37  

    Zupełnie nie widzę sensu tego tematu, przecież to nadal arduino tylko nie na oryginalnej płytce, na stronie arduino, jak również w folderze ich programu znajduje się boot loader. Wystarczy zaprogramować uC i mamy arduino ;)

  • #3 25 Kwi 2012 09:19
    michalm
    Poziom 11  

    Patrze sobie w ten kod - kilkadziesiąt minut i można to tak przerobić że nawet nie będzie po arduino śladu. Więc po co ten hura-entuzjazm?

  • #4 25 Kwi 2012 17:37
    30402
    Użytkownik usunął konto  
  • #5 27 Kwi 2012 23:33
    neo-koncept
    Poziom 12  

    A taka, że filozofia arduino moim zdaniem to upowszechnienie programowania uC dla klasycznych programistów. Do każdego peryferium dodaje się wiec API itd. Dla tego klasyczny programista zielony w kwestii wykorzystania rejestrów procesorów itp czy też patrzenia na obiekt od sprzętu począwszy może sobie teraz wetknąć dwa kabelki w arduino i napisać "Serial.begin(9600);" i ma port UART.

    Taki uwspółcześniony BASCOM tyle, że już w sensownym języku C.

  • #6 02 Maj 2012 11:07
    nsvinc
    Poziom 35  

    Swietnie jest sobie napisać "Serial.begin(9600)" na procka z dwoma lub więcej UARTami. "Cholera, gdzie sie zmienia w tej bibliotece, który to UART"?
    Masakra. Niech programiści PC piszą na PC, a klepanie ma mikroklocki zostawią elektronikom, którzy nie boją się czytania manuali.

  • #7 02 Maj 2012 20:59
    .3lite
    Poziom 17  

    Aktualnie dobrzy programiści piszą lepiej i wyraźniej i to jest fakt - elektronik, który pisze kod na mikrokontroler nie zwraca uwagi na wygląd i czytelność kodu dlatego wygląda on jak wygląda, poza tym wiedza elektronika na temat bardziej zaawansowanych rzeczy z języków programowania jest zazwyczaj znikoma.

  • #8 03 Maj 2012 00:54
    neo-koncept
    Poziom 12  

    Z tym po części zgodzić się mogę, rozwój w dziedzinie oprogramowania embedded jest szybki nie każdy umie wykorzystać możliwości obiektowe języka C++. Zwykle programy wyglądają jak "asemblerowe" czyli ciągi poleceń bez wykorzystania udogodnień języka. Co nie zmienia faktu, że i tak zadziała to lepiej niż kiepsko napisana obiektowa biblioteka spod znaku np. arduino. Dzieje się tak dzięki większej kontroli nad sprzętem i rejestrami. Ten kto pisał po prostu wczytał się w datasheet producenta i wie co i jak. Obecnie przecież w tej dziedzinie nie ma standardu jakim był dla komputerów IBM PC, no może poza ARM który łączy producentów i staje się nie jako takim standardem. Co innego w przypadku opierania się o biblioteki napisane przez inną osobę. Często takie biblioteki nie wspierają wszystkich funkcji sprzętu bo ciężko napisać uniwersalną bibliotekę przewidującą wiele możliwości konfiguracji itd.

    Ale wszystko zmierza ku temu żeby odejść "od sprzętu" na rzecz API i systemów wbudowanych, takie małe dejavu z PC. Ciekawe kiedy pojawią się pierwsze runtime-y do systemów wbudowanych;)

    Dawno temu były (i są) układy timerów 555 i migały diodami, później uC i tylko czekać aż pojawią się "mrygałki" oparte o systemy operacyjne, API i wątki do prozaicznego celu jakim jest sterowanie przysłowiowej diody LED.

  • #9 30 Maj 2016 16:45
    monti18
    Poziom 6  

    Witam.
    Natknąłem się na ten temat i możliwe że będzie mi on bardzo pomocny w uruchomieniu wyświetlacza 240x128 pod arduino uno. Po ściągnięciu biblioteki wprowadzeniu zmian opisanych przez autora tematu nadal podczas pruby załadowania przykładu pojawia się błąd kompilacji w załączniku podaje przebieg całej kompilacji. Proszę o wskazanie w czym może być źródło problemu.
    Pozdrawiam