https://obrazki.elektroda.pl/2823437700_... Motywacja Naprawiając różnego rodzaju joysticki od konsol retro, niezbędną potrzebą była diagnoza stanu takiego urządzenia. Każdorazowe wyciąganie innej konsoli z szuflady, podłączanie do niej kontrolera, włączanie TV, szukanie odpowiedniego kartridża z grą, aby móc przetestować wszystkie...
Program ważna rzecz, ale z tego co widać anodę diody podłączyłeś do uK a katodę do masy, czyli niby prawidłowo a jednak nie. Uk mają to do siebie eż ich wydajność prądowa na port jest "mała". W przypadku Atmega8 absolutnie max prąd na pin wynosi 40mA. Diody powinny być podłączone odwrotnie czyli plusem do zasilania a minusem do portów uK. Wtedy dioda...
Witam Mam atmege8 i zaczynam do programować w eclipse. Chciałem wgrać ten program: [syntax=c]#include <avr/io.h> #include <util/delay.h> #define LED (1<<PC0) #define LEDOFF PORTC |= LED #define LEDON PORTC &= ~LED #define DELAY _delay_ms int main ( void ) { DDRC |= LED; LEDOFF; }[/syntax] I nie chce mi on działać. Działa tak że...
to jest tranzystor bc557c i dla grupy C znalazłem w datasheet, że jest tyle własnie, czyli podsumowując jak dam rezystor 10k będzie ok?, dla sprawdzenia podłączyłem sobie katodę diody led do nóżki emitera, a anodę przez rezystor do zasilania, i trochę się zdziwiłem bo jak tranzystor nie przewodził tzn na bazie była "1" logiczna to dioda się lekko świeciła,...
tylko ja zrobiłem sobie dodatkowa płytkę gdzie mam złącze 10 pinowe i tylko je odpowiednio podpiąłem do pinów atmegi, nie mam płytki stykowej ani innej żeby zmontować układ tak jak chciałem żeby działał tzn jakąś płytkę z 2 przyciskami i dioda chodzi mi oto czy bascom albo jest inny program na kompa, który sprawdził by czy jest ten program wgrany i...
Cześc, wstyd mi pisać bo jest to kolejny temat LAIKOWSKI, i nic nie wnoszący bo raczej nikt nie będzie miał takiego samego problemu jak ja: Wytłumacze: Wczoraj podłączając kamere z grzałką w obudowie, przyszedłem do domu ząłączyłem zdalnie grzałkę, cała płytka z zasilaniem wszystkiego routery kamery sterowniki avr itd, była obsadzona tymczasowo na zasilaczu...
Witam. Chcę zaprogramować procesor Atmega 8, tak aby po przyciśnięciu przycisku1 zapaliła się dioda i świeciła do momentu zwarcia przycisku2. (przyciski zwierane do masy) Napisałem taki program, lecz w efekcie dioda cały czas świeci. Nie wiem co jest źle, może ktoś zauważy jakiś błąd: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config...
Mam dziwny problem. Piszę sobie program o takiej treści: $regfile = "m8def.dat" Config Pinb.0 = Output Config Pinb.6 = Output Config Pinb.7 = Output Config Pind.5 = Output Config Pind.6 = Output Config Pind.7 = Output Led1 Alias Pinb.6 Led2 Alias Pinb.7 Led3 Alias Pind.5 Led4 Alias Pind.6 Led5 Alias Pind.7 Led6 Alias Pinb.0 Do Set Led1 Reset...
Nie wiem co robię źle, że dioda zamiast mrugać świeci się cały czas. Program napisany jest w C. Program #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { /* Wszystkie linie portu D będą wyjściami */ DDRD = 11111111; /* Początek nieskończonej pętli */ while(1) { PORTD = 00000010;...
Witam, domyśliłem się, że gotowców nie robicie (w sumie to i dobrze:) ), tak więc zabrałem się sam za programowanie. Chcę napisać prosty program zapalający diodę, podłączoną do bitu 0 portu B, po przyciśnięciu przycisku podłączonego do bitu 0 portu D. Teoretycznie napisałem, ale nie chce to działać. Znalazłem link na forum gdzie problem był opisany,...
Witam wszystkich, od dawna czytam to forum i zawsze znalazłem na nim odpowiedz na moje pytania tym razem jest inaczej wiec postanowiłem założyć konto i poprosić o pomoc a mianowicie Zakupiłem programator USBASAP uC atmega8 napisałem w programie bascom-avr nastepujacy kod: $regfile = "m8def dat" $crystal = 1000000 config pind.0 = output led alias pind.0...
Mam takowy programik w C : #include <avr/io.h> int main (void) { int i=0; DDRB=1; PORTB=0xFF; for (;;) { PORTB|=_BV(0); for(i=0;i<1000000;i++); asm volatile ("WDR"::); PORTB&=~_BV(0); for(i=0;i<1000000;i++); asm volatile ("WDR"::);...
Witam Jestem mega poczatkujacym w tej sprawie ;) Posiadam kupioną Atmege8 + zbudowany programator pod PonyProg'a Problem polega na prostym symulowaniu migajacej diody ( standardowe zapalanie ,gaszenie,0/1 ). Bascom-AVR : $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output Do Waitms 5 Portb.0 = 0 Waitms 5 Portb.0 = 1 Loop End zrzucam...
Witam Dopiero zacząłem przygodę z mikrokontrolerami. Kupiłem programator USBasp i podstawke programującą. Do programowania używam BASCOM napisałem w nim taki prosty programik: $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Output 'pprt d jako wyjścia Portd = &B0000000 'wszędzie stan spoczynkowy-0 Do Portd.0 = 1 'zapal diode Waitms...
a gdzie masz Prescale?? i napisz sobie w programie że PWM1a=A i przy ustawianiu portów jako wyjściowych usuń " ' " bo masz napisany i to Ci knoci wszystko Do For A = 0 To 255 PWM1a = A PWM1b = A waitms 4 Next A For I = 255 To 0 Step -1 Pwm1a =A Pwm1b =A Waitms 4 Next I Loop cześć kodu z książki Marcina Wiązania A z tego co zrozumiałem z twojej wypowiedzi...
Witam 1. Proszę w google wpisać słowo klucz "AVR operacje bitowe" ( >> << & ^ ~) 2. Dobrze użyć #define do opisania co to jest LED0, LED1, jeśli zmieni się miejsce przyłączenia diody to później trzeba będzie pilnować każdego odwołania do takiej diody. 3. Nie ma potrzeby zmieniać stanu wszystkich 8 bitów portu D, wystarczy przesunąć ten...
Człowiek całą pore uczy sie na własnych błędach. To normalne - każdy z nas przez to przechodzi(ł) Tutaj najczęściej popełniane błędy w schematach A propo, dlaczego poprzednie ustawienie było błędne skoro inne programy ala mruganie diodami działało poprawnie? Niestety musisz sam dociekać, nie mam czasu na to by szukać przyczyny. Czy adc w połączeniu...
Dostałeś linka do przykładu praktycznego sterowania diodami, m.in sterowaniem jasnością za pomocą PWM, oraz źródła programu napisanego w języku C++. Diody podpina się bezpośredni do Atmegi, nic więcej nie potrzeba
:arrow: mog123 Pomysł ciekawy, ale w ten sposób możesz zapalić chyba tylko jednego LED-a na raz? Przy multipleksowaniu 1:160, to chyba nie będą zbyt jasno świecić...
Żeby sterować diodą za pomocą atmegi należy wykonać szereg kroków w odpowiedniej kolejności 1. poczytać o mikrokontrolerach 2. poczytać datasheeta od danego mikrokontrolera 3. zakupić układ, złożyć, podłączyć 4. napisać program, zaprogramować Pominąłeś dwa pierwsze kroki. Nie dziw się, że nikt nie chce ci odpowiedzieć. Po prostu rzeczy o które tutaj...
Napisałem sobie program lecz jak rozjaśniam to bardzo duzo razy trzeba klikać przycisk aby na maxa rozjaśnic lub ściemnić. Chciał bym aby tak rozjaśniało do maxa przy np 10 kliknięciach , takie 10 stopni rozjaśnie. Prosze o pomoc jak mam zmienić moj kod. Wsad: [syntax=basic4gl] Config Pinb.1 = Output '................ If........ Incr R '.................
Bascoma nie znam więc nie będę się w tym temacie wypowiadał. Natomiast uwaga co do multipleksowania: To nie ma sensu. 1.Nie będziesz mógł uśpić procesora, bo będzie musiał się zajmować odświeżaniem stanu diod. 2.Obniżenie poboru prądu dostajesz z tego, że każda dioda pracuje np. przez 1/10czasu. To samo możesz uzyskać zwiększając odpowiednio rezystor,...
Witam mam taki problem. W ciągu dnia diody dwukropka migają ale nie gasną zupełnie, a wieczorem jak jest ciemno to świecą ciągłym światłem. Diody mam 3mm czerwone rezystor dałem 470ohm bo były zbyt jasne. Muszę dodać że jestem kompletnym laikiem.
Te tranzystory trochę słabe, ale od biedy będą ok. Nie bardzo widzę tam tych tranzystorów na Twoim rysunku, dla jasności, ma być tak ja na tym rysunku: http://www.ermicro.com/blog/wp-content/u... A konkretnie po jego prawej stronie. Do bazy przez rezystor wyjście inwertera, napięcie zasilania do emitera, a do kolektora diody (bez...
Faktyczny. Prawdę mówiąc tak tego nie pomyślałem. Faktyczne X%/0% wypełnienia da miganie diody o zadanej intensywności światła. Dzięki i już wszystko jasne! Pozdrawiam B.
Poszukałem i znalazłem prosty programik w C dla AT90S8515 z kwarcem 8 MHz mrugający diodą LED. Dokonałem małej zmiany (częstotliwość kwarcu), kompilowałem go za pomocą avr-gcc pod linuksem, zaprogramowałem mikrokontroler ATmega8 za pomocą uisp i STK200 i... działa z wewnętrznym oscylatorem 1 MHz. Dioda LED jest przez rezystor podpięta anodą do +5V i...
Z ogniwa litowego (CR2032, bo o nim tu chyba mowa) nie mozna pobierać za dużo prądu. Jakieś 3-4mA ciągłego, albo przez kilkanaście sekund kilkanaście mA. Sugerowałbym zastosowanie wyświetlaczy z diodami o wysokiej sprawności (HE), które świecą dość jasno już przy bardzo małych prądach (poniżej 1mA). Rezystory w bazach w takim układzie można by dać rzędu...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.5 = Input Config Pinb.4 = Input Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 64 Dim I As Byte Centr1 Alias Pinb.5 Centr Alias Pinb.4 Set Portb.4 Set Portb.5 Pwm1a = 0 Do If pwm1a = 0 then 'dodatkowy warunek...
Musisz dać zewnętrzne układy bo przy takim sposobie wyświetlania trzeba zapalać diody większym prądem żeby świeciły odpowiednio jasno.
Zrobiłem tak jak mi poleciłeś, czyli w rejestrze TCCR0 ustawiam dodatkowo bit CS00: TCCR0 = _BV(COM01) | _BV(COM00) | _BV(WGM01) | _BV(WGM00) | _BV(CS00); Poza tym zamieniam wszystkie liczby spoza zakresu ośmiobitowego na mniejsze. Wygląda na to że symulacja działa prawidłowo. Rejestr OCR0 bardzo ładnie zmienia...
Mój kłopot polegał na tym że źle rozumiałem procedurę przerwania w kontekście flagi TOV0. Teraz jest wszystko dla mnie jasne.
Ma się zapalić i przez 5s świecić bez przerwy. A gasnąć może obojętnie jak. Chcę załapać ideę. Chodzi mi o jednokrotne użycie PWM. Tylko do zapalenia sie diody. Potem dopisze resztę programu, w którym np. dioda bedzie migać, ale już bez użycia PWM. Mam nadzieję, że jasno sie wyraziłem. Dzięki za zainteresowanie i pomoc.
Filmik przedstawiający świecenie całej matrycy. Tylko narazie to trochę biednie wygląda, bo zauważyłem, że kilka diod nie styka, będę musiał poprawić je, no i funkcja do odmierzania czasu też jest biedna :P Mam nadzieje że jako zrobie to już na timerze to bedzie lepiej ;) Biednie wygląda, bo każda dioda jest włączona tylko przez 1/20 czasu - żeby uzyskać...
Po zmierzeniu napięcia na wyjściach atmegi8 wszystko stało się jasne. Układ niepoprawnie steruje diodą transoptora, ponieważ na wyjściach atmegi8, które są połączone przez rezystory R8-R13 do katody diody transoptora jest 5V względem minusa, a powinno być około 0V tak jak pisał trymer01. Jak rozumiem atmega8 sprowadza te sześć sterujących linii do...
To nie takie proste. Na wejściu trzeba zrobić prostownik liniowy a na wyjściu wzmacniacze prądowe, albo kupić diody super jasne i ograniczyć prąd do możliwości ATMega8. Czym więcej diod tym większy prąd potrzebny, można nawet 64 diody LED podłączyć ale wtedy potrzebne są wzmacniacze prądowe (tranzystory). Napisanie programu to też trochę zabawy, więc...
Po pierwsze piszesz w C a nie C++. Po drugie, poczytaj o timerach, trybie PWM i funkcji pinów OCR i wszystko stanie się jasne.
Już wszystko jasne - jedyne pytanie zadaję na końcu. Przygodę z PWM zaczynam od sterowania jasnością diody. Atmega8 + diody + rezystorki 330Ω Ćwiczenie polega na cyklicznym rozjaśnianiu i ściemnianiu diody 3 diody podłączone do PB1, PB2, PB3 w założeniu tylko PB1 (OC1A) powinna świecić zgodnie z PWM. Ustawiłem tryb Fast PWM 8bit Kod: #include...
Czasu mam dużo to pokombinuje na, na razie nie w smd. Dziękuje wszystkim jakby dla mnie było coś nie jasne to jeszcze napiszę.
Zwróć uwagę, że taki zapis: PORTD^=(1<<PD2); powoduje zmianę stanu diody za każdym razem, gdy warunek jest spełniony. A ponieważ w warunkach masz >, a nie ==, w każdym kolejnym przerwaniu zmieniasz stan diody, co widać jako niezbyt jasne świecenie.
Mam cztery fotorezystory. Jaki napisać program, aby zapalić odpowiednią diodę, gdy najjaśniejsze będzie światło na danym fotorezystorze? Np. Najjaśniejszy jest fotorezystor 1 więc zapali się dioda 1 lub najjaśniejszy jest 3 więc zapala się 3 dioda. Nie mam pojęcia jak się za to zabrać... Hmm... Jakiś omomierz czy co? Pomóżcie!
"Generalnie", to maksymalna dozwolona wartość w normalnej pracy to 20 mA , a 40 mA jest podane w absolute maximum ratings - czyli lepiej trzymać się poniżej 20. Dodatkowo, dla pewnych części scalaka są osobne granice obciążalności, więc to nie jest tak, że np. porty PB0-PB7 można obciążyć po 20 mA na port (160 mA - mimo że to mieści się w granicy 400...
Program po skompilowaniu ukazuje takie błędy: avr-gcc -g -Wall -O2 -mmcu=atmega8 -c -o sterowanie.o sterowanie.c sterowanie.c:2:24: util/delay.h: No such file or directory sterowanie.c: In function `main': sterowanie.c:18: warning: implicit declaration of function `_delay_ms' sterowanie.c:21:2: warning:...
Fakt, pobór prądu jest nieco nad wyrost, ale poprostu obawiałem się o wytrzymałość atmegi :) .. (np mogłem coś pomylić w dokumentacji :P) Hmm, co do kalibracji, to postaram się zrobić jakąś poprawkę programową, narazie układ zlutuje :), i napisze program jak najprosciej, później zastanowię się nad dokładnością pomiaru czasu. To tylko pierwsze podejście,...
Owszem przy pierwszym kodzie częstotliwość 36kHz ale przy tym z PWM to jest 15kHz ( 8MHz/1/510) 510 wynika z trybu PWM 8-bitowego. Fusebity na C9 FF, diod mam 8 ( 4 po 2 diody ). Każda para jest na BC557, ale do testów używam tyko 2. Dodano po 1 Przez komórkę widać że ładnie świecą diody jest taka jasna biała struga światła.
Co to znaczy "prąd ok"? Prąd 25 mA "nie jest OK", chociaż pewnie jakoś przetrzyma go i dioda i uC, których parametry pogwałcisz. Przy 25 mA, a nawet przy oficjalnie dozwolonych 20 mA współczesne LED są raczej za jasne dla oczu, chyba, że nie oglądasz ich światła bezpośrednio.
No dobra przed usunięciem widziałem założenia : Atmega8 a piny wszystko jedno gdzie. $crystal = 1000000 $regfile = "m8def.dat" config pind.1 = output ' tu pin diody config pind.0 = input ' tu pin mikroswitcha (klikacza) set portd.0 do if pind.0 = 0 then waitms 25 if pind.0 = 0 then set portd.1 wait 2 reset portd.1 powerdown end if...
A co znaczy słowo: Redefined? i wszystko jasne co do tego warningu. wywal tę definicję F_CPU z kodu i sprawdź w opcjach jak masz zdefiniowany zegar.
Witam :arrow: bdfhjk skąd Ci się wzięło 45mA. Jak od napięcia zasilania 5V odejmiesz 2.4V spadku na diodzie w wyświetlaczu oraz odejmiesz 0.2V na tranzystorze w stanie nasycenia i olejesz spadek na porcie (zazwyczaj około 50mV) to wyjdzie Ci 2.4V. Jeśli podzielisz tą wartość przez 120Ω to jak nic wychodzi Ci 20mA. W rzeczywistości ten prąd będzie...
Witam Pytanie na czym chcesz zrobić pomiar natężenia światła. Jeśli mają to być fotorezystory to będzie pewien kłopot wynikający z nieliniowości tych elementów. Trzebaby je nieco zlinearyzować. Jeśli będzie dostępny już zlinearyzowany sygnał to można go podawać na mikrokontroler przez wspomnianego właśnie 4052 albo bezpośrednio na odpowiednie piny mikrokontrolera....
OC2 to wyjście wykorzystywane przez Timer2 - nie Timer1. Wystarczy skonfigurować T2 - i po kłopocie... (Przestudiowanie noty katalogowej układu rozwiązałoby problem) No i wszystko jasne. Najgorsze to to że powinienem o tym pamiętać, chyba się starzeje.
czyli jak wartosc OCR1A=100 to czas w jakim bedzie sie dioda rozjasniac czy tylko poziom wypelnienia?? Jezeli dobrze rozumiem to bede musial (np) inkrementowac ta wartosc??
Witam, Czy nakierowałby mnie ktoś w jaki sposób wykorzystując PWM można zrealizować płynne sterowanie jasnością diody LED przy użyciu pilota nadającego w standardzie RC5? Do tej pory udało mi się zrealizować płynne sterowanie jasnością diody wykorzystując PWM i microswitche - oto kod: [syntax=c]#define F_CPU 8000000UL #include <avr/io.h> #include...
Dla mnie czytelniej jest z nawiasami. Poza tym trudniej o pomyłkę. Nie wywalaj ich. Także pozostałe uwagi są niezbyt pomocne. Do AVR leci funkcją arduino->WriteLine() a nie Console::WriteLine() Jeśli już to poczytaj w dokumentacji do arduino lub używaj normalnej obsługi portu szeregowego (nie znam arduino) Co wysyłasz terminalem? 1 bajt czy liczbę?...
Prąd jest niewielki ale jak najbardziej tranzystor reaguje na zmianę naświetlenia. Wszystkie diody LED, które testowaliśmy pomimo podobnych zakresów temperatur w notach katalogowych (-40-+85) bardzo jasno i bezproblemowo świeca w ciekłym azocie.
O ile dobrze kojarzę to nie powinno się tak realizować microswitchy - rezystor do +5V i wykrywamy masę. Masz też jasne diody, jaki jest ich prąd, bo atmega ma dość niską obciążalność portów, może by jej tak nie katować i dodać te tranzystory ?
a jak wpiszesz np. 254 to jak to wyglada ? bo u mnie przy korekcji fazy dawalem 0 to bylo 0 a dawalem 1 to juz swecilo dosc jasno .. ale to moglo wynikac z charakterysytyki diody :/ jak tylko wroce do wrocka to sprawdze jak z tym jtagiem.
A nie dałoby rady dodać jakiegoś rezerwuaru prądu dla mikrokontrolera na czas wyświetlania wyniku? Na przykład jakiś większy kondensator na zasilaniu mikrokontrolera, odseparowany od baterii, no właśnie - czym? Zależy od poboru prądu przez mikrokontroler. Jeśli działa na 32khz, to może nawet jakaś dioda Schottkyego czy germanowa (ale ze spadkiem rzędu...
I właśnie walę się w głowę ... Spróbuję zwalić ten błąd na późną godzinę, w której pisałem. Dokładnie tak jak piszecie, nie było obsługi od 2-go porównania. Teraz wszystko jasne. Co do prescalera to oczywiście wiem, nie wiem czemu tak zakomentowałem. Dziękuje !!
jasno diody atmega8 regulacja jasno dioda regulator jasno dioda
wyprowadzić hallotron zamarzać butla spawać elektronik
IGBT zamiennik G40H603 – IGW40N60H3, IKW40N60H3, STGW40H65FB, FGH40N60SMD – parametry i dobór Taśma FPC i montażowa do mini kamer – dobór, parametry, marki, montaż