Skocz do zawartości

Ciekawy projekt robota na którym utknąłem


bst1979

Pomocna odpowiedź

/*
 * Please do not delete the lines below
 * YOUTUBE:   3DPrintAZ
  */
  
#include <SoftwareSerial.h>
#include <Servo.h>

#define PinBT_Tx 4
#define PinBT_Rx 5

#define WHEEL1_PORT 9
#define WHEEL2_PORT 8
#define WHEEL3_PORT 7
#define WHEEL4_PORT 6

#define VALSERVO_FORWARD 180
#define VALSERVO_STOP 92
#define VALSERVO_BACKWARD 0

#define CHAR_STOP 'S'
#define CHAR_FORWARD 'F'
#define CHAR_BACKWARD 'B'
#define CHAR_TURNLEFT 'L'
#define CHAR_TURNRIGHT 'R'
#define CHAR_FORWARLEFT 'G'
#define CHAR_FORWARDRIGHT 'I'
#define CHAR_BACKLEFT 'H'
#define CHAR_BACKRIGHT 'J'

SoftwareSerial bluetooth(PinBT_Tx, PinBT_Rx);
Servo wheel1, wheel2, wheel3, wheel4;

/*
110
300
600
1200
2400
4800
9600
14400
19200
28800
38400
56000
57600
115200 
*/
void setup()
{
  wheel1.attach(WHEEL1_PORT);
  wheel2.attach(WHEEL2_PORT);
  wheel3.attach(WHEEL3_PORT);
  wheel4.attach(WHEEL4_PORT);

  wheel1.write(VALSERVO_STOP);
  wheel2.write(VALSERVO_STOP);
  wheel3.write(VALSERVO_STOP);
  wheel4.write(VALSERVO_STOP);
  
  //Setup usb serial connection to computer
  Serial.begin(115200);
  //Setup Bluetooth serial connection to android
  bluetooth.begin(9600);  //Có thể thay đổi, thông thường là 115200 hay 9600
  delay(1000);
  Serial.println("HELLO I'M ROBOT :)");
}

//int flagMotor = -1;
//int flagServo = -1;

char CMD = 'S';
#define CMD_STOP 'S'
#define CMD_FORWARD 'F'
#define CMD_BACKWARD 'B'
#define CMD_TURNLEFT 'G'
#define CMD_TURNRIGHT 'I'
#define CMD_CROSSLEFT 'L'
#define CMD_CROSSRIGHT 'R'

int CMD_Index = 0;
char CMD_ARRAY[] = {CMD_STOP, CMD_FORWARD, CMD_STOP, CMD_BACKWARD, CMD_STOP, CMD_TURNLEFT, CMD_STOP, CMD_TURNRIGHT, CMD_STOP, CMD_CROSSLEFT, CMD_STOP, CMD_CROSSRIGHT};

unsigned long oldtime = 0;
void loop()
{
  if(bluetooth.available())
  {
    char valueBT = (char)bluetooth.read();
    Serial.println(valueBT);
    CMD = valueBT;
    CMD = valueBT==CHAR_BACKLEFT?CMD_TURNLEFT:valueBT;
    CMD = valueBT==CHAR_BACKRIGHT?CMD_TURNRIGHT:valueBT;
  }

/*  
    unsigned long t = millis();
    if(t - oldtime > 1000)
    {
      oldtime = t;
      CMD_Index = (++CMD_Index)%12;
    }
  CMD = CMD_ARRAY[CMD_Index];
  Serial.println(String(CMD));
*/  
  
  if(CMD == CMD_STOP)
  {
    wheel1.write(VALSERVO_STOP);
    wheel4.write(VALSERVO_STOP);
    wheel2.write(VALSERVO_STOP);
    wheel3.write(VALSERVO_STOP);
  }
    else if(CMD == CMD_FORWARD)
    {
      wheel1.write(VALSERVO_FORWARD);
      wheel4.write(VALSERVO_FORWARD);
      wheel2.write(VALSERVO_BACKWARD);
      wheel3.write(VALSERVO_BACKWARD);
    }
    else if(CMD == CMD_BACKWARD)
    {
      wheel1.write(VALSERVO_BACKWARD);
      wheel4.write(VALSERVO_BACKWARD);
      wheel2.write(VALSERVO_FORWARD);
      wheel3.write(VALSERVO_FORWARD);
    }
    else if(CMD == CMD_TURNLEFT)
    {
      wheel1.write(VALSERVO_BACKWARD);
      wheel4.write(VALSERVO_BACKWARD);
      wheel2.write(VALSERVO_BACKWARD);
      wheel3.write(VALSERVO_BACKWARD);
    }
    else if(CMD == CMD_TURNRIGHT)
    {
      wheel1.write(VALSERVO_FORWARD);
      wheel4.write(VALSERVO_FORWARD);
      wheel2.write(VALSERVO_FORWARD);
      wheel3.write(VALSERVO_FORWARD);
    }
    else if(CMD == CMD_CROSSLEFT)
    {
      wheel1.write(VALSERVO_BACKWARD);
      wheel4.write(VALSERVO_FORWARD);
      wheel2.write(VALSERVO_BACKWARD);
      wheel3.write(VALSERVO_FORWARD);
    }
    else if(CMD == CMD_CROSSRIGHT)
    {
      wheel1.write(VALSERVO_FORWARD);
      wheel4.write(VALSERVO_BACKWARD);
      wheel2.write(VALSERVO_FORWARD);
      wheel3.write(VALSERVO_BACKWARD);
    }
    delay(10);
}

