Hej jak macie rozwiązane takie sytuacje gdy mikrokontroler wykonuje jakieś zadanie, które trwa np. 30 sekund, przez co główna pętla programu jest zablokowana przez to właśnie zadanie, a chcielibyście np. zmienić godzinę na wyświetlaczu? Myślałem nad implementacją jakiegoś prostego schedulera, który "żonglowałby procesami" dając, złudzenie pracy równoległej. Coś podobnego jak np. w FreeRtos.

http://www.freertos.org/implementation/a00016.html

#programowanie #elektronika #avr #atmega
  • 30
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pepepanpatryk: Z programowania AVR pamiętam, że nie program nie powinien długo być w przerwaniu. Co oznacza długo zależy od kontekstu.
Zrób tę aktualizację wyświetlacza w przerwaniu i zobacz jak działa.
  • Odpowiedz
@pepepanpatryk: w przerwanie wrzucasz co najwyżej flagę że należy zaktualizować wyświetlacz. Nie można aktualizować żadnego LCD w przerwaniu. Możesz to zrobić za to inaczej, jeżeli np uC steruje przez 30s silniczkiem to to jest kupa czasu, żeby pętla main mogła obrócić. Musisz zrobić prostą maszynę stanów, np silnik ma wyknać 5 kroków w przód, jeden w tył i koniec. To robisz listę kroków, wykonujesz krok, przechodzisz np do aktualizacji wyświetlacza,
  • Odpowiedz
@majsterV2: Po pierwsze to lel, to jest pojedynczy tranzystor. Nawet w artykule masz info o tym, że klasyczny krzemowy może działać bez problemu z połową tej częstotliwości a jakoś nie mamy procesorów 150 GHz. W złożonych układach musisz ograniczyć częstotliwość, żeby ci się synchronizacja nie rozjechała.

Po drugie co to za logika, że zakładamy, że da się przenieść atmegę na grafen by mieć z tego korzyści a poreck arm już nie?
  • Odpowiedz
Mirki doradźcie proszę - jakie złącza mogę wykorzystać do podłączenia czujników do atmegi? Najlepiej takie czujniki, które mogę wsadzić w obudowę (odpowiednio przerobioną), a następnie np. kabelkiem podciągnąć do odpowiedniego pola lutowniczego na płytce? Planuję 2 czujniki magnetyczne (2 pinowe), 1 gniazdo 6 pinowe na podpięcie zewnętrznego wyświetlacza, oraz jedno złącze do którego będę podpinał silnik.

Popatrzcie sobie na tą obudowe -> klik, widać tam wystające złącze usb. I dokładnie tak
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Polecacie jakieś moduły wifi?
Mogą być zarówno samodzielne jak i do komunikacji z atmegą.
Jak macie coś sprawdzonego z Chin to chętnie przygarnę linka :)

#elektronika #atmega
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam układ, w którym za pomocą atmegi 168 chcę sterować silnikiem DC 12v z wkrętarki. Cały proces sterowania silnikiem oparty jest na dwóch tranzystorach oraz przekazniku. Jeden tranzystor steruje pracą silnika, drugi kierunkiem obrotu silnika. Silnik ten pobiera około 3A prądu więc dość sporo. Powoduje to, że całe okablowanie na płytce stykowej dość mocno się grzeje, oraz podczas uruchamianie silnika jest widoczny spadek napięcia na mikrokontrolerze (przygasa podpięta dioda). Jak możnaby optymalnie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jazmojegopokoju:

Jak #raspberrypi / #arduino / #atmega kontroluje przekaźniki... Np. Jeśli wartość pliku/zmiennej = 1 ,,puść" prąd? Wiem że istnieją bramki itp. ale coś musi nimi zarządzać, bo inaczej wynik byłby zawsze taki sam...


Jest jakaś polska wersja tego pytania?
Domyślam się że chodzi Ci o to jak jakaś funkcja "załącz" w programie przekłada się na to że urządzenie faktycznie
  • Odpowiedz
Nie wie ktos czy da sie uruchomić na Arduino Nano 328 matrycę dotykową z wyświetlacza ILI9341?
Próbowałem URTouch i schodzą tylko "-1,-1,-1,-1",
a XPT2046_Touchscreen wywala jakiś dziwny błąd, że nie znaleziono pasującej funkcji i nigdzie w necie nic o takim błędzie.
Nie wiem czy to ma znaczenie ale wykorzystałem porty: A2, A3, A4, A5, A6.
Do wyświetlania używam Ucglib.

#arduino #elektronika #programowanie #atmega
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobry wieczór. Zacząłem niedawno zabawę z Atmega32 i nie wiem albo nie umiem szukać ale no nie widzę przykładów tego co chcę zrobić. Mianowicie korzystam z ADC i przez USART mogę sobie podglądać te moje chwilowe wartości napięcia, a co jeśli chciałbym, aby zmienne które przechowują wartość napięcia, żeby zapisywały się w pamięci urządzenia? I potem jakoś je odczytać sobie również bym chciał. Jak to zrobić? na internecie nie widzę takich zwyczajnych
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Mjau: atmega32 powinna mieć wbudowany eeprom, zobacz do noty katalogowej jak się do niego dobrać. Jak do tego dojdziesz, to zbieraj dane do bufora i dopiero później zapisuj.
  • Odpowiedz
