Skocz do zawartości

ElectroBeginner

Użytkownicy
  • Zawartość

    13
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O ElectroBeginner

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  1. 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
  2. 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
  3. 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!
  4. 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?
  5. czyli za każdym razem trzeba zmieniać MUX [praktycznie non stop] i odczyt zapisywać do jakiejś zmiennej?
  6. 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
  7. 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
  8. 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ć?
  9. 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
  10. 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
  11. 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.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.