Witam,

Utknąłem na tym projekcie

Zrobiłem jak na schemacie to nawet bluetooth się odpalił bo potrzebuje on 5v pomimo tego co pisze na nim że od 3.8 działa. Przerobiłem projekt na 7.4 volta i dałem stabilizator 5V przed układem. Robot po odpaleniu bluetootha pobiera jedna komendę i rozłącza go. Serwa pobierają energie i traci na chwile te swoje 5 voltów i nici ze stabilnego łącza. Ma ktoś jakiś pomysł jak wprowadzić w życie ten projekt?

schemat.jpg

  • Lubię! 1
Link do komentarza
Share on other sites

Możesz dać jakiś większy kondensator przy module blu...ale jeśli zasilacz z tego jednego stabilizatora 4 serwa Arduino i blu to zapomnij o tym że będzie działać...tutaj to nie było by przesada jeden stabilizator na jedno serwo i 5'ty do logiki (lepiej przetwornica)...jeśli zasilacz serwa z pakietu prosto to je spalisz...

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

28 minut temu, bst1979 napisał:

Ale jakim cudem temu gościowi z filmów to działa...

Bo on korzysta z 1s czyli max 4,2v...ty musisz obniżyć i potrzebujesz trochę prądu do zasilenia więc jeśli masz popularny 7805 to zapomnij że pociągnie całość...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

17 minut temu, bst1979 napisał:

Bo według jego schematu i jego napięcia z 1s nie działało w ogóle, dlatego podniosłem. Mam te same elementy dokładnie co gość

Teoretycznie wszystko z 1s powinno działać...może nie była ta bateria naładowana całkiem??

Zostaw na 2s i daj jakaś przetwornice lub kilka stabilizatorów...i będzie dzialac

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

3 godziny temu, bst1979 napisał:

Mógłbyś mi jakiś schemat podrzucić bo ja dopiero co raczkuje w elektronice:)

Zależy co będziesz używał...jak przetwornice to wszystkie piny 5v podpinasz razem i dajesz na wyjście przetwornicy(oczywiście ustawiasz na niej te 5v) reszta zostaje bez zmian...jeśli stabilizatory to daj każde serwo do jednego stabilizatora +5v reszta zostaje bez zmian..no i stabilizator dla Arduino też najlepiej osobny...

Link do komentarza
Share on other sites

52 minuty temu, deshipu napisał:

 a Arduino już ma swój stabilizator na pokładzie.

Racja...o tym zapomniałem całkowicie...

 

52 minuty temu, deshipu napisał:

 Więc po co te stabilizatory?

Serwa są na max 5-6v? A ogniwo max ma 8.4v więc odparuje bez stabilizatora...do tego jedno serwo pobierze 800-1000mA?(w szczycie) Czyli tyle ile da jeden stabilizator...więc albo kilka albo przetwornica na calosc

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

1 godzinę temu, farmaceuta napisał:

Serwa są na max 5-6v? A ogniwo max ma 8.4v więc odparuje bez stabilizatora...do tego jedno serwo pobierze 800-1000mA?(w szczycie) Czyli tyle ile da jeden stabilizator...więc albo kilka albo przetwornica na calosc

Skąd znasz parametry tych serw? Nie widzę nigdzie podanego modelu.

Link do komentarza
Share on other sites

1 godzinę temu, deshipu napisał:

Skąd znasz parametry tych serw? Nie widzę nigdzie podanego modelu.

Nie znam...to fakt😉 strzelam że są to sg90 czy coś podobnego...czyli raczej najmniejsze standardowe...jeśli były by większej mocy to tym bardziej trzeba dać po stabilizatorze na serwo lub przetwornice...co do napięć to standard...raczej większość nawet tych wiekszych nie toleruje 8.4v...(choć na pewno takie się znajdą) 

A tak...wspomniał autor że ma dokładnie te same części co gość na video czyli sg90

Z prądem przesadziłem bo google mówi że średnio 550mA max...choć to pewnie od firmy w dużym stopniu zależy...

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

(edytowany)

Co to takiego bost converter? Przetwornica step down? Czy step up?

Tu kolejny jego projekt:

Ciekawostka jest w 1:20m filmu wkłada coś czego na schemacie nie ma, jakaś przetwornica na oko

Edytowano przez bst1979
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.