Skocz do zawartości

jas123

Użytkownicy
  • Zawartość

    135
  • Rejestracja

  • Ostatnio

Posty napisane przez jas123


  1. A co jeśli gdy klikam "configure" w CMake wyskakuje mi błąd systemu o treści: "Nie można kontynuować wykonywania kodu, ponieważ nie znaleziono obiektu libwinpthread-1.dll. Ponowne zainstalowanie programu może rozwiązać ten problem." . Co to za obiekt ? Instalowałem ten program 2 razy i ciągle to samo. 😕 Proszę o pomoc. 

     

     

     


  2.  

    W obu programach serwo może mieć wartość 0 .Różnica Twojego kodu a kodu z kursu jest taka że w kodzie z kursu warunek jest na początku czyli nie ma możliwości żeby pozycja serwa była większa od 179 może być równa 179 ale nie musi (to zależy od zmiennej "zmiana").W Twoim kodzie maksymalna pozycja serwa to 179 + wartość zmiennej "zmiana" (to też zależy od zmiennej).

    Edit: Namieszałem trochę , komentarz poprawiony.


  3. 2 godziny temu, ewgron napisał:

    zmienna "pozycja" po wyzerowaniu jest od razu zwiększana o wartość "zmiana", a następnie jest wykonywany ruch czyli nigdy wychylenie nie osiąga wartości równej 0

    Nie zgadzam się. Najpierw  jest wykonywany ruch serwem a później zmieniana jest wartość "pozycja"

      Przeanalizujmy Twój kod a później kod z kursu. 

    void loop() {
      serwomechanizm.write(pozycja); // zmienna " pozycja" = 0 ; pozycja serwa = 0 
      if (pozycja < 180) { // zmienna " pozycja" = 0 ; pozycja serwa = 0 
        pozycja = pozycja + zmiana; // zmienna " pozycja" = 6 ; pozycja serwa = 0  
      } else { 
        pozycja = 0; 
      }  
       delay(100); //  zmienna " pozycja" = 6 ; pozycja serwa = 0 przez 0,1 sekundy
    }

    kod z kursu:

    void loop() {
      if (pozycja < 180) { // zmienna " pozycja" = 0 ; pozycja serwa = 0 
        serwomechanizm.write(pozycja); // zmienna " pozycja" = 0 ; pozycja serwa = 0  
      } else { 
        pozycja = 0; 
      }  
       pozycja = pozycja + zmiana; // zmienna " pozycja" = 6 ; pozycja serwa = 0 
       delay(200); //  zmienna " pozycja" = 6 ; pozycja serwa = 0 przez 0,2 sekundy
    }

     


  4. Są 2 opcję antena lutowana albo przykręcana ( to zależy jaką kupisz)  , ale pewnie przydadzą się złącza goldpin które trzeba przylutować samemu. Ja do takiego projektu wybrałbym nrf24l01 nawet ten bez dokręcanej anteny . Robiłem test na około 12 metrów przez 3 ściany i wszystko działa praktycznie bez opóźnień. Każdy ma trochę inne ściany więc u Ciebie może być inaczej .

    • Lubię! 1

  5. Nie wiem czy da się z tej klawiatury pobrać kilka znaków w tym samym czasie. Ale mam inny sposób (podejrzałem trochę z kursu) . Więc tak

    dodajesz jakąś zmienną:

    byte k = 0;

    w pętli loop coś takiego:

    void loop(){
    char klawisz = klawiatura.getKey();
    if (klawisz) {
     if (k == 0 && klawisz == 'a') { 
    k++; 
    } else if (k == 1 && klawisz == 'd') {
    k++;       
    } else if (k == 2 && klawisz == 'g') { 
    k = 0; 
    lcd.clear();
    lcd.print("ok");  
       funkcja();
    } else {
    lcd.clear();
    lcd.print("zle"); 
    }
    
      
    }
    }

    Chodzi w tym o to że musisz wpisać odpowiedni kod w odpowiedniej kolejności żeby coś się stało jeśli źle napiszesz to nie zadziała.


  6. Stan kolektora zmienia się w zależności od stanu bazy . Kiedy na bazie jest stan niski kolektor nie przewodzi. Gdy na bazie jest stan wysoki , kolektor zwiera się do emitera. Czyli się odblokowuje i zaczyna przewodzić.Kolektor w tranzystorach NPN to masa zasilania . Uwaga! Nie jest to dokładny opis działania tranzystora, tylko najprostsze wytłumaczenie.


  7. To :

    char klawisz = klawiatura.getKey();

    wystarczy napisać raz w pętli loop.

    Tobie to się skompilowało w ogóle? Ja musiałem poprawić jeszcze kilka błędów. I wyszło tak:

    #include <Wire.h>   // standardowa biblioteka Arduino
    #include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD
    LiquidCrystal_I2C lcd(0x27,20,4);  // Ustawienie adresu ukladu na 0x27
    #include <Keypad.h> //biblioteka od klawiatury
    
    const byte ROWS = 4; // ile wierszy
    const byte COLS = 4; //ile kolumn
     
    byte rowPins[ROWS] = {5, 4, 3, 2}; //piny wierszy
    byte colPins[COLS] = {6, 7, 8, 9}; //piny kolum
     
    char keys[ROWS][COLS] = { //mapowanie klawiatury
      {'a','b','c',' '},
      {'d','e','f','B'},
      {'g','h','i','C'},
      {'j','k','l','D'},
    };
    
     
    Keypad klawiatura = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //inicjalizacja klawiatury
     
    void setup(){
    
      Serial.begin(9600);
        lcd.begin();   // Inicjalizacja LCD 20x4
          lcd.backlight(); // zalaczenie podwietl'B'enia
          lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna) 
    }
     
    void loop(){
        char klawisz = klawiatura.getKey();
    if(klawisz){
        Serial.print(klawisz);
          lcd.print(klawisz);
    
                if (klawisz == 'B') {
               lcd.setCursor (0,1);
                }
    }
    }

     

    • Pomogłeś! 1

  8. Mam pytanie odnośnie nagrywania filmów . Chciałbym nagrać film z dźwiękiem . Mam taki mikrofon.

    99045965_270155750799091_8952777118542987264_n.thumb.jpg.3197d3d2620a4b2cf0338a87dd50a232.jpg

    Da się coś zrobić ? Jeśli potrzeba to mam też takie coś. Próbowałem użyć innego rozszerzenia pliku zamiast mpg (mp4 , mp3) . Ale program pokazuje mi błąd albo że plik jest uszkodzony. 

    Z góry dziękuję za pomoc.


  9. Dzień dobry , przychodzę z aktualizacją mojego projektu. A właściwie to prawie mojego bo użyłem tutaj sporo części z zestawu do kursu budowy robotów.  Zdecydowałem się na sterowanie pojazdem przez Arduino  i nrf24 , z 2 powodów . 1 Chciałem ponownie wykorzystać forbotowego shielda. 2 Z moim szczęściem podłączanie własnoręcznie zlutowanego shielda do malinki prawdopodobnie skończyłoby się jej spaleniem.

    99280857_176730433720080_1530448026118651904_n.thumb.jpg.d0a6b809f852ef88aeae4d9086e7d7c8.jpg98206854_2677004812579713_2625540776792162304_n.thumb.jpg.55426fbea06af7122fa16438b2a7731b.jpg

     Moim zdaniem pojazd wygląda już całkiem zgrabnie . Doczepię jeszcze kilka czujników i tyle. Denerwuje mnie ten kabel zasilający  Rpi . Czy mogę zasilić malinkę z portów GPIO?

    Czytałem że te porty omijają cały układ zasilania i trzeba uważać😕. Mam 2 baterie 18650 . Wystarczy zwykła przetwornica step-down?

    • Lubię! 1

  10. Cześć dzisiaj wpadłem na pomysł rozebrania starego telefonu .Pozyskałem z niego 2 kamery i nie wiem jak je wykorzystać bo nie mam żadnej przejściówki / konwertera .

    IMG_20200521_201436.thumb.jpg.4a57bff13092057afebe3d1cd0ba676c.jpg

    Czy mogę dokupić konwerter/ przejściówkę do tych kamer żeby je podłączyć np do Rpi ? Jeśli tak to gdzie i jak takie coś się nazywa. Próbowałem już połączyć je przez konwerter od Raspberry Pi Camera ale tam jest węższy rozstaw wejść.

×
×
  • Utwórz nowe...