Wpis z mikrobloga

#programowanie #mikrokontrolery #atmega #elektronika

Czołem Mirki.

Szukam punktu zaczepienia rozwiązania mojego problemu. Potrzebuję zaprojektować i zbudować sobie układ realizujący funkcje zdalnego sterowania (IR). Na co dzień zajmuję się elektroniką analogową i prostą cyfrówką. Zaprojektowałem sobie już gotową część analogową, niestety problem pozostaje w części cyfrowej. Tutaj oczywistym wyborem staje się mikrokontroler (np. atmega8). Wejście dla takiego układu to odbiornik IR oraz 5 przycisków NO. Wyjściem ma być 6 lub 7 sygnałów logicznych.

Problem pojawia się w momencie ogarnięcia samego sposobu podłączenia mikrokontrolera (chociaż to mniej więcej dam radę ogarnąć z dokumentacją techniczną) oraz, co najważniejsze, jego zaprogramowania.

Co polecacie? Nie znam się zupełnie na strukturze i budowie takiego kontrolera, nie bardzo wiem jak łączyć konkretne zmienne z rejestrami i wyjściami/wejściami. Przy czym jest to raczej jednorazowa potrzeba, nie planuję tworzyć podobnych układów w przyszłości. Pytanie: próbować kombinować metodą prób i błędów na własną rękę (znam algorytmy oraz najprostsze podstawy C++, wiem że do programowania mikrokontrolerów używa się C, ale składnia tych języków jest w miarę podobna), czy może zapłacić komuś (może jakiemuś mirkowi?) za schemat części cyfrowej plus wsad kontrolera?
  • 17
@TJ_Laser: Dzięki za link, przyjrzę się temu :)

@RicoElectrico: Tzn zaprojektowałem sobie wszystkie układy kontrolowane przez kontroler :P Kilka przekaźników, silnik sterowany mostkiem H. Na co dzień zajmuję się elektroniką lampową, półprzewodników używam jako elementów przełączających sygnały itd. Nie mam praktycznie żadnej konkretnej wiedzy na temat bardziej zaawansowanych układów cyfrowych, niestety wcześniej się nie spodziewałem że będzie mi potrzebna.

@koszyksf: Jeśli tak jest, to to spore uproszczenie :) Może
@thris: Również dzięki za link, na pewno skorzystam :)

Gdyby ktoś chciał podjąć się stworzenia takiego wsadu (oczywiście nie za darmo), to również proszę o info :)

Standardowa komunikacja IR opiera się na przesyle kilkubitowej zmiennej. W moim wypadku potrzebne będzie 4-5 stabilnych zmiennych logicznych na wyjściu, oraz dwie astabilne (mam nadzieję że nie pomyliłem z monostabilnymi), chwilowe do kontroli obrotów silnika.
@neo_1995: Arduino używa mikrokontrolerów z rodziny Atmega, o ile pamiętam to w największej liczbie modeli jest M328p. Także jeśli będziesz mieć wersję DIP, to możesz ją wyjąć z płytki Arduino i wsadzić do układu. Jakby co to priv :)
@neo_1995: jeżeli chcesz zrobić pilota to mogę Ci polecić serię STM32L0, jest to seria malutkich i tanich procków (tańszych niż M8) a spokojnie ilość pinów Ci wystarczy. Procki są energooszczędne, idealne do takich rozwiązań. Kodzenie na takie nie różni się zbytnio od pisania na megi i tym podobne. Jeżeli będziesz potrzebować pomocy odezwij się na PW :)
@neo_1995: Robiłem na Atmedze 8 odczyt sygnałów w podczerwieni nawet z 8 odbiorników( chciałem zrobić własne pistolety i odbiorniki do laser tag).

Jeśli jeszcze nic nie programowałeś, a chcesz na AVR to są dwie drogi:
Arduino - i programowanie tego w C++, łatwiejszy próg wejścia, mnóstwo bibliotek
avr-gcc - klasyczne programowanie w C, ja tak zaczynałem.

Jak chcesz zrobić coś na pilota, to ten artykuł Ci powinien pomóc:
http://hobby.abxyz.bplaced.net/index.php?pid=3&aid=16

Przede wszystkim
@TJ_Laser: @koszyksf: @thris: @mmmk: @inspektor_gadzet: @QBA__: Dzięki wielkie za wszystkie sugestie, podpowiedzi i linki. Wybór padł na kodzenie w C++ jako że z tym językiem miałem najwięcej do czynienia.

Zastanawiam się tylko czy arduino uno czy czysta atmega + programator. W razie gdybym miał już gotowy, sprawdzony skompilowany kod, to mogę go programatorem załadować do czystego scalaka bez bootloadera?