Przeszukałem dokładnie każdy temat dotyczący obsługi przycisków pod ATmegą8, ATmegą16 czy ATmegą32 jednak w żadnym z nich nie znalazłem instrukcji, która krok po kroku wyjaśniłaby schemat działania tej prostej klawiatury. .... Piny kolumn K1, K2, K3 i K4 klawiatury łączę kablami odpowiednio z pinami PC0, PC1, PC2 i PC3 portu C mikroprocesora. Piny...
Dawno nic nie skrobałem dla AVR, poniżej kod który skompilował się lecz nie ma jak przetestować. Do sprawdzania wciśnięcia klawiszy powinieneś napisać funkcję, która będzie to robić zamiast ciągłego wstawiania prawie tego samego kodu. [syntax=c] #include <avr/io.h> #include <util/delay.h> /* definicje dla preprocesora */ // klawisze #define...
żaden u mnie nie działa (tak jakby w ogóle nie następowało zczytywanie i analizowanie bitów z portu C JTAG wyłączony?
W trakcie obsługi przerwania przychodzi następne i czeka w kolejce. I czekać będzie nie ważne jak bardzo zostanie "przeciągnięte" przerwanie.
Witam, Mam pytanie dotyczące komendy switch i zakresu jej stosowalności. Mianowicie, mam podłączone 8 przycisków na port B. Chce sprawdzać który przycisk jest w danej chwili wciśnięty i wykonywać odpowiadającą mu funkcję . Pierwsza idea polegała na zastosowaniu rozkazu if, ale potem pojawiła się taka koncepcja z użyciem switch'a: switch(PINB)...
Niestety klawiatura matrycowa wymaga nieco zachodu z jej obsługą, za to wymaga mniejszej ilości pinów - coś za coś :) Nie wiem jakie dodatkowe funkcje będzie miał program, ale z reguły skanowanie klawiatury robi się w oparciu o jakiś timer, bo dodatkowo należy eliminować drgania styków. Strona ... korzystaj do woli, a w razie problemów pisz na forum...
Cześć, kurcze mam problem i nie mogę go przebrnąć... Zrobiłem sobie termometr i wszystko jest ok, temperatura dość dokładna, ale chciałbym żeby oprócz pokazywania aktualnej temperatury rejestrował mi najniższa, najwyższą i średnią w danym okresie. Mam trzy przyciski, jeden swMeasure_DOWN po którego naciśnięciu rozpoczyna się pomiar i on jest wtedy cały...
jak przyciskam i trzymam to KEY1 powoduje znaczne zwolnienie pracy licznika można to jakoś ominąć aby on liczył stabilnie gdy KEY1 jest wciśnięty cały czas ? Dzieje się tak za sprawą _delay_ms(80); w funkcji uint8_t klawisz_wcisniety(uint8_t klawisz) Aby to zlikwidować skorzystaj i innej metody eliminacji drgań styków a najlepiej umieść obsługę przycisków...
ok dzięki za pomoc, problem był w drganiach styków :)
Witam, jak w temacie. Mam napisaną część programu, potrzebne mi jest menu do niego, obsługa przycisków. Schemat blokowy + resztę danych na priva.
Zapoznaj sie z poleceniem case, Select Case
Z każdym przyciskiem skojarz jedną zmienną, która będzie zawierała stan licznika timera, w chwili wykrycia jego naciśnięcia. W kolejnych przerwaniach overflow sprawdzasz: 1. czy przycisk jest ciągle naciśnięty, 2. jeśli 1. jest prawdą to czy różnica pomiędzy licznikiem timera a wartością zapamiętaną w skojarzonej z przyciskiem zmiennej jest większa...
U mnie obsługa przycisków też będzie w osobnym programie. A to na szybkiego zostało napisane aby sprawdzić działanie.
A ustawienie stosu to gdzie ? Kodu w obrazkach się nie wstawia, tylko w tagach code] ] Kod w ogóle to masakra, użyj preprocesora... Co to za "delaje" w przerwaniu ? Obsługa przycisków przez przerwanie to mi bascomem zalatuje...
Witam, mam pytanie czy nie ma ktoś w swoich zasobach plików z przykładowymi programami do zestawu Zestaw uruchomieniowy EvB 5.1 z procesorem AVR ATMega32. Nauczyłem się już obsługi +/- przycisków i led, teraz przechodzę do wyświetlacza i przycisków i szczerze chciałbym zobaczyć te przykładowe programy, ale strona producenta and-tech.pl niestety nie...
Witam, a czy wystarczy do tego AVR studio 4.19 bo mam problem z AS6.1? Czy obsługa USB w tym uP jest w miarę prosta?
Klawiszy (poza wyjątkowymi sytuacjami typu wybudzanie uC) nie robi się na przerwaniach INT. Delaye w przerwaniu to nieporozumienie. Twoje przerwanie realizuje się tylko po wciśnięciu przycisku, więc trudno by było, aby zwróciło informację o jego zwolnieniu. Zrób przerwanie zegarowe co 25-50ms i cyklicznie sprawdzaj stan klawiatury. Opanujesz w ten sposób...
Najrozsądniej jest zwykle badać stan przycisków w przerwaniu timera, np. tym samym, którego używasz do obsługi wyświetlacza. Popatrz np. tu: http://mikrokontrolery.blogspot.com/2011...
Zdrowa krytyka :) Dziękuje za wszystko :) Jeśli mogę przeprosić za wcięcia, to stało się tak po przekopiowaniu z eclipse. Muszę się przyzwyczaić do zapisów z przesuwaniem 1-jedynek. Nie wiem dlaczego, ale prościej jest mi czytać zapisy szesnastkowe. Możecie pokazać jak taka funkcja z wyborem znaku u mnie "wyświetlaj" powinna wyglądać i dlaczego u mnie...
Witam, pomijając kod, to Twój pomysł skąd się wziął? Z grubsza to masz 3 możliwości: - zliczasz timerem zmiany na pinie z pominięciem drgań - mierzysz czas między stanami wysokimi za pomocą Input Capture i zliczasz tylko te z minimalnym założonym odstępem - robisz normalną obsługę przycisku (w przerwaniu timera) i liczysz wciśnięcia. Nie używasz do...
Jak się upierasz przy ASM, ale nie chcesz wszystkiego pisac od zera i cos podejrzeć "jak to jest zrobione" no i ogarniesz podstawy programu MicrochipStudio to w nim można otworzyć przykładowe programy (z biblioteki ASF) lub ściągnąć sobie gotowy przykład z -> https://start.atmel.com/#examples/touch Taki przykład mozna odpalić w MicrochipStudio w...
Witam Moja propozycja to: ATMEGA32 (13zł) + 2 tranzystory PNP (0,4zł) + kwarc z kondensatorami (2zł) + 3 przyciski typu uswitch (1,5zł) + stabilizator napięcia 7805 (1,2zł) + kondensatory (1,5zł) + rezystory (0,5zł) + kwarc zegarkowy (1,5zł) + dwa wyświetlacze LED (6zł) + laminat (3zł). To jest trochę więcej niż cena ADUC814. Jeśli w Twoim sklepie tego...
Nie chciałem się tym zajmować, bo na razie mi to nie przeszkadza, nie zależy mi na dokładnym odczycie, chodzi mi o obsługę samego timera bardziej;> a, że później chciałem liczyć częstotliwość zewnętrznego przebiegu to to może być pewnego rodzaju wstęp :P
Dobra światełka w końcu działają po 2 wybuchach złości na biurko, na razie tylko 2 tryby i bez generatora liczb losowych, ale raczej to rozwinę... po jakimś czasie: Kod bez błędów: [syntax=c]/* * main.c * * Created on: 14 wrz 2023 * Author: Dzieci */ unsigned char jasnosc = 32; //określa jasnośc diod #include <avr/io.h> #include <util/delay.h>...
Tylko poczatkowym zalozeniem bylo wykorzystanie "state maschine" zeby mozna bylo wiecej funkcji przypisac guzikowi Przykładowy kod jest również realizacją maszyny stanów i nie ma ograniczeń co do ilości funkcji. Problem z Twoim kodem polega na błędnej obsłudze wciskania klawisza. Filtr możesz dodać do funkcji int8_t button() jednak poprawy wymagają...
Szybki wstęp to takiego menu: Oznaczamy na potrzeby programu każdą pozycję w menu: enum{ 0, menu1, menu2, menu3, menu11, menu12, ...}; tworzymy tablicę przejść menu unsigned char menu_stage [32][4] PROGMEM = { // next prev up down {0,0,0,0}; {}; {}; {}; {}; } nieistotne...
http://obrazki.elektroda.net/30_12564983... W ostatnim czasie przestałem pisać programy typu mrugająca dioda i obsługa przycisków i zabrałem się za coś poważniejszego. Postanowiłem zbudować prosty zegar. Po kilkuset linijkach kodu, okazało się, że zegar nie jest już tak prosty, bo pojawił się w nim: obsługa LCD, RTC, PWM, timer w trybie CTC,...
Czy to oznacza, że przycisk masz podłączony pod pin 0 portu B ? Wejście INT0 w ATmega32 jest na pinie 2 portu D i tam powinien być podłączony przycisk, aby wywołać przerwanie. Dopiero procedura obsługi tego przerwania włącza timer 1.
Napisz konkretnie jak masz rozwiązany sprzętowo przycisk, czy inny system wywołania przerwania na INT0, bo z tego schematu nie bardzo to widzę. Dokładnie, a ze schematu widać jednak, że tylko klawisze w ramach tzw małej klawiatury S1 , S5 , S9 oraz S13 robią zwarcie do GND, czyli tylko w tym przypadku uzyskasz swoje zbocze opadające. A w przypadku...
Co do programów symulujących to nie używam takich więc nie pomogę z nim (wolę pracę na "żywym organizmie ;) ). Jeśli rożne sprawdzone programy nie działają, to duże prawdopodobieństwo problemów sprzętowych, posprawdzaj: 1. Ustawienia fusebitów (czy wszystko się zgadza) 2. Wszelkie połączenia i kabelki czy nie ma gdzieś przerwy albo coś nie jest źle...
Jest to Atmega32 Przyciski po wciśnięciu wchodzą do pętli ale nie realizują pomiaru do określonego czasu. Funkcja wykonuje się tylko raz, także obsługa przycików jest ok tylko nie ma tego warunku do określonego momentu i przechodzenia na inne przyciski czyli inne kanały pomiarowe w moim przypadku. Liczę na waszą pomoc bo jest m to bardzo przydatne....
Uwag miałbym więcej, ale może nie wszystko na raz bo nie ma czasu :D Nie wyświetlaj w kółko tego co ma się pokazywać bo w czasie kiedy będziesz wyświetlał mikrokontroler może coś przegapić. Ogólna zasada jest taka że komendy LCD używa się wtedy kiedy coś ma się zmienić na LCD Po co tyle tego Locate 1, 1 ? Można to zapisać tak: Call Odswiez_lcd a sub...
Witam Dzięki za odzew. Sprawdzę kod w domu, jak wrócę. Tylko nie widzę samego przełączania - Toggle. Bo to miało być tak ( dla każdego przycisku osobno W1 - > S1, W2 -> S2 ): dłuższe przytrzymanie np. 1 sek - rozjaśnianie ( jeśli poprzednio było ściemniane ) dłuższe przytrzymanie np. 1 sek - ściemnianie ( jeśli poprzednio było rozjaśniane ) Szybkie...
Każdy switch jest podpięty osobno bo nie wymyśliłem nic lepszego. Program jest i będzie w bascomie bo tylko ten język znam. Ten schemat jest dużo bardziej przejrzysty bo go poprawiam po tym czego się tu dowiedziałem o eaglu. Wcześniejsza wersja wygląda tak jak poniżej. http://obrazki.elektroda.pl/5537702100_1... http://obrazki.elektroda.pl/2107775400_1...
... oraz skupić się na programowaniu i nauce algorytmiki, a nie zmaganiu z kabelkami, ciąganiem ich całymi wiązkami i zastanawianiu, czy to coś nie tak z programem, czy też może coś nie kontaktuje. A jak już umiem nieco więcej, wiem czemu ma służyć i przetestowałem układ, to trawimy płyktę, lutujemy i ma działać. ............................. jak to...
Widzę że na początku miałeś sprawdzenie pinb.4 i pinb.7 a teraz napisałeś pinb.5. Sprawdź jeszcze czy jak nic nie wciskasz to napięcie na pinb.4 i pinb.7 jest równe zasilaniu. Może zostaw tylko obsługę przycisków i dokładaj kod po kawałku i sprawdzał po czym przestanie działać. Rozumiem że odczyt godziny działa prawidłowo tylko klawisze nie przynoszą...
Witam ponownie i dziękuję za wcześniejsze wypowiedzi. Padło pytanie, jakie kontrolery najczęściej spotykam. Prawdę powiedziawszy nie wiem, bo napis jest starty, bo jest na nim napisane candy-01 itp. Co do budżetu... poczatkowo chciałem kupic gotowy zestaw, ale ostatecznie postanowiłem zrobić samemu bardzo ubogi starter kit, by najpierw nauczyć się obsługi...
Co z tego, że są "w stanie 1"? No zgadza się, że przyciski są tylko tymczasowo, ale one mogą załączyć podczas jednego naciśnięcia przerwanie nawet kilkaset razy. W dodatku w przerwaniu masz operację mnożenia na zmiennej SINGLE co nie jest dobrym rozwiązaniem. Jeszcze raz sugeruję by wywalić LCD z pętli. Najlepiej ją zostawić pustą. Wynik wyświetlać...
Zamierzam w swoim projekcie wykorzystać funkcję "config KBD" gdyż będę potrzebował użycia dużej liczby przycisków do obsługi at32. Proszę o podpowiedź czy praca takiej funkcji, a szczególnie "debounce" i "delay" w niej zawarte nie zatrzymają timerów pracujących cały czas w przerwaniu. Z góry dziękuję za pomoc.
Witam, dołączę się do tematu aby nie zaśmiecać forum. Moim problemem jest drganie styków przycisku aby wywołać przerwanie int2. Przyciskiem włączam i wyłączam optotriak MOC3041 który z kolei załącza sterownik lampy sodowej 70W przez triak. Problem jest taki: mimo, że zrobiłem programową obsługę drgań styków to działa ono jedynie bez obciążenia - czyli...
Mniej więcej co 2 tygodnie ktoś tu próbuje obsługiwać przycisk na przerwaniu portu i co dwa tygodnie próbujemy takiemu delikwentowi wybić ten nierozsądny pomysł z głowy. Przeszukaj archiwum. Przycisków NIE obsługuje się przy użyciu przerwań portu, a przy użyciu przerwania timera. Jak chodzi o mikrokontolery jestem początkujący. Tego typu obsługa była...
WITAM Mozolnie przeszukuje internet i nic nie mogę znaleźć, z tego powodu pojawia się ten temat i myślę, że ktoś w końcu mi podpowie. Szukam wsadu do procesora np atmega32 lub 64 lub PIC18.... który jest sercem sterowania dla trzyosiowego sterowania CNC, + oś 4, z krańcówkami i przyciskiem STOP/ START. mam na myśli coś podobnego do tego (z możliwością...
http://obrazki.elektroda.net/30_12586328... Witam. To moje nowe dziecko :-) MULTI CONTROLLER - sterownik bardzo uniwersalny . Podstawowe możliwości : - mózg urządzenia ATmega32 - sterowanie z pilota IR (zgodnego ze standardem RC5) - Obsługa do 8-miu czujników DS18B20 (tryb normalny lub parasite) - 7 kanałów załącz wyłącz (przekaźnikowe) -...
connfig timer0 = timer , prescale = 64 dim i as byte,j as byte dim s1 as bit on timer0 czas enable interupts enable timer0 do //tu wstawiasz obsługe przycisków //iustawienie s1 w zależności czy drzwi sa otwarte s1 = 1 czy zamknięte s1=0 loop end 'program czas: //ten podprogram wywoływany jest co x ms //w zależniści od prescale i częstotliwości...
Uruchomiłeś w ogóle ten czujnik? Piszesz dużo o modyfikacjach, ale nie napisałeś nic czy działał przed modyfikacjami, czy nie. Jak chcesz to mogę Tobie wrzucić tutaj mój kod do obsługi SHT na M8. I2C z tego co pamiętam jest sprzętowe wykorzystane. Wynik są wyświetlane na 2 cyfrach wyś. LED. Do tego jest tylko jeden przycisk do przełączania temperautra/wilgotność/automat....
Co do procka to LordBlick ma racje. W LV wywal tą strukturę sekwencyjną i te "prymitywną synchronizację". Daj lepiej w zwykłej pętli while odczyt i zapis. Jak wejdziesz w przerwanie ustaw flagę informującą procke o wysłaniu danych po wyjściu z przerwania. Procek wychodzi z przerwania i wysyła info do LV. Jak coś wpiszesz do rejestru to wyślesz, LV odbierze...
Dziękuje za opis ale chyba mnie to przerosło :) Zrobiłem programowy PWM, oto kod: [syntax=basic4gl] '************** Petla glowna ****************** '***************************************... Do '(at)(at)(at)(at)(at)(at) Obsługa klawiszy (at)(at)(at)(at)(at)(at) If Przycisk > 0 Then Przycisk = 0 If L1 = 0 Then L1 = 20 If Wybor = 0 Then If K_wybor...
Nie chce mi się analizować zbytnio tego kodu, z powodu rażąco rażących błędów... Na pierwszy rzut oka delay-e zamiast wszystko oprzeć o przerwanie jakiegoś timera... Po drugie, jakoś tak dziwnie napisany switch?... W książkach każą używać klamer o ładnych kształtach "}" "{" wokół kodu w case o ile jest w nim więcej niż jedna instrukcja... Po trzecie,...
http://obrazki.elektroda.net/41_12633119... Stworzone przeze mnie urządzenie jest praktycznym uzupełnieniem piórnika szkolnego. Jest wyposażone w kilka pożytecznych funkcji i na opisanych poniżej nie zamierzam zaprzestać. Całość została zorganizowana w wygodne w obsłudze intuicyjne menu. 6 przycisków uSwith w jakie jest wyposażony układ umożliwia...
Witam Mam pewien problem z jednym programem, który ma wykrywać wciśnięcie switcha. Chodzi o to, że gdy nacisnę obojętnie jaki switch i go puszcze to wyświetla się informacja, że switch 1 jest ciągle wciśnięty. Nie mam pojęcia o co w tym chodzi. Spójżcie na mój kod może coś tu pomieszałem, ale wydaje mi się że wszystko jest ok //Program LCD+Switch+LED...
Witam. Mam problem z PWM w ATMega32. Posluzylem sie gotowym programem z ksiazki "Mikrokontrolery AVR w praktyce" J.Dolinskiego.Problem polega na tym, ze nie moge zmieniac wypelnienia PWM za pomoca przyciskow klawiatury.Podlaczony do zestawu ZL10AVR oscyloskop caly czas pokazuje stan wysoki.Ponizej umieszczam kod programu. #include <avr/io.h> void...
Witam. Nie mam już pomysłu, może ktoś z was coś podsunie. Problem leży prawdopodobnie w złym zarządzaniu pamięcią. Program to miernik energii elektrycznej. Może zamiast kodu przedstawie schemat blokowy. Cały program znajduje się w pętli, nie używam zadnych gosubów i innych podprogramów. Jest tylko 1 przerwanie co sek i tylko zmiana 1 zmiennej. 1. Program...
po pierwsze masz: #define KEY1_PIN (1<<PD1) #define KEY2_PIN (1<<PD2) a za chwilę piszesz: #define KEY_UP ! (PINC & KEY1_PIN) #define KEY_DOWN ! (PINC & KEY2_PIN) więc zobacz już na tym etapie jakie masz błędy. Wyżej PD1 i PD2 a niżej masz PINC. Wprawdzie to przypadkowo mogłoby zadziałać (zastanów...
Witam, Przerwania zewnętrzne można wykorzystać, ale problem będzie z drganiem styków - po zwarciu/rozwarciu styki przycisku drgają kilka-kilkadziesiąt milisekund, więc są duże szanse, że zarejestrujesz dużo więcej zmian stanu niż było w rzeczywistości :) Najprościej zrobić programową eliminację drgania styków używając rejestru przesuwnego. Co jakiś...
http://obrazki.elektroda.pl/6781367100_1... Witam. Dziś przedstawiam konstrukcję, jaką wykonałem dla mojej dziewczyny w kilka, a może kilkanaście wolnych wieczorów. Jest to mikro ściąga albo jak kto woli czytnik e-book'ów. Dla tych, którzy za chwilę zaczną się rozwodzić nad ściąganiem, a nie nad konstrukcją, informuję, że urządzenie nie powstało...
Witam, zrobiłem taka sobie płytkę testowa na atmedze 32. Wszystko działało fajnie aż raz sie proc zablokował... kupiłem nową atmege16 ale po wgraniu starego programu nie działa tak jak wcześniej. #include <avr/io.h> #define OSC 8 // częstotliwość zegara w megahercach #define TOGGLE_RED PORTB ^= 0x04; //dioda czerwona #define TOGGLE_GRN PORTB ^=...
Koszt podzespołów to 11zł za ATMEGA32 i 8zł za TDA1543 - ceny ze znanej łódzkiej firmy. Pozostałych części nie liczę, bo to drobnica którą miałem w szufladzie lub z demontażu. Bez wyświetlacza LCD też będzie działać. Oryginalny program odchudziłem m.in. z obsługi przycisków, gdyż nie są potrzebne - można załadować tylko jednego MOD-a który jest odtwarzany...
Witam mam następujący problem, napisałem coś takiego do obsługi PWM'a: ; pozycja środkowa 0x005A - 1,41 ms ; pozycja lewa 0x0022 - 0,53 ms ; pozycja prawa 0x0093 - 2,29 ms ; częstotliwość PWM 61Hz .include "m32def.inc" .EQUSYS_FREQ = 1 .DSEG .org 0x0060 .CSEG .org 0x00 reset: ldi r17, high(RAMEND) ldi r16, low(RAMEND) out...
Znalazłem rozwiązanie problemu. Pozostawiam wskazówki dla potomności... 1. Projekt prowadziłem na swoim dysku google. Chodziło o autosynchronizację, między różnymi komputerami. 2. W podglądzie disassemblera, zobaczyłem, że gdy w kodzie wstawiona jest informacja, z jakiego pliku pochodzi źródło, to w ścieżce jest błąd. Chodzi o literę "ó", która występuje...
Te algorytmy z artykułu niestety kiepskie są i wyłożyły by się na ułamku tego co poniżej... W moim projekcie w C na Atmega32 taktowana 16MHz na dzień dzisiejszy (bo projekt jest rozwijany cały czas) obsługuje: - 2x encoder 1600imp/obr z prędkością max 15obr/s, - 2x encoder 10imp/obr z vmax 10000obr/min, - 1x encoder 25imp/obr z vmax 1000obr/min, - dwa...
Witam forumowiczów, Natknąłem się na pewien problem, z którym nie wiem jak sobie poradzić. Sprawa dotyczy nieprawidłowej obsługi przerwania INT0 podczas wykonywania komend sterujących wyświetlaczem LCD. Do Atmega32 podłączone są: - standardowy wyświetlacz LCD, - źródło impulsów (dokładniej jest to liniał cyfrowy), - przyciski. Impulsy wprowadzone na...
http://obrazki.elektroda.pl/9114516200_1... Autorski projekt wyłącznika zdalnie sterowanego za pomocą pilota RC5. Cały układ kontrolowany jest za pomocą mikroprocesora z rodziny AVR, ATtiny2313. Na uwagę zasługuje zasilanie układu bezpośrednio z sieci elektroenergetycznej o napięciu 230V, zrealizowane przez zasilacz bez transformatorowy....
Witam. Czy mógłby mi ktoś powiedzieć w jaki sposób można sterować silnikiem DC (programowo) na Timerze1. Mam programik, który powinien to robić, lecz nie działa. Dlaczego nie wiem. Dołączam poniżej kod. Jeśli chodzi o załączanie to zbudowałem prosty układzik na tranzystorze załączającym oraz diode do zabezpieczenia przed przepięciami. Interesuje mnie...
JarekC: ad1. Próbowałem przy wszystkich prędkościach od 9600 do 230400. Jedyna różnica była taka że przy 230400 wystarczał już delay na 1ms , ale raz na jakiś czas pojawiał się na ekranie krzak. ad2. Tak mam to poustawiane: 1 StopBit (usbs zostaje defoltowo na 0, jak by ustawic na 1 to były by dwa bity stopu) // char size 8 (ucsz0 ustawione na 3(dzisiętnie),...
Cześć, Postanowiłem w końcu podzielić się projektem systemu automatyki domowej, który u siebie zrealizowałem i działa z powodzeniem od kilku lat. Na początek chciałbym opisać założenia i ogólny zarys całości a w dalszych częściach skupię się na konkretnych fragmentach. https://obrazki.elektroda.pl/8960961700_... https://obrazki.elektroda.pl/2956907700_...
Obsługę przerwań mam w innym pliku #include <avr\interrupt.h> #include <avr\io.h> #include <inttypes.h> #include <stdio.h> #include <avr\pgmspace.h> #include <util\delay.h> #include <math.h> #include "onewire.h" #include "makra.h" #include "harddef.h" #include "lcd.h"...
http://obrazki.elektroda.pl/9570417100_1... Witam! Mam dzisiaj do zaprezentowania Stacjobudzik. Stacjobudzik, jak sama nazwa wskazuje jest to połączenie zegara z budzikiem oraz prostej „stacji pogodowej”. Urządzenie to powstało w wakacje 2010 i przez blisko rok pracuje bezawaryjnie, ale kod programu uważam za jeszcze niedopracowany...
Wszystko działa jak należy, dołączam kod może się komuś przyda. [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 Dim Sekunda As Byte , Minuta As Byte , Godzina As Byte 'zmienne czasowe Dim Pozycja_menu As Byte 'zmienne pomocnicza do menu Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5...
Leży tu przede mną na biurku płytka uruchomieniowa własnej roboty z mikrokontrolerem LPC810. Płytka zawiera złącze USB i układ interfejsu USB/UART do programowania mikrokontrolera i do komunikacji z nim z PC, ponadto diodę RGB i przycisk - w sam raz na początek przygody z mikrokontrolerami. Koszt wszystkich elementów to ok. 12 zł, można poćwiczyć komunikację...
Zakupiłem biblioteki Pana Mirka Kardasia do obsługi SPI oraz dla modułu MkNRF24L01. Chcę używając ich skonstruować pojazd/zabawkę zdalnie sterowany. Myślę że bardziej doświadczeni będą potrafili odpowiedzieć na pytania. Skupię się początkowo na samym SPI. Korzystam z tutoriala https://obrazki.elektroda.pl/2630422600_... https://obrazki.elektroda.pl/3335867000_...
Testowałem osobiście ten kod. Działa to fajnie ale jest jeden błąd w kodzie. Odpaliłem program a ATMega328 i nie działał ADC0. Należy zmienić to: [syntax=c] static inline void adc_channel(uint8_t channel){ ADMUX &= ~(0b11111); ADMUX |= 0b11111 & channel; } [/syntax] Na to: [syntax=c] static inline void adc_channel(uint8_t pin){ ADMUX = (ADMUX & 0xF0)...
Dzięki za wskazówki i pomoc :) Ten zegarek nie może poprawnie działać z powodu braku wyboru\konfiguracji\uruchomienia zarówno timera, jak i przerwania z nim związanego. W ww. programie jeszcze do fazy Timerowania nie doszedłem - stwierdziłem tylko brak poprawności wyświetlania zadanych cyfr :) Przerobiłem program, działa i wygląda następująco: [syntax=basic4gl]...
Witam Spoko link ale troche nie tego szukalem. Tam ludzie rozmawiali jak podpiac komorke pod kompa. Maja problemy dogadania sie z terminalem. Ja to mam za soba. Przedstawie wyniki mojej pracy: - najpierw zrobilem odpowiedni kabelek z MAX-em do komorki i podlaczylem go pod terminal. Z poziomu terminala moge wysylac i odbierac informacje z komorki!!!...
Nie znam Bascoma więc nie wiem co Robią pokazane programy ale jest prosty sposób na to. Ustawiasz jeden Timer tak aby zgłaszał przerwanie (np od przepełnienia) co 1 ms (czy jaką tam sobie dokładność chcesz). Timer sobie zasuwa i zgłasza przerwania, w przerwaniu sprawdzasz stan jakiegoś Pinu i jeśli wtrysk jest otwarty to dodajesz licznik ms a jeśli...
Witam. Napotkałem dosyć dziwny problem i nie potrafię sobie poradzić. W załączonych źródłach , na samym końcu pliku jest funkcja obsługi przerwania INT1. Funkcja ta ma odpowiadać za wstępne odczytanie bitów przesyłanych do mikrokontrolera przez klawiaturę AT. Problem objawia się tym że nie ważne co bym nacisnął na klawiaturze to zawsze dostaje 00 na...
http://obrazki.elektroda.pl/4780964300_1... Witam Chciałem przedstawić moją konstrukcję odtwarzacza plików SID. Jest to moje protopywowe urządzenie zbudowane na dwóch płytkach uniwersalnych.Wszystkie połączenia są wykonane kabelkami.Sercem układu jest ATmega32 który jest prostym emulatorem procesora z C64 6502.Oryginalny układ SID'a...
http://obrazki.elektroda.pl/8192024800_1... Witam, Przedstawiam kolejny projekt z wykorzystaniem karty TeleVGA, tym razem jest to " 4- kanałowy termometr z zegarem RTC i wyjściem VGA " Projekt powstał przy okazji realizacji zlecenia na kontrolę temperatury na linii produkcyjnej. Jednym z wymagań była dobra widoczność odczytów dlatego...
Witam, ponownie odświeżam, napisałem już obsługę klawiaturki, która jest łudząco podobna do tego pilota, jednak powstał efekt "stanu nieustalonego" tak jak bym go nazwał, podczas wciskania. Kod: https://filmy.elektroda.pl/0_1314115971.... Proszę o pomoc w zakresie eliminacji tego zjawiska, tylko jak do prostego chłopa. W tym miejscu dodać, ująć, poprawić...
Witam forumowiczów. Siedzę od jakiegoś czasu przy zegarze PCF8583 i VFD CU20029SCPB-25A. Napisałem do niego obsługę 2 termometrów na DS18B20 i pilota RC5. Wszystko działa poza, wybudzeniem procesora z POWERSAVE. Nie mogę sobie z tym poradzić. Nie mogę znaleźć konkretnego przykładu. Po naciśnięciu przycisku na pilocie ma się uśpić Atmega, i tak robi....
http://obrazki.elektroda.pl/2389595600_1... Witam. Ostatnio postanowiłem udoskonalić mój http://obrazki.elektroda.pl/1942292000_1... Program w C również dużo się zmienił. Przepisałem go prawie od nowa. W przeciwieństwie do niedbale napisanego i niedokończonego softu w wersji 0.2x (includy .c w main, etc.), jest ładnie...
Na początek mam trzy wiadomości. Dwie złe i jedną taką sobie. 1.Nie znam się na sterowaniu telefonów- może ktoś inny pomoże. 2.Znowu fusebity- PORTC jest ustawiony do obsługi JTAG- trzeba to wyłączyć. Wchodzisz w ustawianie fusebitów- tak jak poprzednio. Szukasz Fusebit High H - i ustawiasz na disable. 3.Skoro skonfigurowałeś PORTC jako wejście- to...
http://obrazki.elektroda.pl/3533664400_1... 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...
Ja bym Ci radził zacząć od prostych rzeczy, czyli np. ATmega32 i sterowanie diodą LED. Później do innego pinu podłączasz przycisk (tzw. "Tact Switch") i zapalasz diodę używając przycisku (odpowiednio modyfikujesz program). I polecałbym na początek jakąś książkę. Ja znam dwie, są one dosyć popularne, bo i dobre :) 1. "Mikrokontrolery AVR Język C Podstawy...
Witam, zaczynam właśnie moją przygodę z mikrokontrolerami i chciałbym prosić o małe wsparcie, posiadam aktualnie ATMege 32 (Evb 3.4), programuję w języku C (samo C znam dość dobrze, gorzej z aspektami po stronie avr) nie pisałem jeszcze nic bardziej skomplikowanego, zacząłem od obsługi klawiszy, diod, wyświetlacza 7-segmentowego i jako, że zamierzam...
http://obrazki.elektroda.pl/1375612200_1... Witam. Chciałbym dziś zaprezentować sterownik do pieca CO. Jest on zbudowany na mikrokontrolerze Atmega32. Steruje on silnikiem który otwiera lub zamyka klapkę na popielniku która reguluje dopływ powietrza. Dodatkowo został on przygotowany na moduł bluetooth oraz dwa wyjścia na triakach do...
Dzień dobry, Chciałbym zwrócić się o małą pomoc. Zmontowałem w pracy coś jakby autorski sterownik PLC do projektu sterowania oświetleniem pokładu na statku. Ideą sterownika jest obsługa lampko/przycisków w trybie bistabilnym do załączania poszczególnych obwodów na statku. Dodatkowo sterownik (na mostku) może 'rozmawiać' z drugim przez rs422 który jest...
Witam Zrobiłem sobie układ, który ma na wyświetlaczu wyświetlać godzinę oraz temperaturę wody. Samą obsługę wyświetlacza jakoś udało mi się ogarnąć, natomiast mam problem przy odczycie temperatury z czujników oraz czasu z ds1302. Na początku ustawiam sobie godzinę 10:40 i to wyświetla się poprawnie, ale jak idzie odczyt z ds1302 to wyświetla mi się...
http://obrazki.elektroda.pl/4860072600_1... Witajcie! Sterowników do pieców C.O. przewinęła się przez Elektrodę cała masa. Chciałbym Wam przedstawić swój autorski, swobodnie programowalny sterownik z miniserwerem http i możliwością obsługi i odczytu parametrów przez przeglądarkę/smartfona z ciepłej kanapy. Co mnie skłoniło do budowy...
Niestety laborki te mamy w asemblerze...przynajmniej ich początek. W języku C będziemy pisać niebawem na co ze zniecierpliwieniem czekam. Co do Twojej podpowiedzi, rozumiem, że cała operacja odbywała by się tak jak powiedziałem, czyli dwa przyciski wielokrotne klikanie jednego np zwiększa prędkość ? A w łopatologiczny sposób na delayach, jak wykonać...
Witam, Od dłuższego czasu siedzę nad sterownikiem opartym o uC ATmega32. Urządzenie posiada 3 wyjścia sterowane przekaźnikiem, a ja chciałbym aby użytkownik z poziomu menu mógł ustawić niezależnie 3 czasy on/off dla każdego z przekaźników. Do tego celu, aby zaoszczędzić linijki kodu chciałem stworzyć funkcję "szablon" do samego ustawiania czasu: [syntax=csharp]...
Kolego mirekk36, nie ma to jak zachęta ( zwłaszcza jak ktoś w wieku 38 lat zaczyna się tego uczyć ) . To piękny wiek do nauki ;) a gwarantuję ci , że ludzie i w starszym wieku rozpoczynają naukę. Ja też mam już ze 45 wiosen i nadal zamierzam się uczyć. Więc bez obaw - i ty dasz radę. i pewnie w C można to zrobić łatwiej, szybciej i krótszym kodem....
http://obrazki.elektroda.pl/3762210000_1... Witam. Przedstawiam timer, a raczej dedykowany algorytm na jeden z moich uniwersalnych sterowników które wykonałem do celów badawczych. (poligon doświadczalny) Projekt powstał w celu ułatwienia kalibracji wskaźników przeliczających wartość czasu. http://obrazki.elektroda.pl/9468480100_1...
Witam Serdecznie. Już założyłem raz ten temat ale został skasowany z powodu braku schematu. Zamieszczam schemat w załączniku, oraz kod : [syntax=c] #include <avr/io.h> #include <avr/delay.h> #include <avr/interrupt.h> #include "spi.h" #include "ioinit.h" #include "animacje.h" #define BUZZ_ON PORTD |= _BV(PD5) #define BUZZ_OFF PORTD...
Podaj typ obudowy procka oraz nr pinu (z płytki, nie ze schematu), do którego podłączyłeś W4 ATMEGA32A TQFP, nóżka 31 (PA6) Jeśli robisz coś w tym stylu Kod: portB=0b11111110; if (portb = 0b01111110) { } Jak już coś to sprawdza się raczej PINB a nie PORTB. Proponuję spróbować zmienić kolejność, np.: Kod: ... W4_PORT &= ~W4; W1_PORT |= W1; W2_PORT |=...
OK, rozumiem. Napisałem coś takiego, prosta sekwencja na liczniku do sterowania silnikiem krokowym. Przyciski zwiększają lub zmniejszają prędkość sekwencji, tylko mam taki problem. Muszę zrobić tak, aby jedno wciśnięcie przycisku powodowało przyspieszenie, potem drugie wciśnięcie przycisku kolejne przyspieszenie itd. Z tego co wyczytałem, to najlepiej...
No to jazda, czyli łopatologicznie. Wyobraź sobie, że odrabiasz lekcję, ale dostajesz łopatą w łeb od ojca, który w ten sposób informuje cię, że woda się gotuje. Więc ty natychmiast przerywasz pracę i biegniesz ją wyłączyć, zrobić herbatę, a potem wracasz do lekcji. I teraz tak: 1. Lekcje które odrabiasz to jakiś kod, który sobie leci 2. Łopata w łeb...
Tak negatory to IC2. Służą one do sterowania silnikami DC poprzez mostki STA434A. Jeśli zabraknie prądu to silniki przestaną pracować i w zasadzie obojętne jest jaki będzie wówczas stan na wyjściach negatorów. Nie wiem też czy mostek pobierałby wtedy prąd czy nie, ale z tego co zrozumiałem to sam negator by pobierał dla utrzymania takiego stanu? Jeśli...
janbernat --> no to bądź łaskaw jeszcze raz zajrzeć do: http://www.zestawyuruchomieniowe.pl/23-z... i porównać co w takim zestawie masz ..... toż ten z tym ATtiny to jeszcze raz powiem ZGROZA ;) co tam masz? : biedny procek ATtiny2313, we/wy RS232 i to na kocich tranzystorach, wyświetlacze LED z możliwością LCD,...
Witam ...... dlaczego Atmega32? Przecież Atmega 16 ma takie same wyprowadzenia. Z tego co wyczytałem to różni się pojemnością pamięci. Czy z tego powodu wybór padł by na Atmega32? I drugie pytanie Wyjść/wejść i tak w uC jest niewystarczająca ilość żeby podłączyć wszystko bezpośrednio. Dlatego -tak myślę- Przyciski i LEDy trzeba połączyć multipleksowo....
Program na ATMEGA32 po dodaniu trochę mocy z PV przy pomiarach gdy idą duże prądy powyżej 10A na kanał się nie wyrabia, odczyty szaleją pokazując przypadkowe wartości napięć do 30V i prądów do 16A I w nowym będziesz miał takie same problemy, bo to nie wina procka tylko otoczenia które u ciebie jest pewnie na drutach. Pod takie sterowniki projektuje...
obsługa przycisków kierownicy bascom obsługa przycisków atmega32 obsługa przerwania
zmywarka dysze czyszczenie stm32 arduino programować otwarcie drzwi uzbraja
Lokalizacja pompy kondensatu w Emadp 82lcw Wartość kondensatora SMD oznaczonego ".1"