Polecam zapoznać się z priorytetami operatorów w języku C.
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ą...
Po pierwsze używaj znaczników SYNTAX dla łatwiejszego czytania składni. Druga sprawa, w twoim przykładowym programie źle ustawiony jest parametr F_CPU gdyż twoja atmega nie jest taktowana z 40MHz! Wpisz tam taka wartość w Hz jaka jest taktowana twoja Atmega. Podłączenie... Dioda przewodem do PC5 przy mikrokontrolerze. Przycisk przewodem do PB0 przy...
To się da o wiele prościej rozwiązać (timery w sumie też nie potrzebne). Wystarczy jedna zmienna np byte dla klawiszy i jedna zmienna bit jako znacznik dla pwm. Przejrzyj temat http://www.elektroda.pl/rtvforum/topic18... i pomyśl chwilę jak wykorzystać znacznik w moim programie żebyś mógł zrealizować to co chcesz...
I tak nie zadziała. Bo jeśli na raz wciśniesz więcej niż jeden przycisk, to żaden warunek switch nie będzie spełnony. Problem w tym, że wciśnięcie powinieneś sprawdzać jako wynik operacji maskowania, a nie poprzez porównanie (jak to robi switch). Ale można jeszcze inaczej. Odczytujesz PIN, sprawdzasz najmłodszy bit, jeśli przycisk wciśnięty to wywołujesz...
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...
Proszę o wyjaśnienie tematu flagi, najprościej dla topornych :D Właściwe wyjaśnił to kol: Potrzebujesz wprowadzić dodatkowe zmienne tzw. flagi. Niech przy starcie programu mają wartość 0, w pętli badaj stan przycisku i jeżeli wciśnięty zostanie przycisk pierwszy zmień stan flagi pierwszej na przeciwny, później sprawdzaj stan flag. Jeśli flaga jest...
Witam! Temat brzmi zapewne banalnie dla niektórych.. Nie, nie znalazłem odpowiedzi na moje pytanie w innych wątkach, chociaż jest ich mnóstwo. Zrobiłem banalny projekt z diodą led podpiętą przez rezystor pod pin PB0, przycisk z jednej strony zwarty do masy, a z drugiej podpięty pod pin PD6. Zabawa polega na tym że chciałbym zgasić diodę za pomocą guzika...
witam, Mam dziwny problem, może ktoś po prostu da prosta wskazówkę, będę wdzięczny, bo doświadczenia dużego nie mam, a konstrukcja prosta jak budowa cepa. automatyzuje pewna maszynę(dwa tłoki hydrauliczne dwustronnego działania spięte z rozdzielaczem hydraulicznym sterowanym elektrycznie cewkami 12V) program prosty w bascom: DO czekaj w pętli aż naciśniety...
Proponuję zrobić tak aby odebranie jakiejś komendy powodowało załączenie leda a odebranie innej jego wyłączenie. Stosując toggle stan na wyjściu nie dość że będzie się szybko zmieniał to jeszce nie wiadomo na co trafisz puszczając przycisk na pilocie.
Jeśli zwierasz przycisk do masy, to dodaj jeszcze na górze: PORTA=0xff; Aby wymusić na nim stan wysoki, gdy nie jest wciśnięty switch
Mając otwartego BascomaAVR i ATmega32 w programatorze, klikasz Manual Program , zakładka Lock and Fuse Bits , w grupie Fusebits High zmieniasz Fusebit H na 1: JTAG disable i klikasz na przycisk Write FSH . Musisz przy tym uważać, aby nie zmienić innych ustawień (chyba, że tego chcesz)
Spróbuj wgrać ten kod.[syntax=basic4gl] $prog &H00 , &H00 , &H00 , &H00 $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , E = Pinb.4 , Rs = Pinc.7 , Db7 = Pinb.3 , Db6 = Pinb.2 , Db5 = Pinb.1 , Db4 = Pinb.0 Config Pinc.2 = Input 'tego chuba nie używasz? Config Pind.1 = Input Przycisk Alias Pinb.7 'tego chuba nie używasz?...
Ja mam w BIOSIE EPP+ECP i chodzi bez problemu. Problem polega pewnie na nieskonfigurowaniu Bascoma. Zrób tak: 1. W Bascomie menu: Otions > Programmer 2. Jako typ programatora: ( Programmer ) Sample Electronics Programmer 3. Zafajkuj: Auto flash , Auto Verify , Upload Code and Data . 4. Zakładka Parallel : Port delay ja wpisałem 6000 (gdy miałem mniej...
http://obrazki.elektroda.pl/1481315600_1... Witam. Założenia zasilania : 1. Silniki do rolet oryginalne z własnymi wyłącznikami krańcowymi. 2. W każdym pokoju niestabilny przycisk do sterowania lokalnego + przycisk przy drzwiach wyjściowych. 3. Całość zabudowana we wnęce wykonanej w ścianie - na zewnątrz widać tylko wyświetlacz i trzy...
http://obrazki.elektroda.pl/4134553500_1... Witam. Chciałem wam przedstawić mój najnowszy ukończony projekt jakim jest kostka LED 4x4x4. Niestety na forum jest mało takich projektów, a ja usilnie chciałem mieć taką kostkę, aby była bezpośrednio połączona z płytką. (bez plątaniny przewodów na płytce uniwersalnej). Trafiłem na stronę...
http://obrazki.elektroda.net/71_12692978... Witam, Do niedawna byłem przeciwnikiem płytek testowych (zestawów uruchomieniowych) różnej maści. Zawsze wolałem sklecić sobie coś na szybko na płytce stykowej i już. Nie mniej jednak przy dużej ilości wpadających pomysłów do głowy (a mam ich ciągle bez liku jak na razie), w końcu braknie tych płytek stykowych,...
Witam !!! Mam pytanie chciałbym móc restartować uC samodzielnie tzn. z przycisku... Czy jest to możliwe ? i czy tak można robić... ? Jedyne co mi przychodzi do głowy to podłączyć pin "reset" pod GND przez jakiegoś switcha...-każde wciśnięcie to restart procka... proszę o rade... Dodano po 4 aha i jeszcze jedno... czytałem ze reset powinien być podciągnięty...
http://obrazki.elektroda.pl/3799930900_1... Jakiś czas temu pisałem, jak nagrywać gry z PC na PEGASUSA. Teraz pora podejść do tematu z drugiej strony – jak zgrać naszą ulubioną kolekcję kartrydży na komputer. Wiele osób może się dziwić, po co taki zabieg, zwłaszcza, że większość gier z tej konsoli krąży już po Internecie. Czasem...
Chciałbym wykonać funkcje do obsługi przetwornika A/C która po wciśnięciu przycisku wykonuje pomiary do czas aż nie wciśnęto innego przycisku. Poniżej zamieszczam kod który nie realizuje moich założeń. W poniższym kodzie nie wpisałem realizacji przetwarzania A/C zastąpiłem to migającą diodą. Wykorzystałem do tego funkcję do-while. Proszę o jakieś sugestie...
Użyłem tejże biblioteki [url=http://mikrokontrolery.blogspot.com... do obsługi dwóch przycisków które służą do poruszania się po menu (sterownik akwariowy).Procesor zasilany z oddzielnego źródła,gdy podpięty jest programator do komputera wszystko działa ,po odpięciu klawisze nie reagują. Celem sprawdzenia...
Witam, Napisałem program, który wprowadza uC w stan uśpienia. Wszystko działa poprawnie, ale do tej operacji używam dwóch przycisków. Jeden służy mi do usypiania (PA1), a drugi, jako przerwanie do wybudzania uC (PD2-INT0). W jaki sposób mogę zrobić to na jednym przycisku podpiętym pod PD2? Poniżej kod. [syntax=c]#define F_CPU 8000000UL /*czestotliwosc...
Witam serdecznie mam mały kłopot z obsługa przycisku KEY3 jeśli nacisnę klawisz sw3 to zmienna powinna zmienić wartość na 1,a warunek do obsługi klawiszy KEY2 i KEY1 powinien być spełniony, niestety nie działa :([syntax=c]/* * main.c * * * */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define KEY1 (1<<PB0)...
Witam jestem początkujący i napisałem taki program: Proszę zapoznać się z poniższym linkiem i dostosować posty do zasad w nim zawartych. http://www.elektroda.pl/rtvforum/topic34...
$regfile = "m8def.dat" $crystal = 1000000 Config Portc.5 = Input Config Portc.4 = Output Config Portb.0 = Output Portb.0 = 1 Portc.5 = 0 Portc.4 = 0 Do If Pinc.4 = 1 Then Portb.0 = 0 Else Portb.1 = 1 End If Loop End Portb.0 to dioda która ma gasnąć jeżeli naciśnie się przycisk (portc.4). Przycisk(krańcówka) podłączony jest z jednej strony...
Witam Mam dziwny problem z Atmegą 32 i nie wiem co jest grane. Do jednego z wyjść podłączona dioda led i po naciśnięciu przycisku menu ma się zaświecić. Ja nawet nie dotykam przycisku a leda cały czas mruga - nawet jak przycik jest wypięty. Podmieniłem 2 inne atmegi32 i jest to samo. Ta głupota zjadła mi 2 dni. To samo się dzieje jeżeli do wysterowania...
Witam wszystkich :) W ramach nauki jezyka C (przesiadka z bascoma) napisałem taki program. Niestety zero odzewu ze strony switchy. Prosze o pomoc i z góry dziekuję :) Oto kod: /* * main.c * * Created on: 2011-02-28 * Author: adi84_84 */ #include <avr/io.h> #include <avr/pgmspace.h> #include "LCD/lcd44780.h" #include <util/delay.h>...
jestem bardzo początkujący więc pewnie pytanie będzie banalne :-) szukałem na różnych forach, próbowałem i nie wiem gdzie wrzucić w kodzie 2 przycisk... idea programu ma być taka: po włączeniu zasilania pojawia się na wyświetlaczu "witaj" i po naciśnięciu przycisku 1 mierzy napięcie (kolejne naciśnięcie=kolejny pomiar). I do tego miejsca wszystko działa....
Witam. Szukam programu obrotomierza zliczającego jedynie ilość impulsów i wyświetlający na LCD wynik, taki który dało by się uruchomić impulsami z przycisku.
http://obrazki.elektroda.pl/5985056000_1... Witam. Od razu przepraszam za jakość płytki drukowanej, dopiero uczę się je robić. Moją nową "zabawką" jest urządzenie, zwane "PseudoComputerem". Pomysł Wpadłem na pomysł urządzenia, które będzie posiadało coś na kształt interpretera. Wczytuje ono komendę w postaci kodu, następnie argumenty...
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...
http://obrazki.elektroda.net/39_12775659... Projekt: Sterownik panela słonecznego. Wstępnie będzie wykorzystywał pięć modułów takich jak: a) płyta główna, b) moduł zasilacza c) szyna, d) sterownik osi X, e) sterownik osi Y, f) moduł multi który obsługuje: - wyświetlacz HD44780, - klawiatura PS/2, - czujniki słoneczne osi X, - czujniki słoneczne...
a kondensatory filtrujące na zasilaniu procesora są ?
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) -...
http://obrazki.elektroda.pl/3404456500_1... Witam. Chciałem zaprezentować wykonaną przeze mnie płytkę testową dla procesorów atmel rodziny atmega w obudowach czterdziestopinowych. Założenia Głównym celem było zaprojektowanie płytki pod mikrokontroler atmega32 w programie Cadsoft Eagle na licencji freeware, czyli 10cm x 8cm z jak największą...
Żeby zrobić za pomocą Timera - to nie możesz używać trybu PowerDown tylko Sleep - żeby właśnie Timery mogły działać to po pierwsze. W taki trybie jednak będziesz miał nieco większy pobór prądu niż w pełnym PowerDown. Więc wszystko zależy na ile ma wystarczać bateria o ile jest to coś zasilane z baterii. Bez PowerDown'a na pewno będzie to sporo krótszy...
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...
Witam Obserwując poczynania pasjonatów mikrokontrelerów zauważyłem, że wielu z nich bazuje na płytkach stykowych. Pól biedy gdy nasz Atmel jest w obudowie DIP. Schodki zaczynają się z obudowami TQFP. Albo projektuje się gotowe urządzenie, albo zakupuje Arduino. Dlaczego by nie zrobi swojej małej płytki do testowania urządzeń? Dlatego właśnie powstała...
Przy częstotliwości rdzenia 8Mhz sygnał PWM będzie niestety prawie zawsze słyszalny (częstotliwość PWM będzie się zawierała w przedziale od 120Hz do 31kHz w zależności od preskalera). Ludzkie ucho potrafi zarejestrować częstotliwości do ok 20Khz natomiast wyższe odczuwamy jako dyskomfort (zatykający uszy pisk). Nie każdy to usłyszy bo zakres słyszalnych...
Akurat u mnie to nie działa, bo przycisk pauzy nie chce się zapalić, żebym mógł włączyć tą kontrolkę "disable debug wire and close"
DDRA=0xff; //port A jest portem wejściowym wg. mnie wyjściowym. Oczywiście wyjściowy. Wydaje mi się że tego typu warunek w zupełności wystarczy: if (bit_is_clear(PINB, 2)) { _delay_ms(100); DIODE_XOR; } Pzycisk musi być niezawodny, więc takie rozwiązanie odpada. Flagę " i "stosuje po to, aby zapobiec przełączaniu się...
sulfur - czemu clear? PIN B0 mam podciągnięty wewnętrznie do jedynki i naciskając przycisk zwieram go do masy, potem czekam aż znów będzie 1 [syntax=c]#include<avr/io.h> #include <avr/delay.h> #include <avr/interrupt.h> float k = 0; char bufor[10]; void inline na_tekst(float liczba) { dtostrf(liczba,4,1,bufor); } void timer_init()...
Np. BS170 G - bezpośrednio na pin procesora; załączenie tranzystora (podświetlenia) stanem wysokim S - na masę D - katoda diod/y podświetlenia
Napisałem kod dla zegara cyfrowego w Bascom. Ogólnie działa jak należy. Mam tylko problem przede wszystkim z budzikiem. Chcę aby podczas alarmu naciśnięcie przycisku 1(PORTD.0) wyłączało alarm(chodzi o sam dźwięk). Program nie reaguje. Nie mam pojęcia czy jest to wina tego, że nie nadąża z wykonaniem polecenia (za długie przerwania?) 2) Aktywowanie...
while (!(PINx & KEYx)) ?? Wtedy wpadnie w pętle z której wyjdzie tylko po wciśnięciu odpowiedniego przycisku.
http://obrazki.elektroda.pl/5599753300_1... Witam wszystkich. Właśnie ukończyłem wykonywać swój zegarek i chciałem go zaprezentować. To pierwszy projekt jaki umieszczam na forum więc proszę o wyrozumiałość. Sercem urządzenia jest mikroprocesor atmega32 taktowana kwarcem 11,059200 MHz. Czas odczytywany jest z układu Pcf8583 i aktualizowany...
Tak mi się wydaje czy nie było by lepsze właśnie użyć gotowych nadajników i odbiorników? Tylko to ma być że nie chce przesłać sygnał tylko zdalne sterowanie takie jakie jest w samochodzikach zabawkowych coś takiego. Wiec jakie polecacie takie urządzenia żeby były małych rozmiarów i niedrogie i łatwe podłączenie (sterowanie). Ale nachodzi pytanie ilu...
Po kolei: 1) sprawdź czy został przycisk naciśnięty, jeśli tak to 2) włącz buzzer 3) czekaj chwile 4) wyłącz buzzer 5) czekaj aż przycisk zostanie puszczony wolno
[syntax=c] #define Button (1<<PB0) #define Button_PORT PORTB #define Button_PIN PINB #define Button_DDR DDRB volatile _Bool Key_Pressed = 0; // flaga wciśniętego przycisku [/syntax] [syntax=c] Button_DDR &= ~(Button); //port - wejście Button_PORT |= (Button); //włącz pull up [/syntax] [syntax=c] ISR(TIMER0_OVF_vect)//przerwanie wywoływane...
http://obrazki.elektroda.pl/9835674900_1... Witam. Chciałbym się pochwalić moją nową konstrukcją Audio czyli wzmacniaczem do słuchania muzyki w domu, po pracy :) Obudowa: FS-042 z panelem alu na froncie. Końcówka mocy: Jak widać na załączonym obrazku wzmacniacz pseudo dual mono na popularnych układach LM3886. Minimalne obciążenie w...
Podłączę się trochę pod temat chodzi mi też o menu. Mianowicie robię obrotomierz z ustawianymi progami alarmów jak zrobić w menu ustawianie kiedy trzymam wciśnięty przycisk to zmieniają mi się nastawy najpierw o jeden, jak trzymam dalej przycisk to zaczynają się przestawiać o dziesięć następnie o sto. Bo klikać przyciskiem 1200 razy to raczej średnia...
Nie działa bo masz nie włączone podciąganie do plusa. Rejestry PIN nie służą do zapisu w tym procesorze (tylko w niektórych modelach zapis 1-dynki do nich powoduje zmianę stanu odpowiadającego bitu w rejestrze PORT). http://www.atmel.com/Images/doc2503.pdf - strona 64 Musisz dać dla każdego przycisku po instrukcji Config ... Input instrukcję Set Portd.x...
ż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?
Oprócz zasilania, AREFu, Resetu i pinów od kwarcu można podłączyć wszędzie gdzie Ci pasuje. Drugi pin przycisku najczęściej do masy.
Witam. Mam pytanie odnośnie sterowania wyświetlaczem HD4470. Procesorem Atmega32 wykonuję pomiar za pomocą dwóch czujników: ds18b20 oraz SHT75. Posiadam wyświetlacz 16x2. Chciałbym, aby na wyświetlaczu, po naciśnięciu przycisku nr 1 (microswitch) został wyświetlany pomiar temperatury z czujnika 1, a po naciśnięciu przycisku nr 2 pokazywał on wartości...
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.
No niestety .. to tylko symulator programowy, na jedną instrukcję AVR'a on musi wykonac tysiące.
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.
Witaj. Zacznij od na przykład tego: http://mikrokontrolery.blogspot.com/2011... i zaglądnij także do spisu treści oraz oczywiście datasheet mikrokontrolera. 1. Nie jeśli jest zasilany także z 5V. 2. tak, ponieważ włączasz wewnętrzny rezystor pull-up, który wymusza jedynkę na wejściu (pinie). Zwierając przyciskiem pin do...
Staram się przykładać stałą siłę docisku. Przycisk trzymałem nawet przez kilkanaście sekund i nadal to samo (styki powinny już dawno przestać drgać) - zmienna nieustannie się inkrementuje, przepłenia się i inkrementuje ponownie... czyli przerwania wywołują się nieustannie. Układ mam polutowany na płytce. Dodano po 4 Gdzieś musi być błąd w programie,...
Ja bym dodał jeszcze przycisk którym dałoby się zmieniać widok bez wchodzenia do menu.
atmega32 przycisk przerwanie atmega32 przycisk przerwać atmega32 przerwa przycisk
resetowanie baterii laptop mocny nagrzewać radio skoda czujniki cofania
indukcja amica używana gruntowa pompa ciepła
Volvo V60 2014 1.6 TDI – migający wskaźnik biegu, utrata mocy, check engine, tryb awaryjny Zabieraki kół: Budowa, funkcje i zastosowania