1.Każdy Timer działa niezależnie- to jest licznik sprzętowy działający jak zewnętrzny układ. To że został "wsadzony" w układ scalony OBOK procesora to tylko żeby użytkownikom było wygodniej. Dlatego nazywa się to "układem peryferyjnym", peryferiami itp. Takich "układów peryferyjnych" w mikroprocesorach jest dużo. Nie tylko liczniki ale też przetworniki...
http://obrazki.elektroda.pl/1899461000_1... Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części...
To ja przepraszam. Kolega ma dobrze schemat. Taki błąd zrobiłem jak się zaczynałem bawić z CAN, dopiero koledzy z Elektrody mnie poprawili. Za dużo ostatnio robię z UARTem ( odbiór GSM ). Kolega robi magistralę do domu, czy zamierza sczytywać dane z samochodu ? Jeśli to drugie to gorsza sprawa, bo producenci samochodów mają swoje implementacje. Jeśli...
Switch powinien być podłączony do masy, jeżeli nie dajesz zewnętrznego rezystora wymuszającego niski poziom na wejściu procka. Atmega posiada wewnętrzne rezystory podciągające do +5V dlatego lepiej aby stanem który jest wykrywany był stan niski switcha.
ok dzieki + 10 pkt
Switch musiałby robić za bramkę logiczną między dwoma układami - LED solo lub urządzenie solo.
Lub przekaźniki półprzewodnikowe; CD4066
Podręcznikowy przykład to jest taki, że zwierasz switcha do GND a nie do VCC. Za to rezystor wykorzystujesz do podciągnięcia linii do VCC. Można też pominąć rezystor i podciąganie włączyć programowo poprzez wystawienie jedynki na ten pin gdzie masz switch. A w warunku badasz czy jest ZERO a nie JEDEN jak w tej chwili.
Jeśli dobrze rozszyfrowałem te zdjęcie, to masz switch podłączony między GND a pin 15 AtMegi? Musisz dodać rezystor pullup od tego pinu do +5V lub włączyć wewnętrzny pullup ATMegi.
eh niestety coś innego musi być problemem
1. Przerwanie ADC (zapewne w ogóle zbędne) zżera b. dużo czasu na niepotrzebne obliczenia zmiennopozycyjne - moim zdaniem to jest główny błąd w programie. 2. Bezsensowny switch w obsłudzie odbioru UART. 3. MyDelay w przerwaniu UART - po co? W przerwaniu się nie czeka.
1. Odepnij od procesora wszystko poza programatorem; 2. Sprawdź ustawienia dip-switch/zworek (jeśli są); 3. Zrób uczciwy ChipErase[F8] i od razu zaptaszkuj "Erase chip before flash programming"; 4. Odczytaj FuseBity i je pokaż; 5. Jeśli ten programator jest z czymś zgodny, to pokaż również wartości odczytane przez AVRStudio.
Jedno bez zmian drugie sypie błędami ....... a może skasuj wszystko do switch (lcd_menu) i poukładaj to na nowo ........
Policz średni prąd pracy, to znaczy za jakiś określony czas, najlepiej wymiany akumulatorów. Średni, to znaczy 600mA*liczba godzin pracy czynnej + X mA*liczba godzin w uśpieniu + ewentualnie Y mA jakiś stanów przejściowych typu działanie czynne bez podświetlenia. Na tej podstawie możesz dobrać pojemność akumulatora lub określić czas pracy na założonym....
No nie bardzo. Pętle busy waits są w przerwaniu niewskazane. Zrób tak jak napisał (at)BlueDraco : odczyt poprzedniej konwersji-start następnej konwersji-wyjście bez czekania. [syntax=c]ISR(TIMER1_COMPA_vect) { switch(wejscie) { case 2: adc3=ADC; ADMUX = 0; ADMUX = (1<<REFS0)|wejscie; ADCSRA |= (1<<ADSC); break; case 3: adc2=ADC; ADMUX =...
tak jak pisałem nie podłączyłem tych diód, nie zdawałem sobie sprawy z tego że trzeba podłączyć osobo (płyta w szkole musi mieć pewnie styki zlutowane już na stałe, stad w jakiś stopniu w ogóle nie myślałem że będę musiał to zrobić, ale dużo mnie to nauczyło, teraz wiem żeby użyć przycisku switch podłączam je na wejścia ATmega itd ) Może ktoś mi tylko...
Brakuje również rezystorów podciągających przy switch-ach.
Dlatego trzeba dokładnie czytać DS. Output switch current to nie jest to samo co Output continuous current. W zasadzie z tymi DS to jest jak z politykami- kłamią. Tylko w bardziej subtelny sposób. Jak się wczytasz dogłębnie to nie ma się do czego przyczepić.
Cześć 1. Czy zasilanie mikrokontrolera może być z tego samego źródła co zasilanie diod, np. z USB. Czy minus doprowadzony do wszystkich elementów budowanego układu może być pociągnięty właśnie z portu USB (uC, diody, wyłącznik, kwarc)? Czy plus może być ten sam do diod i uC? Nie wiem dokładnie jak to jest z USB, bo jak daje +5V i -5V to jak -5V uznasz...
Witam, mam problem jak wykonać projekt, który będzie odbierał / wysłał informację z Arduino na Atmegę 328p-pu zamieszczam opis: Elementy zestawu: Arduino 2560, Atmega 328, dioda, switch. chciałbym zrobić coś takiego: zostaje wciśnięty przycisk sygnał został wysłany do Atmegi a poźniej ona wysyła sygnał do Arduino informację, że został wcisnięty przycisk,...
Napisz co te warunki mają robić (słownie) to Ci napiszę nowe. Zdajesz sobie sprawę, że ten warunek if( !++key_lock ) będzie spełniony tylko wtedy, gdy key_lock przed inkrementacją ma wartość 255? R Dodano po 2 Może coś krzaczy się podczas zaniku napięcia, próbowałeś ustawić BOD level w fuse bitach? Jeśli podczas zaniku napięcia nie używa przycisków...
I Już widzę światła sterowane masą. Chyba jednak nie... cytat z dokumentacji: Headlight: Headlight switch OFF (Below 1.0V), Headlight switch ON (B+, czyli Battery positive voltage ~12V)
AVCC is connected to the ADC through a passive switch. The internal 2.56V reference is generated from the internal bandgap reference (VBG) through an internal amplifier. In either case, the external AREF pin is directly connected to the ADC, and the reference voltage can be made more immune to noise by connecting a capacitor between the AREF pin and...
Witam serdecznie tak jak w temacie poszukuję pomocy programowej, mianowicie chodzi mi o sytuację gdy po czterokrotnym wciśnięciu switcha zapala się led, niby prosty problem, jednak mam problemy z realizacją tego problemu. Wszelkie rady mile widziane, dysponuję procesorem atmega 644p 328p. Pozdrawiam!
Przy wyświetlaczu musisz linie R/W i DB0-DB3 zewrzeć do masy. Jedna dioda nie podłączona. Rezystory do LEDów 1 k ? nie za dużo ? W czym ten schemat, bo dziwny jakiś takiś ;-) 1. R/W jest wpięte do masy. 2. Co do DB0-DB3 czy jestes pewny, że jest to konieczne? 3. Która dioda jest nie podłączona ,wg mnie obie są. 4. Schemat jest w eaglu, dziwią ciebie...
Witam Oto kod w języku C. Odnośnie schematu - będzie wszystko działało prawidłowo, gdy zastosujemy diody LED niskoprądowe (np. /*Czestotliwosc taktowania procesora 1 MHz (korzystamy z wewn. RC 1MHz) *Procesor ATmega 8 */ #define F_CPU 1000000UL #include <avrio.h> #include <utildelay.h> #define Czas_zalaczania 400//Czas oczekiwania...
http://obrazki.elektroda.pl/4553573800_1... Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł! Poniżej...
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ę...
a = 0; b = 0; if (Serial.available()) { a = Serial.parseInt() ; //Serial.println(a); b = a%1000; a = a-b; a = a/1000; Na jakiej podstawie sądzisz że po takich obliczeniach zmienna a typu long będzie miała ładne okrągłe wartości: 1,2,3... Do instrukcji switch() lepiej stosować zmienne typu całkowitego.
Usunąłem kod obsługujący drugi kanał, bo była jakaś interferencja pomiędzy kanałami w wyświetlaniu. Powinno działać w miarę dobrze (sprawdzane na symulatorze): [syntax=c]#include <Adafruit_NeoPixel.h> //#define DEBUG_TEST_LEDS #define nonLinearLogAudio //#define DEBUG_PRINT_ANALOGVALUES //#define DEBUG_NO_PEAK_SWITCH const int useSensorValues...
Witam wszystkich w Nowym Roku :) Tak wygląda moduł (przepraszam za niewyczyszczony topik): https://obrazki.elektroda.pl/4858564700_... https://obrazki.elektroda.pl/9093440000_... Dokładnie: OPIS +3,3V na prawdę to P24 OPIS GND na prawdę to P26 https://obrazki.elektroda.pl/5100756100_... Rx Tx jak widać...
Też mi się wydaje, że włączenie w najwyższym punkcie to pomyłka. Artykuł cytowany przez kol. ablertb chyba wszystko wyjaśnia i już w pierwszym zdaniu: "A zero-crossover solid-state relay may be the worst possible method of switching on a transformer or a highly inductive load." mamy, że SSR włączany w zerze to najgorszy możliwy sposób na włączanie...
Mam poważne wątpliwości czy kombinacja softwareowego USB i synchronicznego (busy waits!) TWI ma szansę zadziałać. Chyba faktycznie te synchroniczne i2c nie działa, bo mi się rozłącza z usb. już się bawię z isr: nwm o co chodzi z tym attiny ale mi hardware nie działał choćbym się zesrał, ostatecznie na scl dałem mniej więcej taki https://obrazki.elektroda.pl/1633124600_...
Wiem, że to proste pytanie. Przejrzenie paru tematów nie dało mi jednoznacznej dpowiedzi. Czy da się tak zrobić? portB ustawiony na wejście. pinB.1 podciągnięty do masy. Pod pinB.1 podpięty switch (podciągający do V+) dioda LED podpięta katodą do masy i anodą do pinB.1. Uda się tak zrobić, żeby kontroler reagował na switch? Chodzi o to że naciskam switch,...
uP u mnie to Atmega więc z resetem nie ma problemu. Switch bardzo fajny. Szukam zintegrowanego rozwiązania w kataloguLineara http://www.linear.com/parametric/battery... Jak nic ni znajdę to w ostateczności obsługę on/off trzeba będzie zrobić w uP (jak w profesjonalnych urządzeniach)
Lepiej zainwestować w płytkę stykową do takich testów.
Wykres ten pokazuje, że dla trybu IDLE przy 4MHz i 1,8V, prąd pobierany przez uC będzie miał około 180-200uA. Można zadać pytanie, jakie działające peryferia są wtedy brane pod uwagę. W tym zakresie odpowiedź można znaleźć tutaj: 28. Typical Characteristics The following charts show typical behavior. These figures are not tested during manufacturing....
Działanie programu zaraz po napisaniu jest rzadkością, dlatego wymyślono testowanie. Program robiący więcej niż jedną prostą rzecz testuje się w taki sposób, że każdy element sprawdza się oddzielnie, a następnie integruje się całość dodając kolejne funkcjonalności (jak składanie z klocków lego) testując jednocześnie aktualnie zbudowaną całość. W rozwiązaniu,...
Podstawą pomocy jest komplet informacji od pytającego. W szczególności: - schemat lub opis połączeń - ok podałeś oznaczenie płytki... ale przypuszczam, że mało komu będzie się chciało szukać schematu - opis "co program powinien robić" oraz "co program robi w rzeczywistości" - to co obserwujesz, wynika dokładnie z Twojego programu... nie wiadomo natomiast...
a jak może być inaczej u ciebie skoro masz: S1 Alias Portb.2 S2 Alias Portb.1 czyli sprawdzasz wyjścia a nie wejścia mikrokontrolera wejścia są w Bascomie oznaczane jako Pin czyli powinno być: S1 Alias Pinb.2 S2 Alias Pinb.1 Dodano po 4 a tak w ogóle to pleceałbym ci jak najszybciej zapoznać się z funkcją Bascoma o nazwie " Debounce " oraz jak najszybciej...
Witam Robię projekt kompetencyjny, a jednym z jego elementów jest podłączenie w/w ATmegi do modułu ESP8266. Problem polega na tym, że pomimo wielu prób i konfiguracji, ciągle na wyjściu z mikrokontrolera otrzymuję śmieci. Sam moduł Wi-Fi jest sprawny, gdyż został sprawdzony. Wiem również, że ATmega pracuje na poziomie logicznym 5V, a ESP8266 na poziomie...
Wszystko co trzeba jest w dokumentacji: 1. Zmiana kanału: When changing channel selections , the user should observe the following guidelines to ensure that the correct channel is selected: • In Single Conversion mode , always select the channel before starting the conversion. The channel selection may be changed one ADC clock cycle after writing...
Twoja styczność z językeim C zaczęła się od właśnie tej książki? Skoro tak to może rzeczywiście można się z niej nauczyć programować w C choć ja mam wątpliwości (da się na pewno ale czy takim samym nakładem sił?). Znałem wcześniej C++ zanim ta książka wpadła mi w ręce więc nie będę się więcej wypowiadał na jej temat. Odnośnie różnic między C/C++ to...
No to mam "zagwozdkę". Ja zrobiłem to według jednego z opisów: Utworzyłem Dummy (Does nothing, use for virtual switches only) Kliknąłem Utwórz Wirtualne czujniki Pododawałem czujniki temperatury, ciśnienia, które mają swoje IDX http://obrazki.elektroda.pl/9206214000_1... Terminal pokazuje wysyłany ciąg > GET http://192.168.0.154:8080/json.htm?type=...
Mam problemy z szybkościa działania programu na AVR ATmega 32. CZy lepiej używa cinstrukcji switch/case : switch(x) { case 0x04: pozmen1--; //jak tutaj damy -- to się zamota bo typ unsigned jest ! break; case 0x03: pozmen1++; break; case 0x02: warstwa++; //we break; case 0x01: warstwa--; // wy break; } czy lepiej if-ów : if(x==0x04) pozmen1--; //jak...
Witam. Dziękuję za odpowiedź. Jeśli chodzi o układ uC to jest to Atmel Atmega 16 (16AU). Sprawdziłem sterownik, nie posiada zabezpieczeń. Krańcówki były podłączone pod nóżki 41 oraz 41 układu (IN2 : PB0/XCK/T0 oraz DS1 : PB1/T1). Przesyłam zdjęcie płytki sterownika od strony wlutowanego układu, na czerwono zaznaczyłem miejsca, które były podłączone...
Witam, myślę że można zrobić to dużo łatwiej. Potrzebny Ci będzie jeden pin z przerwaniem (może być puste) i pomysł na opóźnione przejście w tryb uśpienia.[syntax=c]void sleep_button(int is_pressed) { enum sbstate {SBSTATE_IDLE, SBSTATE_SLEEP, SBSTATE_WAKEUP}; static enum sbstate state = SBSTATE_IDLE; static unsigned int tp; switch (state) { case SBSTATE_IDLE:...
Napisz wyświetlanie od nowa - w tym kodzie wszystko jest źle. Zdefiniuj obrazy cyfr w postaci tablicy stałych indeksowanej wartością cyfry. Wyrzuć procedury wyświetlania cyfr i switche, które je wywołują - to wszystko razem da się zrobić w jednej linijce kodu, a u Ciebie zajmuje to ponad 120 linii. Wyświetlacz multipleksowany MUSISZ obsługiwać w przerwaniu...
Tak jest to dość istotne... Do pomiaru używany jest 16-bit'owy timer 1 (atmega162 ma dwa ale po takim ogólnym rzucie okiem na pdf wygląda na to, że nie ma różnic w konfiguracji)... Co przy częstotliwości taktowania 8MHz prescalerze 8 daje max ~65,5ms przy dokładności do 1us... Poniżej fragment kodu który mierzy czas trwania stanu wysokiego... ... volatile...
Schemat błędnie "narysowany", katody tyrystora do GND (minusa). Powiedzcie mi jeszcze jak tym sterować. Steruje program zapisany w µC a zmiana rodzaju świecenia następuje po naciśnięciu brakującego micro switch_a (K1).
Jesli zasilanie bedzie z programatora to musze diody? Zawsze gdy uzywalem zasilania z programatora, diody sie nie palily.
Hej, bez wnikania w szczegóły, to w przykładzie z pierwszego postu widzę raczej jeden wątek. Cała zawartość pętli wykonuje jakoś algorytm (który najpierw powinieneś ułożyć). Pomijając rtos (co to za pomysł?) program mógłby wyglądać tak:[syntax=c] przerwanie_timera(); while(1) { zadanie1(); //mruga zielonym jak jest ciepło zadanie2(): //miga czerwonym...
Ja stosuję taką procedurę inicjowania nadawania: char SetupCC1000TX (char TXCurrent) { int i; char lock_status; WriteToCC1000Register (CC1000_PA_POW,0x00); // Turn off PA to avoid frequency splatter WriteToCC1000Register (CC1000_MAIN,0xE1); // Switch into TX, switch to freq. reg B WriteToCC1000Register (CC1000_PLL,TX_PLL);...
Nie da się. Masz przy pomocy rejestru PORT możliwość albo Pull up albo wejście bez podciągnięcia. Innej możliwości nie ma. Właśnie dlatego taka obsługa switchów jest tak rzadko stosowana. Zmierz napięcie na wejściach. Powinny mieć wartość w pobliżu 0V. Dopiero po naciśnięciu switcha ma rosnąć do 5V. Podłącz rezystory np 1K do masy i zobaczysz czy to...
Witam, Niedawno wpadł w moje ręce wyświetlacz 4.3 cala z rezystancyjnym panelem dotykowym oraz procesorem graficznym FT810. Pierwsze co to poszukałem sobie informacji na ten temat oraz znalazłem książkę Pana T.Francuza oraz dołączone do niej biblioteki dla układów FT8xx. Przykłady są napisane dla AVR i ARM i wydawało by się że to formalność by napisać...
Witam, gdzieś kiedyś widziałem schemat i kod programu do załączenia i rozłączenia zasilania atmegi 8 jednym switch i tranzystorem chyba BC547 ale nie mogę tego znaleźć ... Działało to na zasadzie gdy przycisk przytrzymany 5 sekund to załączył atmega gdy znów przytrzymany to wyłączył. Czy ktoś pomoże i wie jak to najłatwiej zrobić?
Jak to zrealizowac w kodzie? dokladnie tak jak napisal mietekn - porownujesz stan portu ze stanem z poprzedniego porownania - jesli sie zmienil (XOR) - to cos sie stalo - przycisk zostal puszczony/nacisniety. inne operacje logiczne pozwola wykryc tylko wcisniecie, albo tylko puszczenie przycisku. przykladowy kod, tym razem na ARMa, pracujacy nie w...
Nawiązując do mojego postu (http://www.elektroda.pl/rtvforum/viewto... (chyba nie powielam tematu) chciałbym sie dowiedzieć czy ktoś tu wie i chciałby się ze mna podzielić wiedzą czy istnieje jakiś układ przełączający (jakiś switch lub multiplexer) który przelaczalby dwa wejscia/wyjscia pomiedzy roznymi ukladami. Wyjasnie to na przykladzie:...
http://obrazki.elektroda.pl/3803245500_1... Witam! Chciałem przedstawić mój układ kostki sześciennej (4x4x4), który ostatnio stworzyłem. Zainspirowany http://obrazki.elektroda.pl/5944479000_1... GALERIA: Diody: http://obrazki.elektroda.pl/8405504800_1... http://obrazki.elektroda.pl/4483657100_1...
Witam. Skonstruowałem sobie płytkę testową plus do tego peryferia (diody, switche), ale to już na innych płytkach. Dzisiaj dostałem wreszcie atmege, zlutowałem wszystko i problem wynika taki iż gdy atmega jest wlutowana (siedzi w podstawce na płytce której schemat poniżej) podłączam ja pod STK500 (podróba z allegro) to wykrywa mi jak chce, 1/4 podłączeń...
switch(n&0x0E) //bo liczby większej od 14 nie wyświetlimy => licznik działa jak sekundnik wyświetlając liczby w sekwencji co druga
zostala mi (chyba) dzialajaca atmega168. Stad moje pytanie - czy moge ja zaprogramowac jakims programem bez programatora, jesli moj komputer ma zlacze rs232? Pracuje na Linuxie. Twój procesor prawdopodobnie ma ustawione fusebity na zewnętrzny rezonator 16MHz, zatem potrzebujesz podłączyć do niego rezonator kwarcowy z dwoma kondensatorami (oprócz zasilania...
Używam jeszcze biblioteki <Adafruit_SSD1306.h>, która dosyć sporo zajmuje i szukam ewentualnie jakiejś alternatywy. Co do kodu, to jeśli komuś będzie chciało się go przejrzeć i ktoś coś wyłapie, to wklejam go niżej. Wiem tylko, że jeszcze niektóre powtarzające się funkcje mogę zamienić na jedną zamkniętą w pętli. [syntax=c]#include <SPI.h>...
koledze chodzi chyba o to, że jego while wygląda tak: [syntax=c] while(1) { uint32_t pozycja, TCNT1temp = TCNT1; pozycja = TCNT1temp * 360 / zawartosclicznika1 ; //obliczanie pozycji śmigła pozycja = 360 - pozycja; // przeciwny ruch wskazówek zegara switch ( pozycja - 6 * sek ) // wskazówka sekundowa { case 0: wyslij (0xFFFFFF); break; } [/syntax]
http://obrazki.elektroda.net/84_12432519... Przedstawiam kolejną wersję zegarka binarnego. Układ oparty na ATMEGA168V i układzie RTC DS1337, który w przeciwieństwie do DS1307 może pracować z niskimi napięciami zasilania. Zastosowałem typowy zegarkowy rezonator ceramiczny 32,768kHz 6/2mm. Płytkę zegarka wykonałem z b.cienkiego laminatu z drukiem...
1. Dlaczego każdy bit przechowujesz na 16 bitach w pamięci RAM (typ int) zamiat trzymać po 8 bitów w jednym bajcie pamięci Flash? 2. Co pisze kompilator o zajętości pamięci RAM? 3. Skróć program min. 20-krotnie, wyrzuć wszystkie switch() i użyj prawdziwej pojedynczej 2- lub3-wymiarowej tablicy do przechowywania obrazów znaków. W ten sposób całe wyświetlanie...
1. Disable the Timer/Counter2 interrupts by clearing OCIE2 and TOIE2. 2. Select clock source by setting AS2 as appropriate. 3. Write new values to TCNT2, OCR2, and TCCR2. 4. To switch to asynchronous operation: Wait for TCN2UB, OCR2UB, and TCR2UB. 5. Clear the Timer/Counter2 Interrupt Flags. 6. Enable interrupts, if needed. DS pod tym względem trochę...
kod ( właściwie część dotycząca PCF8574AP ) Piny P.0 - P.4 do switchy, podciągnięte do VCC przez rezystor 10 K, wyjście INT układu PCF8574 podciągnięte przez rezystor 10k do VCC Poprzedni układ był na Atmega328, ten jest na Atmega1284P Przy uruchomieniu jest tak, że miga pierwsza opcja menu - ustawienie minut, na przemian z tym co powinno być wyświetlane...
Buduję alarm samochodowy z wykorzystaniem atmega8. W pilocie będzie zastosowana bateria 12V i teraz moje pytanie jak rozwiązać zasilanie procka. Zastosowanie stabilizatora 5V przy ciągłej pracy jest wykluczone, bo sam stabilizator nawet w stanie spoczynku "skonsumuje" całą baterię w klika godzin. Zasilanie procka w momencie wciśnięcia switch-a, też...
Czy znajdę płytkę o wyglądzie mniej więcej jak małe arduino-attiny 85 (śledź USB i niewiele więcej). raczej bliższa kwadratowi niż długiemu prostokątowi (aby nie złamać) Wymogi: procesor z "prawdziwą" kompatybilnością z USB (jeśli atmega to U4 itd...) jeden prosty switch na płytce byłby dodatkowym bonusem. wielokolorowy LED to już szczyt szczęścia pamięć...
Mam za oknem w bloku 120W panel ładujący dwa akumulatory do pracy cyklicznej 2x26Ah współpracujący z kontrolerem STECA 10A. Cała instalacja oświetleniowa jest niskonapięciowa 12V - żarówki FOCOS oraz taśmy LED - pozwalająca również na zasilanie urządzeń - modem internetowy , switch oraz laptop - dodatkowo monitorowana przez sterownik na ATMEGA 32 z...
Hmm, przygotowałem taki schemat pcb pod klawiaturę matrycową o rozmiarze 4x5. http://obrazki.elektroda.pl/8909660200_1... Zastanawiam się jeszcze nad jedną rzeczą. Mianowicie microswitch ma 4 piny. Moje logiczne myślenie podpowiada mi że są one parami, czyli że dwa pierwsze są połączone i w momencie wciśnięcia zwiera je z dwoma pozostałymi....
Witam. Stworzyłem sobie układ, który wygląda jak na zdjęciach. Problem tkwi w tym, iz atmega nie trzyma żadnych ustawień(ustawiłem rtc, po zrestartowaniu godzina i data jest całkiem inna od tej ustawionej), za nic nie mogę zmusić dht11, aby wyświetlał temp. Co robię źle? Kod wygląda tak: [syntax=c] #define przycisk1 9 #define przycisk2 10 #define d...
Chce wykonać pomiar prądu pobieranego przez atmege i diode. Czyli nie masz amperomierza? Jeżeli nie masz amperomierza, to jaki masz woltomierz - wiarygodny? Prąd diody nie płynie przez Rb podłączony do Vcc (ale to zapewne wiesz). Czy dobrze rozumie, że druga próba dotyczyła podłączenia Rb (zamiast w miejscu jak na schemacie) pomiędzy pin masy ATMEGA,...
Witam Jestem początkujący. Robię sobie taki kursik z youtube, zaprojektuj i zbuduj, programowanie mikrokontrolerów, na lekcji 24 próbuje napisać nieco sprytniejszy program niż ten zaproponowany przez Panią Darię. Program ma przy użyciu 2-óch wyświetlaczy 7-segmentowych liczyć od 0-99 i od nowa. Program jest podzielony i wygląda tak: /* cel:licznik przy...
Witam kod do nadajnika może wyglądać tak: #include <avr/io.h> #define F_CPU 1000000UL #include <util/delay.h> #include <avr/interrupt.h> //set desired baud rate #define BAUDRATE 1200 //calculate UBRR value #define UBRRVAL ((F_CPU/(BAUDRATE*16UL)&... //define receive parameters #define SYNC 0XAA// synchro signal...
Mam problem z przełączaniem bitów Założenia programu są następujące Program przez określony czas ma włączyć 2 diody oznaczone Pompka1 i Pompka2 oraz wyłączyć Napowietrzacz po upływie czasu ma przełączyć tz: wyłączyć Pompka1 i Pompka2 oraz włączyć Napowietrzacz po upływie drugiego czasu znowu ma przełączyć. Niestety program nie działa dobrze Diody działają...
Przykładowy program który wyświetla jakąś liczbę: [syntax=c]volatile uint16_t disp=0; uint8_t buff[]={0b11000000, 0b11111001, 0b10100100, 0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000, 0b10000000, 0b10010000, 0b10001000, 0b10000011, 0b11000110, 0b10100001, 0b10000110, 0b10001110}; ISR(TIMER0_OVF_vect) { static uint8_t dig=0; static uint16_t...
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
Najprościej odpalić timer i w przerwaniu wystawiać dane i przełączać segmenty przykład: ISR(TIMER1_COMPA_vect) { switch(wysw) { case 0: PORTD = 0b1111110; PORTB=cyfra[jednosci]; wysw++; break; case 1: PORTD = 0b1111101; PORTB = cyfra[dziesiatki]; wysw++; break; case 2: PORTD = 0b1111011; PORTB =...
Parę uwag co do stylu pisania- Stosuj wcięcia, wtedy łatwiej się połapać który End if jest od którego ifa. I spróbuj pogrupować warunki z miesięcy i dni. procek ci podziękuje większą wydajnością: [syntax=basic4gl]'######################... STYCZEŃ ########################################... If Month = 1 Then : '###############################...
Jeżeli robiłeś płytkę używając funkcji "switch to board" to 12V poszło na uC dlatego że te wszystkie VCC dla programu to jedna linia zasilania, żeby to zmienić w schemacie to zmień nazwę lini zasilania przy mostku na np. 12V. Co do samego schematu to dodaj przy uC chociaż jeden kondensator elektrolityczny 100u. Przy mostku na każde wejście zasilania...
https://obrazki.elektroda.pl/9342271000_... Dzień dobry, Urządzenie powstało w celu monitorowania poziomu wilgotności w pewnej zamkniętej przestrzeni. Przekroczenie zadanego poziomu jest sygnalizowane sygnałem dźwiękowym (buzzer) i świetlnym (LED). Wartości z ostatniego pomiaru można w każdej chwili odczytać, po naciśnięciu przycisku,...
Ale to jest rozszerzenie specyficzne dla gcc, język C nie dysponuje takim mechanizmem! W efekcie kod staje się nieprzenośny, a nic na tym nie zyskujemy, bo z takiego zakresu nie da się zbudować sensownej look up table, w efekcie niczym się to nie różni od serii ifów. Człowiek nic nie napisał o kompilatorze więc przyjąłem że standardowo korzysta z GCC...
mam zrobić projekt na studia (który musi zawierać elementy elektroniki z której jestem niestety kompletnie zielony bo studiuje informatykę). To jest https://obrazki.elektroda.pl/5754559700_... Pisanie programu dla : - osobne układy ATmaga aplikacja np. AVR STUDIO i wymaga do wczytania Programator. - gotowy Moduł Arduino na ATmegach...
zster, to co już mam jest w pierwszym poście. W skrócie, chcę zrobić emulator CAN. Rozumiem to tak- mam załóżmy przełącznik dwupozycyjny. W pozycji 1 arduino, czy tam atmega ma się uruchomić i zainicjować CAN 500kbps i wysyłać 1 zestaw ramek w kółko aż do wyłączenia. W pozycji 2 ma się uruchomić i zainicjować CAN 125kbps i wysyłać inny zestaw ramek...
Kolego RSP, nie wiem skad ty bierzesz te dane na temat TRANSILI ale niestety nie maz racji(wydaje mi sie ze ja mowie o transilach a ty o TRISLIACH), moze lepeiej znasz sie od producenta ? , Poswiecilem troche czasu i znalazlem na stronie : http://www.st.com/stonline/books/pdf/doc... TRANSIL / TRISIL COMPARISON Electrical characteristics The Transil...
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ą...
[code]Witam , złożyłem prosty układ na płytce stykowej który po wysłaniu znaku 'A' zapala diode, ale jak w tytule coś poszło nie tak , moduł bt jest podłączony przez konwerter do mikrokontrolera (oczywiscie Rx i Tx zamieniłem), do zasilania konwertera (Low)zastosowałem dzielnik napiecia co daje 3,3 / 3,2 V , co do aplikacji stosowałem bluetooth controller...
Twój problem prawdopodobnie polega na tym, że stosujesz instrukcje: [syntax=c]ISR(ADC_vect) // Obsługa przerwania po zakończeniu konwersji ADC { if(wsk_kan==1) { ... wsk_kan=2; } if(wsk_kan==2) { ... wsk_kan=3; } if(wsk_kan==3) { ... wsk_kan=1; } } [/syntax] Przeanalizuj krok po kroku powyższy uproszczony Twój kod, gdy na początku wsk_kan = 1 i wykona...
[syntax=cpp] #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define wys1 PORTA = 0b11111110 #define wys2 PORTA = 0b11111101 #define wyl PORTA = 0xFF; int cyfra(int _cyfra); char licznik = 0; int w1, w2, i; SIGNAL(SIG_OVERFLOW0) { if (i==1 ) { wyl; PORTB=cyfra(w1); wys1; i=0; } else {...
Hej :) Chcę podłączyć 3 czujniki odległości do kanałów ADC (porty PA1, PA2, PA3) i odczytywać z nich pomiary przez cały czas. Ponieważ po przetestowaniu czujników doszłam do wniosku że pewne czynniki wpływają na niestabilność pomiaru, chcę jako ostateczny wynik wziąć średnią arytmetyczną z 8 pomiarów przeprowadzonych w trakcie jednego cyklu pomarowego...
Witam serdecznie! Przejdę od razu do sedna. Napisałem program do megi328, z przerwaniem INT1, odpowiednio poustawiałem rejestry, uruchomiłem globalną obsługę przerwań sei(), i niestety atmega po podłączeniu zasilania od razu wykonuje przerwanie, mimo, iż switch nie został wciśnięty, wiem, że tak się dzieje, ponieważ w przerwaniu dla przykładu zapalam...
(at)kisoft - ale po to są właśnie krzywe ładowania i konieczność rozpoznania z jakim akumulatorem mamy do czynienia. Jak jest manualny switch do wyboru typu akumulatora (i co za tym krzywej ładowania) to normalne, że niebezpiecznie jest podłączyć inny aku. A jak ktoś wyprodukował bubel, który ciśnie prądem i podnosi napięcie niezależnie od stanu naładowania...
http://obrazki.elektroda.pl/3951584300_1... Witam. Chciałbym zaprezentować płytkę testową mojego projektu. Służy ona do testowania układów na ATtiny2313 lub ATmega16/32. Jestem początkującym w dziedzinie pisania programów w BASCOM, więc postanowiłem zrobić płytkę testową, która spełniałaby moje wymagania. Główne cele: -wyświetlacz LCD...
Witam, planuje wykonanie sterownika w wersji 5.2 (bez PH, taki mi wystarczy w zupełności). Chciałbym do Skalara podpiąć także karmnik który już mam i tu moje pytanie: jak mógłbym to zrobić? Z tego co się dowiedziałem to da się włączać wyjścia sterujące na co najmniej minutę - ja bym potrzebował albo jeden impuls który zwarł by switch karmnika, albo...
Robiąc matrix sporo pinów oszczędzisz. Powiem szczerze że z Twojego schematu niewiele jestem w stanie wyczaić, może dlatego, że sam zawsze nazywam sygnały i nie prowadzę połączeń klasycznie- bo oczopląsu dostaję jak widzę dziesięć linii obok siebie i du...a z dalszej roboty ;) Ale co autor to inaczej woli ;) Dlatego bardziej się skupiłem na Twoim opisie. Czy...
Nie dałeś kondów przy switchach, więc możesz mieć problem z ich tzw. drganiem. Poza tym nie napisałeś co to ma robić. Pamiętaj, że z jednego portu nie zapalisz więcej jak 5 ledów a z całej atmegi nie więcej jak 10, bo mega nie wyrobi prądowo.
twoj sposob z 21 if'ami jest bezsensowny, on nie ma prawa dzialac z prostego powodu, ze testujesz, czy wynik ANDa portu i jakiejs stalej jest wiekszy od 0. np twoje 01101 & 00001 => 00001 i if sie wykonuje. po pierwsze wiec nalezaloby wykonac instrukcje switch/case, bo ladniej wyglada i jest optymalniejsza, a po drugie przyrownywac stan portu, a nie...
Brutus: 0xf to to samo, co 0x0f, 0x000f, 0x0000000f itd. Nie wypisuj bzdur, bo wprowadzasz ludzi w błąd. Procesor wszystkie liczby zapisuje wyłącznie w postaci binarnej i jest mu wszystko jedno, jakiego zapisu stałych używa programista - dziesiętnego, szesnastkowego, ósemkowego, binarnego czy znakowego. Nawet w jednej instrukcji switch możesz dla poszczególnych...
atmega switch atmega switch schemat dioda switch atmega
firmware błąd wgrania przetwornica podświetlić klaskacz schemat
płyta główna stacja bramowa dahua
Ustawienie dekielka silnika Silma E3208N względem obudowy – szczotki, neutral-plane, regulacja Bosch Athlet ProPower 28V – wymiana szczotki nie przywraca działania, BCH6/65, brak reakcji