
ElectroBeginner
Użytkownicy-
Zawartość
13 -
Rejestracja
-
Ostatnio
Reputacja
0 NeutralnaO ElectroBeginner
-
Ranga
2/10
Informacje
-
Płeć
Mężczyzna
-
[C] Odliczanie czasu inaczej niż _delay_x()
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Mikrokontrolery
z programu nie wynika nic złego w sumie: if(bit_is_clear(PINC,7)){ m++; _delay_ms(250); } if(bit_is_clear(PINC,6)){ m--; _delay_ms(250); } if(m==0){ LCD_GoTo(0, 0); LCD_WriteText("Kalibruj"); LCD_GoTo(0, 1); LCD_WriteText("Wcisnij>"); } if(m==1){ LCD_GoTo(0, 0); LCD_WriteText("TRANS1"); LCD_GoTo(2, 1); LCD_WriteText(trans1); } if(m==2){ LCD_GoTo(0, 0); LCD_WriteText("TRANS2"); LCD_GoTo(2, 1); LCD_WriteText(trans2); } if(m==3){ LCD_GoTo(0, 0); LCD_WriteText("TRANS3"); LCD_GoTo(2, 1); LCD_WriteText(trans3); } if(m==4){ LCD_GoTo(0, 0); LCD_WriteText("TRANS4"); LCD_GoTo(2, 1); LCD_WriteT -
[C] Odliczanie czasu inaczej niż _delay_x()
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Mikrokontrolery
ogolnie jest taka sprawa ze mam cos z wyswietlaczem, ze jak jest na nim menu glowne i klikne np kalibracje, to w puste miejsca sie pojawiaja te litery ktore byly w menu glownym albo jak wartosc odczytu jest >1000 a potem spadnie ponizej 1000 to pokazuje potem np 9842 i musze co pare sekund wykonywac program ktory lewa i gorna linijke wyswietlacza zastepuje " " (8 odstepow, mam 2x8 lcd), i wtedy jest taki ulamkowy refresh i te nadwyzki znikaja -
Witam, mam w programie mojego robota kawałek który musi zwiększać wartość zmiennej co 1 sekunde od 0 do 5, gdy dojdzie do 5 wykonać kawałek programu i przypisać tej zmiennej 0 (dalej podlicza). Działa poprzez takie coś jak int i=0; i++; _delay_ms(1000); if(i==5){ cośtam; i=0; } lecz ten delay sprawia, że cały program ma przerwę na 1 sekundę co chwilę.. wie ktoś jak to rozwiązać? timerem? aktualnie używam timera do regulacji PWM rotacji silników, wrzuciłby ktoś kawałek programu, żeby pokazać jakie inicjacje itp użyć? Dzięki z góry!
-
[C] Getadc(channel) z Bascoma, jak będzie w C?
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Mikrokontrolery
używam atmega16, która też ma 1 przetwornik ADC na 8 nóżek, ale mógłbyś pokazać fragment kodu jak by wyglądało ciągłe zapisywanie odczytów z 8 sygnałów i potem użycie? -
[C] Getadc(channel) z Bascoma, jak będzie w C?
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Mikrokontrolery
czyli za każdym razem trzeba zmieniać MUX [praktycznie non stop] i odczyt zapisywać do jakiejś zmiennej? -
WItam, próbuję zaprogramować robota, który ma reagować na odczyty z 8 czujników. W Bascomie takie coś: Wartosc_adc = Getadc(7) Sharp = Wartosc_adc 'Transoptory: Wartosc_adc = Getadc(6) Sens6 = Wartosc_adc Wartosc_adc = Getadc(5) Sens5 = Wartosc_adc Wartosc_adc = Getadc(4) Sens4 = Wartosc_adc Wartosc_adc = Getadc(3) Sens3 = Wartosc_adc Wartosc_adc = Getadc(2) Sens2 = Wartosc_adc Wartosc_adc = Getadc(1) Sens1 = Wartosc_adc Wartosc_adc = Getadc(0) Sens0 = Wartosc_adc bierze z 8 czujników a w C w zainicjowaniu ADC ustawia się MUXy, które odpowiadają za jeden kanał, jak zrobić aby było na ws
-
ATmega16 - Krzaczki i artefakty na wyświetlaczu LCD 2x8.
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Elektronika
jednak odkryłem, że to wina tej baterii. podłączyłem na innej i się nic nie dzieje. li-pol do wymiany :/ dzięki za odpowiedzi -
ATmega16 - Krzaczki i artefakty na wyświetlaczu LCD 2x8.
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Elektronika
niestety nie mogę inaczej podłączyć tak mam zaprojektowany układ, i zawsze działał normalnie, lecz dzisiaj się coś zmarasiło, wyładowała mi się bateria od normalnego użytkowania, naładowałem do pełna i takie coś mi się dzieje. jako, że współdzieli ścieżki od programatora, może to być z tym powiązane, albo od częstego wgrywania programu (i machania przełącznikiem aby podłączyć programator przy wyłączonym zasilaniu, wgrać przy włączonym, wyłączyć by odłączyć programator i znowu włączyć do testu)? i czy przypadkiem nie stało się coś z ATmegą16 lub wyświetlaczem i trzeba wymienić? Co czynić? -
ATmega16 - Krzaczki i artefakty na wyświetlaczu LCD 2x8.
ElectroBeginner opublikował temat w Elektronika
Witam posiadam robota, który ma w sobie czujniki i napisałem, aby wyświetlał wartości na wyświetlaczu [ze sterownikiem HD44780], lecz dziwne rzeczy się po uruchomieniu lub po jakiejś chwili z nim dzieją (załączam zdjęcia), niektóre rzeczy, których nie uchwyciłem to gdy wszystkie pola były zawalone krzaczkiami i migały co chwile zmieniając się na inne, lub gdy wszystko znikało i tylko jakiś numer np #8 w prawym dolnym rogu był, a czasem też potrafi się zawiesić i wartość na LCD stoi. Oto zdjęcia jak jest nie tak, a powinno wyglądać, że u góry pisze "Pomiar:" a na dole na środku wartość od 0 d -
[C] Ciągła akcja po wcisnięciu przycisku.
ElectroBeginner odpisał w temacie użytkownika ElectroBeginner • Mikrokontrolery
Dzięki ten sposób brzmi dobrze wypróbuję i sprawdzę też pewien co mi teraz przez myśl przeszedł aby guziki tylko ustawialy zmienne i a pętle byłyby np. while(i==2) lub z tym switchem i umieszczę delay aby zniwelować drgania -
Witam forum to mój pierwszy post i pierwsze pytanie. Uczę się języka C i pracuje na uC ATmega16 i nie potrafię rozkminić jak będzie wyglądał kod ktory: Przełączy tak jakby Mode po wcisnięciu przycisku, czyli że wcisnięciu przycisku sprawi że będzie się wykonywała dana czynność przez cały czas, a przestanie po wcisnięciu innego przycisku. Np. Mam wyświetlacz i po wcisnięciu S1 wyświetla na nim wartości ADC z czujnika U1 (wartości aktualizuja się cały czas, lecz guzik nie jest wcisniety), po wcisnięciu S2 wyświetla wartości ADC z innego czujnika U2 i również przez cały czas aktualizuje.