@Mjau: Utwórz tablicę w RAM i licznik, przy każdym pomiarze inkrementuj licznik i przypisuj wartość do elementu tablicy. Jak licznik zrówna się z rozmiarem tablicy, wyzwól zapis. Nota katalogowa twoim przyjacielem. No i masz u mnie plusa, że nie jest to arduino.
  • Odpowiedz
#atmega #avr

Jak zasilę atmegę napięciem 3,3 V, to stany logiczne na pinach będą operowały na 3,3? Podejrzewam, że tak, no bo jak inaczej, przetwornicy w środku nie upchnęli xD Ale wolę się upewnić
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#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
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

czy na ATmega328P lub ATmega2560 da się wykonać prosty serwer www? Czy starczy zasobów pamięciowych?

Powinien serwować 2-3 strony, ale strony te będą:
- sparametryzowane (temperatury, wartości czujników itp)
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Weź esp8266, ma 4MB pamięci flash (+biblioteka filesystem dzięki której zaserwujesz pliki z pamięci, css, js, html, png, etc.) i szybki procek, praktycznie w pełni zgodne z Arduino. Jak się uprzesz na ethernet to możesz dorzucić w5100/5500.
Kocioł ma RSa?
  • Odpowiedz
@saphix122: Przede wszystkim dla tak małych częstotliwości używanie sprzętowego PWM mija się z celem. Jak już to próbować na timerze 16 bitowym, ale też nie jestem pewien czy da radę wykręcić tak niską częstotliwość.
  • Odpowiedz
@SuperFi: @saphix122: Policzmy: fcpu = 16000000Hz, dzielnik 1024, f za dzielnikiem = 15625Hz co się przekłada na takt trwający 0,064 ms. Takich taktów można zliczyć 65536 czyli będzie to trwało 4194,24 ms czyli 4,19424s co przełoży się na częstotliwość 0,2384Hz.
I generalnie nie da się w normalny sposób zejść niżej. Trzeba zrobić przerwanie od timera z założoną rozdzielczością np. jak chcesz sterować pwm z rozdzielczością 200 kroków to
  • Odpowiedz
Mam problem z podłączeniem rezystora w mojej płytce stykowej.
Mam czerwona diodę i chciałem podłączyć ją do baterii 9V przez rezystor 1K ale sprawdzając miernikiem napięcie dalej mam 9V (zrobiłem to na płytce bez podpiętej diody, żeby jej nie spalić - dioda przy napięciu 3,3V normalnie świeci).

Teraz dla testu podłączyłem rezystor 100K i spadek napięcia do około 7,7V. Co robię nie tak?

#avr #mikrokontrolery #atmega
rubesom - Mam problem z podłączeniem rezystora w mojej płytce stykowej. 
Mam czerwon...

źródło: comment_zOgoh7Wbntuce5WlCXYeVEa6eNVepvqG.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Elo mirki #diy #elektronika #programowanie #atmega
Wróciłem z długiej delegacji, rodzina też poza domem, a dwie roślinki uschnięte. Dlatego myślę nad jakimś dozownikiem ze sterowaniem czasowym na mikrokontrolerze. Mam jakiś stary zestaw uruchomieniowy z atmegą 64. Tak, wiem że overkill, ale nie o to chodzi. Chciałbym żeby ktoś mi doradził. Czy elementy stosowane w chłodzeniu wodnym komputerów to dobre rozwiązanie wg was? Czy też
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

1. sąsiad z kluczami i niech odwiedza chałupe
2. jakakolwiek pompka która ma w sumie niewielki wydatek, np do oczek wodnych itp
3. sposób z butelką i sznurkiem po którym leci woda znasz?
3. po co atmega? czujnik wilgoci i przekaźnik. do zrobienia na 4093 i paru elementach i to z sondą na przemiennym napięciu a nie stałym (nie skoroduje)
@Hans_Olo:
  • Odpowiedz
Kurde co jest grane...
Przesiadłem się z Atmegi16 na Atmegę168A i za fixa nie mogę dojść z nią do ładu.
Próbuję zrobić najprostsze co może być czyli mruganie diodą, za pomocą przerwania.
Tutaj kod: Klik

Wszystko dobrze podłączone. Kod wydaje się być ok. W dokumentacji nie ma nic, że trzeba jeszcze coś dodatkowo włączyć. Macie jakiś pomysł?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pytonger: Przy okazji przeinstalowałem avr-dude na jakąś inną wersję, z poradnika Mirka Kardasia i pojawił się inny problem. Za każdym zapisem do atmegi, czy to fuse bity lub fuse bity ORAZ flash, wywala błąd weryfikacji:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xf9 != 0x01
avrdude: verification error;
  • Odpowiedz