Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'car'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 2 wyniki

  1. Witam! Mam problem z tym projektem ponieważ mam podpięte wszystkie kabelki prawidłowo program i biblioteki również a działa tylko sensor (wykrywa ruch) i servomotor ("kręci tylko głową")a nie wysyła żadnego sygnału do silników. Proszę o pomoc! (Film na którym się wzorowałem https://www.youtube.com/watch?v=4CFO0MiSlM8 ) <---SCHEMAT #include <Servo.h> //Servo motor library. This is standard library #include <NewPing.h> //Ultrasonic sensor function library. You must install this library //our L298N control pins const int LeftMotorForward = 5; const int LeftMotorBackward = 4; const int RightMotorForward = 3; const int RightMotorBackward = 2; //sensor pins #define trig_pin A1 //analog input 1 #define echo_pin A2 //analog input 2 #define maximum_distance 200 boolean goesForward = false; int distance = 100; NewPing sonar(trig_pin, echo_pin, maximum_distance); //sensor function Servo servo_motor; //our servo name void setup(){ pinMode(RightMotorForward, OUTPUT); pinMode(LeftMotorForward, OUTPUT); pinMode(LeftMotorBackward, OUTPUT); pinMode(RightMotorBackward, OUTPUT); servo_motor.attach(11); //our servo pin servo_motor.write(90); delay(2000); distance = readPing(); delay(100); distance = readPing(); delay(100); distance = readPing(); delay(100); distance = readPing(); delay(100); } void loop(){ int distanceRight = 0; int distanceLeft = 0; delay(50); if (distance <= 20){ moveStop(); delay(300); moveBackward(); delay(400); moveStop(); delay(300); distanceRight = lookRight(); delay(300); distanceLeft = lookLeft(); delay(300); if (distance >= distanceLeft){ turnRight(); moveStop(); } else{ turnLeft(); moveStop(); } } else{ moveForward(); } distance = readPing(); } int lookRight(){ servo_motor.write(10); delay(500); int distance = readPing(); delay(100); servo_motor.write(90); return distance; } int lookLeft(){ servo_motor.write(170); delay(500); int distance = readPing(); delay(100); servo_motor.write(90); return distance; delay(100); } int readPing(){ delay(70); int cm = sonar.ping_cm(); if (cm==0){ cm=250; } return cm; } void moveStop(){ digitalWrite(RightMotorForward, LOW); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorBackward, LOW); digitalWrite(LeftMotorBackward, LOW); } void moveForward(){ if(!goesForward){ goesForward=true; digitalWrite(LeftMotorForward, HIGH); digitalWrite(RightMotorForward, HIGH); digitalWrite(LeftMotorBackward, LOW); digitalWrite(RightMotorBackward, LOW); } } void moveBackward(){ goesForward=false; digitalWrite(LeftMotorBackward, HIGH); digitalWrite(RightMotorBackward, HIGH); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorForward, LOW); } void turnRight(){ digitalWrite(LeftMotorForward, HIGH); digitalWrite(RightMotorBackward, HIGH); digitalWrite(LeftMotorBackward, LOW); digitalWrite(RightMotorForward, LOW); delay(500); digitalWrite(LeftMotorForward, HIGH); digitalWrite(RightMotorForward, HIGH); digitalWrite(LeftMotorBackward, LOW); digitalWrite(RightMotorBackward, LOW); } void turnLeft(){ digitalWrite(LeftMotorBackward, HIGH); digitalWrite(RightMotorForward, HIGH); digitalWrite(LeftMotorForward, LOW); digitalWrite(RightMotorBackward, LOW); delay(500); digitalWrite(LeftMotorForward, HIGH); digitalWrite(RightMotorForward, HIGH); digitalWrite(LeftMotorBackward, LOW); digitalWrite(RightMotorBackward, LOW); } Filmik jak działa.rar
  2. Załozeniem projektu było stworzenie pojazdu czterokołowego sterowanego poprzez bluetooth, wykorzystujac wbudowany w telefon akcelerometr. Został on zbudowany na ramie starego samochodu zdalnie sterowanego, do którego zgubiona została aparatura. Głównym elementem robota jest rama robota terenowego wyposazona w silnik do napedzania osi tylnej pojazdu, oraz w silnik do skretu kołami przednimi. Po drobnych modyfikacjach została dostosowana do zamontowania płytki drukowanej oraz baterii. Zostały dodatkowo zaprojektowane i wydrukowane na drukarce 3d uchwyty na baterie. Wykorzystany został moduł arduino nano ( bazujacy na Atmedze 328P).moduł bluetooth HC-06 komunikujacy sie z arduino poprzez UART(RX,TX).Zasilany napieciem 3.3V. Zasieg modułu to około 10m.Wykorzystany został moduł L298N na podstawce umozliwiajacy sterowanie dwoma silnikami DC w obu kierunkach za pomoca 4 pinów, które mozna sterowac sygnałem PWM. Wykorzystana została bateria o napieciu 11,1V. Układ został zaprojektowany przy uzyciu oprogramowania EasyEda. w celu zwiekszenia jakosci oraz aby umiescic układ w wyznaczonym na ramie miejscu o wymiarach 50x50mm. Zaprojektowany został PCB,który został wykonany za pomoca metody termotranferu na laminacie z jednostronna warstwa miedzi Aby układ mógł zostac przylutowany metoda SMD, powyższy schemat musiał zostac wydrukowany na papierze kredowym w odbiciu lustrzanym. Nastepnie wytrawiono płytke. Jako wytrawiacz posłuzył nadsiarczan sodu (B327) zmieszany w odpowiedniej proporcji z woda. W kolejnym kroku nawiercono w płytce otwory posługujac sie wiertłem 1 mm.Nastepnie wszystkie elementy przylutowano do płytki w wyznaczonych miejscach, zrobiono to w taki sposób, aby wszystkie elementy znajdowały sie po tej samej stronie co ściezki. Program do obsługi został napisany a Arduino IDE, działa on według następującego schematu; do utworzenia interfejsu komunikujacego sie z samochodzikiem posłuzyłem sie aplikajca RoboRemo w wercji darmowej. Aplikacja wysyła do naszego modułu bluetooth dane dotyczace połozenia X oraz Y naszego telefonu. interfejs wyglada w nastepujacy sposób: Aby rozpoczać użytkowanie robota nalezy podłaczyć baterie odpowiednimi przewodami znajdujacymi sie z dołu urzadzenia (czerwony z czerwonym,niebieski z niebieskim),nastepnie uruchomić samochodzik przełaczajac przełacznik znajdujacy sie nad bateria. Po tej operacji pojazd jest gotowy do sparowania z telefonem. Aby to zrobic wystarczy kliknac przycisk "Połacz z samochodem" znajdujacy sie na ekranie. Jezeli otrzymamy bład połaczenia nalezy najpierw sparowac moduł bluetooth o nazwie "samochodzik" z naszym telefonem w ustawieniach telefonu(jezeli zostaniemy poproszeni o hasło nalezy wpisac 1234).Po udanym połaczeniu z samochodzikiem mozna przystapic do jazdy klikajac przycisk "JEDŹ!". Sterować moćna przechylajac telefon.Przechylenie przodu telefonu w dół spowoduje przyspieszenie, podniesienie -zatrzymanie, a nastepnie jazde do tyłu. Aby zmienic kierunek jazdy wystarczy przechylić telefon w prawo lub lewo. Przyciśniecie przycisku "STOP!" spowoduje zatrzymanie pojazdu. Jeszcze jedno zdjęcie pojazdu:
×
×
  • Utwórz nowe...