Skocz do zawartości

Kiras

Użytkownicy
  • Zawartość

    6
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Kiras

  • Ranga
    2/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. dziękuje za odpowiedź , nie podłączyłem pinów enable błednie myślac ze są one nie potrzebne
  2. Cześć wszystkim , mam pewien problem ze swoim pojazdem z krańcówkami , do przodu jedzie normalnie z prędkością jaką nadałem mu w kodzie : #define L_SIDE_SENSOR A1 #define R_SIDE_SENSOR A0 #define R_PWM 6 #define R_DIR 7 #define L_PWM 5 #define L_DIR 4 #define PWM_MAX 165 #define PWM_MIN 50 #define BUZZER 8 void setup() { //Konfiguracja pinow od mostka H pinMode(L_DIR, OUTPUT); pinMode(R_DIR, OUTPUT); pinMode(L_PWM, OUTPUT); pinMode(R_PWM, OUTPUT); //Konfiguracja pinow od czujnikow pinMode(L_SIDE_SENSOR, INPUT_PULLUP); pinMode(R_SIDE_SENSOR, INPUT_PULLUP); //Konfiguracja pozostalych elementow pinMode(BUZZER, OUTPUT); digitalWrite(BUZZER, 0); //Wylaczenie buzzera } void loop() { //Jedz do przodu leftMotor(40); rightMotor(40); if (digitalRead(L_SIDE_SENSOR) == LOW || digitalRead(R_SIDE_SENSOR) == LOW) { //Jesli przeszkoda po dowolnej stronie //Jedz wstecz i wydawaj dzwiek leftMotor(-40); rightMotor(-40); digitalWrite(BUZZER, 1); delay(400); //Obrot w miejscu leftMotor(40); rightMotor(-40); digitalWrite(BUZZER, 0); delay(500); //Koniec warunku wracamy do jazdy prosto } } void leftMotor(int V) { if (V > 0) { //Jesli predkosc jest wieksza od 0 (dodatnia) V = map(V, 0, 100, 0, PWM_MAX); digitalWrite(L_DIR, 0); //Kierunek: do przodu analogWrite(L_PWM, V); //Ustawienie predkosci } else { V = abs(V); //Funkcja abs() zwroci wartosc V bez znaku V = map(V, 0, 100, 0, PWM_MAX); digitalWrite(L_DIR, 1); //Kierunek: do tyłu analogWrite(L_PWM, V); //Ustawienie predkosci } } void rightMotor(int V) { if (V > 0) { //Jesli predkosc jest wieksza od 0 (dodatnia) V = map(V, 0, 100, 0, PWM_MAX); digitalWrite(R_DIR, 0); //Kierunek: do przodu analogWrite(R_PWM, V); //Ustawienie predkosci } else { V = abs(V); //Funkcja abs() zwroci wartosc V bez znaku V = map(V, 0, 100, 0, PWM_MAX); digitalWrite(R_DIR, 1); //Kierunek: do tyłu analogWrite(R_PWM, V); //Ustawienie predkosci } } void stopMotors() { analogWrite(L_PWM, 0); //Wylaczenie silnika lewego analogWrite(R_PWM, 0); //Wylaczenie silnika prawego } do przodu jeździ z prawidłową predkością ale do tyłu z tego co zauwazyłem jakiej wartośći w kodzie bym nie wpisał rusza na 100% sił i niewiem jak pozbyć się tego problemu . Zbudowałem tego robota z pominięciem shieldu Forbot Robot bo takowego nie posiadam.
  3. Już ogarnąłem sprawę także temat do zamknięcia
  4. mam 10 takich tranzystorów i niewiem jak się zabrać za to
  5. W jaki sposób stworzyć przerzutnik bistabilny , "kogut policyjny" z tranzystorem PNP ? próbowałem rożnych konfiguracji ale coś mi nie wychodzi a posiadam tranzystor BC557B tylko. już nie mam kompletnie pojęcia jak to połączyć .
×
×
  • Utwórz nowe...