logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mały zestaw edukacyjny - jak to dokończyć?

mojzesz101 22 Wrz 2011 12:03 3332 7
  • #1 9952034
    mojzesz101
    Poziom 12  
    Mały zestaw edukacyjny - jak to dokończyć?

    Witam wszystkich, chciałbym przedstawić (przedstawić - nie pochwalić się, bo tu nie ma się czym chwalić) wam moją konstrukcję zestawu uruchomieniowego z atmegą32 na pokładzie. W poprzednim 'zestawiku' znudziły mi się diody, przyciski i wyświetlacz 2*16 więc pomyślałem że czas nauczyć się obsługi czegoś innego.

    Wyszło jak wyszło, wydawało mi się że dobrze obmyśliłem płytkę, ale jak widać musiałem coś jeszcze dodać podczas składania urządzenia (widoczne kabelki etc).

    Po prawej stronie płytki jest mały przełącznik do którego dochodzą kable. Pierwotnie Atmega miała być zasilana z 3,3V z diody zenera ale nie pomyślałem o programowaniu :D, 74hc244 działa coś od 4 V więc na programator podałem 5V, a na atmege szło 3,3V i za nic nie mogłem zaprogramować procka. Przełącznik który dodałem przełącza napięcie na mikrokontrolerze między 3,3 a 5V. Teraz programuje cacy.
    Co do estetyki to oczywiście nie zależy mi na wyglądzie - byle tylko nie rozpadało mi się w rękach, jak już pisałem - jest to zestaw do nauki programowania a nie do noszenia w kieszeni.

    Wyświetlacz z nokii 3310. Chciałbym z tego miejsca podziękować koledze BOBER za udostępnienie materiałów obsługi wyświetlacza i sampla do Bascoma. Udało mi się zaprogramować czcionkę - podstawowe litery, cyfry, kilka znaków i kilka procedur: kasowanie ekranu, czyszczenie określonego wiersza, powrót do wiersza pierwszego itp...

    Na zdjęciach widać, że udało mi się zaprogramować menu, dwie funkcje od góry działają, pomiar temperatury (termistor na płytce pod wyświetlaczem) oraz zegarek (na razie na timerze i wewnętrznym oscylatorze).
    Na obecnym etapie kod programu zajmuje 35% pamięci mikrokontrolera.

    Po prawej stronie płytki widać czytnik kart SD/MMC, niestety tu pojawia się problem, ponieważ kiedy dodałem bibliotekę AVR-DOS do mojego kodu, wyskoczył błąd że mam zbyt mało wewnętrznej pamięci SRAM i obawiam się że mega32 może być za słaba do obsługi kart.
    A może jednak jest możliwość edytowania pliku config_AVR-DOS.bas i zmiany kodu tak żeby zadziałało na atmedze32?
    Ewentualnie mógłbym spróbować zmierzyć się z ewentualnym napisaniem procedury obsługi karty od zera, tak do własnych potrzeb, chcę tylko czytać informacje z karty: .txt, .bmp ewentualnie .wav ...? Szukałem po internecie ale niestety nie mogłem znaleźć żadnych konkretnych informacji jak przebiega komunikacja między hostem a kartą - tak bit po bicie, jak wygląda jakaś komenda albo coś w tym stylu. Dla przykładu podam że w nocie katalogowej pamięci EEPROM (np. 24LC08) jest ładnie napisane jak to ma przebiegać, wszystkie komendy itp. Ma ktoś może takiego PDF'a do kart pamięci w którym WSZYSTKO by było opisane?

    Mały zestaw edukacyjny - jak to dokończyć? Mały zestaw edukacyjny - jak to dokończyć? Mały zestaw edukacyjny - jak to dokończyć?
  • #2 9952151
    mateusz.c
    Poziom 13  
    Mogłeś się bardziej postarać przy projektowaniu płytki, jej wykonaniu i lutowaniu... Ten wyświetlacz to na taśmę przezroczystą jest przyklejony ?!
  • #3 9952822
    mojzesz101
    Poziom 12  
    Celem zaprezentowania mojego urządzenia było uzyskanie pomocy w związku z obsługą karty pamięci, ale widzę że wolicie mnie zmieszać z błotem zamiast mi pomóc, proszę tylko o PDF lub o link odnośnie komunikacji host-karta. Kiedy uda mi się oprogramować wszystko co sobie założyłem to może zrobię urządzenie którym będę mógł "pobłyszczeć", jeśli tak bardzo wam na tym zależy. Zanim temat trafi do kosza, spróbujcie chociaż mi pomóc :x
  • #4 9953379
    Konto nie istnieje
    Konto nie istnieje  
  • #5 9956282
    manekinen
    Poziom 29  
    mojzesz101 napisał:
    A może jednak jest możliwość edytowania pliku config_AVR-DOS.bas i zmiany kodu tak żeby zadziałało na atmedze32?

    Jak najbardziej. Wystarczyło poczytać opis w tym pliku...

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Ustawiasz w ten sposób i avr dos zabiera "tylko" 1085 bajtów sram'u. I zostaje dużo pamięci na inne zmienne i funkcje. I atmega32 bez problemu to pociągnie, daj kwarc 16MHz żeby w miarę szybko to to chodziło.
  • #6 9960703
    mojzesz101
    Poziom 12  
    Dzięki manekinen kod mi się skompilował, ale nie rusza na procku, jak znajdę czas to będę coś próbował jeszcze.
  • #8 9964437
    mojzesz101
    Poziom 12  
    Udało się po części, problem na pewno jest banalny, czasem czyta plik, a czasem wyskakuje błąd. Zegar mam ustawiony na 12MHz, nie chce mi odpalić na wyższej częstotliwości, najgorsze jest to że nie byłem do końca pewien czy mam dobrze podłączoną kartę, ale na szczęście zadziałało, teraz zajmę się programem. Dziękuję manekinen oraz Mundi1970 - dzięki za PDF-a.
REKLAMA