Skocz do zawartości

neuneu

Użytkownicy
  • Zawartość

    16
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna

Osiągnięcia użytkownika neuneu

Starszy odkrywca

Starszy odkrywca (5/19)

  • Za 5 postów
  • Młodszy Juror
  • To już rok!
  • To już 5 lat!

Odznaki

0

Reputacja

  1. neuneu

    IR nie odbiera

    Działa !! dzięki chłopaki: deshipu, marek1707,
  2. neuneu

    IR nie odbiera

    Odbiornik nie odbiera wysłanego sygnału z pilota (diody Tx, Rx nie migają) więc silnik nie chodzi. Jak jest bez odbiornika i to silnik chodzi. void loop() { // IR(); if (irrecv.decode(&results)) { Serial.print("0x"); Serial.println(results.value, HEX); delay(250); switch (results.value) { case 0xCB000FF: do_tylu_V(80); break; case 0xCB0807F: do_tylu_V(40); break; case 0x20DF8877: do_przodu_V(80); break; case 0x20DF48B7: do_przodu_V(40); break; } irrecv.resume(); } } Nie bawiąc się w funkcje, tak to powinno działać , ale nie działa tzn. widać, że odbiera ale silnik nie chodzi. Te diody są na Arduino Nano. Oczywiście, działało Troszkę się pogubiłem z tym wszystkim już...
  3. neuneu

    IR nie odbiera

    dodałem do folderu bibliotek. używam TSOP31236 oraz l293d Jak używam tylko odbiornika aby sprawdzić guzik pilota jaki ma kod to działa ....
  4. Cześć, Proszę o to kod. Czemu odbiornik mi nie odbiera? (odbiera ale nie działa, gdy mam nie w komentarzu to co teraz jest w komentarzu [void odbiornik]) #define PWM_L 3 #define PWM_P 5 #define silnik1_1 2 #define silnik1_2 4 #define silnik2_1 7 #define silnik2_2 8 #define PWM_MAX 256 #include <IRremote.h> #define odbiornik_pin 11 IRrecv irrecv(odbiornik_pin); decode_results results; void setup() { pinMode(PWM_L, OUTPUT); pinMode(PWM_P, OUTPUT); pinMode(silnik1_1, OUTPUT); pinMode(silnik1_2, OUTPUT); pinMode(silnik2_1, OUTPUT); pinMode(silnik2_2, OUTPUT); digitalWrite(silnik1_1, LOW); digitalWrite(silnik1_2, LOW); digitalWrite(silnik2_1, LOW); digitalWrite(silnik2_2, LOW); Serial.begin(9600); irrecv.enableIRIn();//uruchamia odbiornik } void do_przodu_V(int predkosc) { if (predkosc > 0) { predkosc = map(predkosc, 0, 100, 0, PWM_MAX); //od 0 do 100%; 0 do PWMMAX wypelnienie sygnalu analogWrite(PWM_L, predkosc); // analogWrite(PWM_P, predkosc); do_przodu(); } } void do_przodu() { digitalWrite(silnik1_1, HIGH); digitalWrite(silnik1_2, LOW); delay(5000); } void do_tylu_V(int predkosc) { if (predkosc > 0) { predkosc = map(predkosc, 0, 100, 0, PWM_MAX); //od 0 do 100%; 0 do PWMMAX wypelnienie sygnalu analogWrite(PWM_L, predkosc); // analogWrite(PWM_P, predkosc); do_tylu(); } } void do_tylu() { digitalWrite(silnik1_1, LOW); digitalWrite(silnik1_2, HIGH); delay(5000); } void zatrzymaj() { digitalWrite(silnik1_1, LOW); digitalWrite(silnik1_2, LOW); // digitalWrite(silnik2_1, LOW); // digitalWrite(silnik2_2, LOW); delay(2000); } void IR() { if (irrecv.decode(&results)) { odbiornik(); } } void odbiornik() { /* Serial.print("0x"); Serial.println(results.value, HEX); delay(250);*/ switch (results.value) { case 0xCB000FF: do_tylu_V(80); break; case 0xCB0807F: do_tylu_V(40); break; case 0x20DF8877: do_przodu_V(80); break; case 0x20DF48B7: do_przodu_V(40); break; } irrecv.resume(); } void loop() { IR(); irrecv.resume(); } Proszę o rady czy wszytko z kodem jest ok.
  5. Dzięki. A co do wyżej wymienionego kodu to da sie go jakos uproscic?
  6. const int przycisk = 4 ; const int led = 10; int state; int lastState; int buttonCounter = 0; void setup() { pinMode(led, OUTPUT); pinMode(przycisk, INPUT_PULLUP); } void loop() { state = digitalRead(przycisk); if (state != lastState) { if (state == LOW) { buttonCounter++; } lastState = state; } if (buttonCounter == 1) { analogWrite(led, 40); } else if (buttonCounter == 2) { analogWrite(led, 80); } else if (buttonCounter == 3) { analogWrite(led, 130); } else if (buttonCounter >= 4) { digitalWrite(led, LOW); } } / Proszę bardzo. Jak teraz dodać aby nie było styków? Da sie to jakoś jeszcze uproscic?
  7. Witam, Posiadam 1 przycisk i 1 diode. Naciskam przycisk = analogWrite(dioda, 40); Naciskam drugi raz przycisk = analogWrite(dioda, 80); Naciskam trzeci raz przycisk = digitalWrite(dioda, HIGH); naciskam czwarty raz = dioda nie swieci. Proszę o pomoc. Jak najprościej. Potem sobie użyje switch case. Wiem że musi być zmienna która będzie zliczać, ale nie moge sobie z tym poradzić. pozdrawiam
  8. elvis Dlaczego AVR nie jest przyszłościowe? W C++ programowałem na kompie kiedyś. nonivoo dzięki za rady 🙂 a arduino jest łatwe w sumie. Robiłem trochę na Nano. buchbuch własnie ją czytam
  9. Dzięki! Trudno jest się samemu uczyć elektroniki i mikrokontrolerów bo nie wiadomo za co się wziąć tyle tego jest....
  10. Jak masz tak odpowiadać to nie odpowiadaj wcale 🙂 Nie napisałem tu na forum aby się kłócić.
  11. Darmowe kursy tyle mają że kończą się na 'jak zaświecić diodą..."
  12. Cześć, Chciałbym się nauczyć programowania AVR w C++. Posiadam książki: -Andrzej Witkowski Mikrokontrolery AVR programowanie w c -Francuz T. - Język C dla mikrokontrolerów AVR Ale jakoś tego nie rozumiem, może dlatego że nie czytałem od początku do końca. Poleci ktoś jakiś kurs na przykładowych programach jak to jest wszystko zrobione?
  13. Menedżer urządzeń: Communications Port (COM6) - takie coś mam jak podłącze programator. Wybieram STK200, com6, Atmega8, w WinAVR Programmer's Notepad wyskakuje: > "make.exe" program avrdude -p atmega8 -P com6 -c stk200 -U flash:w:led.hex avrdude: can't open device "giveio" avrdude: failed to open parallel port "com6" make.exe: *** [program] Error 1 > Process Exit Code: 2 > Time Taken: 00:01
×
×
  • 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.