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

Propozycje prostych projektów na mikrokontrolery AVR z użyciem przerwań

3go 07 Mar 2007 18:13 2001 9
REKLAMA
  • #1 3653951
    3go
    Poziom 2  
    Posty: 4
    Witam,

    od jakiegoś zacząłem chodzić na zajęcia związane z programowaniem mikrokontrolerów. Musze przyznać, że zaciekawił mnie ten temat i dlatego postanowiłem, że spróbuję wykonać projekt - coś ciekawszego niż robimy na zajęciach. Przechodząc do setna: czy znacie jakiś ciekawy projekt ?, jak nie znacie to może zaproponujcie.

    Otóż zaznaczam, że jestem osobą początkująca pod względem hardware' u, więc projekt nie powinien być zbyt skomplikowany - możliwy do zrealizowania przeze mnie. Projekt powinien opierać się (najlepiej byłoby) na mikrokontrorekach z rodziny AVR, PIC lub 8051 (preferuje AVR). Ze względów na znajomość Ansi C, chciałbym go zaprogramować właśnie w C, oczywiście pewnie mnie nie ominie Asembler. Kluczową sprawą jest też aby projekt korzystał z tzw. przerwań.

    Będę wdzięczny za wszystkie sugestie i propozycje odnośnie projektu - również od jakiej książki zacząć, ewentualnie na jakich przykładach się wzorować

    Pozdrawiam
  • REKLAMA
  • #2 3653975
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    1) brakuje słowa czasu
    2) sedna
    3) Jeżeli nie masz jakiś konkretniejszych kierunków projektu... to może coś prostego:
    4xwyświetlacz led + pcf8573+ avr np. mega 8.
    I Sobie możesz zrobić taki chyba najbardziej początkujący ale użyteczny układ - zegarek:)A co do przerwań... to możesz zrobić przyciski po przerwaniach, albo np. nie używać PCF8573 a dołączając kwarc zegarkowy do uP. Możliwości jest wiele...a może kalendarz? Albo extra budzik... albo dobudowany pilot włączający TV na kawe czy herbatę rano?:)

    Sprecyzuj się w jakim dziale chciałbyś się chociaż obracać z tym projektem.
  • REKLAMA
  • #3 3662914
    3go
    Poziom 2  
    Posty: 4
    1) Niestety nie wiem co znaczy
    Cytat:
    brakuje słowa czasu

    domyślam się, że chodzi o czas jaki chcę poświęcic na realizację projektu. Myślę, że jestem w stanie poświęcic 2 do 6 tygodni.

    2) sedno: Potrzebuje pomysł na projekt pokazujący, że umiem

    :arrow: zaprogramowac mikrokontroler
    :arrow: używac przerwań

    Wydaje mi się że aby programowac taki mikrokontroler to trzeba bedzie go podłączyc do komputer i z tego co słyszałem to najprościej będzie przrz LPT.

    3)
    Cytat:
    Sprecyzuj się w jakim dziale chciałbyś się chociaż obracać z tym projektem.

    Cieżko mi powiedzie w jakim dziale ponieważ nie znam na tyle działów, aby wiedziec jak zakwalifikowac moje pomysły, ale zastanawiałem sie nad:

    :arrow: Modulowaniem dzwięku, tzn. do układu wchodzi sygnał następnie wykonuje się program, który modyfikuje sygnał w zależności od programu. Dodatko sygnał wejściowy będzie zależał od pokrętła np. jakiejś gałki.

    :arrow: Hmm następny pomysł to sterowanie jakimś schematem diód tzn. na płytce mam dużo diód i programowo steruje nimi i tu jeszcze trzeba jakieś przerwanie dorzucic

    :arrow: Może wyświetlanie parametrów komputera na jakichś nieskomplikowanych wyświetlaczach LCD?

    Jak myślicie czy trudno będzie mi coś takiego zrealizowac?
    Nadal czekam na pomysły, może już ktoś ma jakąś prostą realizację jakiej chodźby części moich pomysłów?

    Pozdrawiam i dziękuję za poświęcony mi czas.
  • REKLAMA
  • #4 3663198
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    Jeśli chcesz używać AVR, to na dobry początek kup sobie książkę "Mikrokontrolery AVR ATmega w praktyce" R. Baranowskiego.
  • #5 3663281
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    na wstępie musisz zdecydować się na konkretną rodzinę , druga sprawa to na początek zacznij od prostych rzeczy stopniowo zwiększając stopień trudności i chyba jak większość korzysta się z gotowych programów , na podstawie których poznaje się zasady , później już samodzielnie można próbować swoich sił
    również na początek pomocna będzie płytka testowa , na której zrealizujesz swoje pomysły , zerknij na na tą stronę http://www.kamami.pl/ znajdziesz tam literaturę jak również płytki testowe i wiele innych pomocnych rzeczy
    proste programy masz tu http://mikrokontrolery.net/index.htm
  • #6 3663292
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    1) brakowało tego słowa w Twojej pierwszej wypowiedzi:P
    Nieważne:)
    2) Napisałeś setna... nie sedna...
    3)
    ad) Punkt 1... daruj sobie:) Przekształcenia sygnałów to troszkę wyższa szkoła jazdy nie tylko trzeba umieć szybko programować ale i znać tematykę przekształcania sygnałów...
    ad) punkt 2...Sterowanie schematem diód będzie dobre na początek.
    ad) punkt 3... Do tego nie trzeba procka - LCD+ wtyczka LPT + Smartie...

    @lechoo Zgadzam się:) Dobrze jest mieć to pod ręką:)

    I jeszcze jeśli kolega chce bezboleśnie programować proste rzeczy to można polecić bascom'a (Nie wiem czy o tym już nie pisałem na początku....- nie pamiętam). A jak bascom to Marcin Wiązania i jego książeczka (wyd. BTC).

    Pozdrawiam i życzę sukcesów:)

    Łukasz
  • #7 3668712
    3go
    Poziom 2  
    Posty: 4
    Dzięki wszystkim za szybkie odpowiedzi i zainteresowanie, zobaczymy co z tego wyjdzie.
  • #8 3670198
    zwora
    Poziom 18  
    Posty: 332
    Pomógł: 25
    Ocena: 42
    Cytat:

    @lechoo Zgadzam się Dobrze jest mieć to pod ręką

    a ja sie nie zgadzam :D

    W ksiazce tej wszystkie przyklady sa w assemblerze a nie w C++ jak chcialby autor postu.

    Jesli chodzi o C++ to pomocna bedzie ksiazka: Jaroslaw Dolinski, "Mikrokontrolery AVR w praktyce".
    Co prawda na nieco slabszego AVRa (AT90S2313) i z tego co wiem juz nie do kupienia, ale niewielka modyfikacja kodu i bedzie smigac na innych AVRach.
  • REKLAMA
  • #9 3670248
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    W c++ się nie programuje na prockach...
    Czepiając się.

    Dalej. Wydaje mi się, że nazwy rejestrów się nie zmieniają, a może się mylę?

    Pozdrawiam.
  • #10 3670469
    zwora
    Poziom 18  
    Posty: 332
    Pomógł: 25
    Ocena: 42
    No mialem oczywiscie na mysli C, te plusy to z przyzwyczajenia.
    Nazwy rejestrow owszem nie zmieniaja sie, ale polecenia kompilatora owszem. Do tego w C nie musisz pamietac o wielu rzeczach, o ktorych w przypadku assemblera pamietac musisz (np. o tym ze nie wszystkie komorki pamieci mozna adresowac bezposrednio, a nawet w ogole ich nie musisz adresowac, bo kompilator robi to za Ciebie). No i jednym poleceniem w C mozesz zastapic kilka instrukcji w assemblerze. Wiec generalnie programowanie w C jest duzo prostsze i dla poczatkujacego najlepsze. Zwlaszcza jak ma doswiadczenie w tym jezyku. Ale oczywiscie docelowo, jesli chce sie doglebnie zrozumiec dzialanie uC, nalezy przerzucic sie na assemblera. Pozdrawiam.

Podsumowanie tematu

✨ Dyskusja dotyczy propozycji prostych projektów na mikrokontrolery AVR z wykorzystaniem przerwań, skierowanych do początkującego użytkownika znającego język C. Sugerowane projekty to m.in. zegarek z wyświetlaczem LED i układem PCF8573, kalendarz, budzik, sterowanie diodami LED oraz modulacja sygnału audio z regulacją za pomocą potencjometru. Podkreślono, że projekty powinny być stopniowo coraz bardziej zaawansowane, a do nauki warto korzystać z gotowych przykładów i płytek testowych. Polecono literaturę: "Mikrokontrolery AVR ATmega w praktyce" R. Baranowskiego oraz "Mikrokontrolery AVR w praktyce" Jarosława Dolińskiego, z uwzględnieniem, że pierwsza zawiera przykłady w assemblerze, a druga w C, choć dla starszego modelu AT90S2313. Zwrócono uwagę, że programowanie mikrokontrolerów AVR odbywa się głównie w języku C, a assembler jest przydatny do głębszego zrozumienia działania układu. Wskazano także na możliwość programowania przez port LPT oraz na użyteczność środowiska Bascom dla początkujących.
Wygenerowane przez model językowy.
REKLAMA