asamblarea hexapod

11 (poate fi modificat)

asamblarea hexapod

La Servo Shield are doua surse de alimentare: o parte logica alimentat de Arduino, prin terminale de 5V (poate fi schimbat la 3V3) și GND, iar partea de alimentare Servo Shield alimentate separat, prin terminalele V + și GND tensiuni DC 5V la 2A (terminale verzi). Deoarece puterea Servo Shield consumă curenți mari, este nevoie de o sursă de alimentare separată. Nu putere puterea Servo Shield de ieșire 5V Arduino.

hexapod recomandat alimentarea de la o sursă de alimentare 7. 12B conectarea Arduino direct la sursă (de ieșire Vin), un scut servo unitate de putere prin 3A downconverter 5B.

Codul programului:

funcții de bibliotecă iarduino_Hexapod:

începe funcția ();
  • Scop: inițializarea hexapod.
  • Sintaxa: începe (tip_servoprivodov);
  • Parametri: SERVO_SG90, sau SERVO_MG90 sau SERVO_MG996R sau SERVO_FutabaS3003
  • Întoarcere Valori: Nici una.
  • Notă: Chemat 1 ori în codul de configurare.
  • exemplu:
go Funcția ();
  • Scop: Mișcarea hexapod.
  • sintaxa:
    • Opțiunea 1: du-te (X Y. Z.);
    • Opțiunea 2: du-te; (comanda parametr_komandy.)
  • Opțiuni:
    • X: -10 (stânga) la 10 (dreapta).
    • Y: -10 (înapoi) la 10 (înainte). - opțional
    • Z: -10 (în jos) la 10 (în sus). - opțional
    • echipa:
      • GO_ON - merge mai departe.
      • GO_BACK - mișcarea înapoi.
      • GO_LEFT - virați la stânga.
      • GO_RIGHT - rândul său, la dreapta.
      • GO_ON_LEFT - merge mai departe și virează la stânga.
      • GO_ON_RIGHT - merge mai departe și la dreapta.
      • GO_BACK_LEFT - mișcarea înapoi și la stânga.
      • GO_BACK_RIGHT - mișcarea înapoi și virați la dreapta.
      • COM_STOP - Stop.
      • COM_SIT - sta echipa.
      • COM_NOD - arcul echipa.
      • COM_UP - echipa în sus.
      • COM_LAY - minciună echipa.
      • COM_TEST - test de echipa.
      • COM_SLEEP - somn echipa.
      • COM_EMPTY - echipa martor.
    • parametr_komandy: la 0 la 10, care determină viteza sau nivelul. - opțional
  • Întoarcere Valori: Nici una.
  • exemplu:
) Funcția (set_motion;
  • Scop: Mișcarea membrelor hexapod.
  • Sintaxa: set_motion (№_konechnosti №_sustava polozhenie_sustava ..);
  • Opțiuni:
    • №_konechnosti: 1 până la 6 sau SERVO_ALL pentru toate membrele direct.
    • №_sustava: 1 (vertical) sau 2 (orizontal).
    • polozhenie_sustava: 0 (partea de jos sau din spate) la 100 (de sus sau din față) sau SERVO_FREE (deconectare servomotor).
  • Întoarcere Valori: Nici una.
  • exemplu:
) Funcția (set_motionA;
  • Scop: Mișcarea membrelor HEXAPODAL de grade.
  • Sintaxa: set_motionA; (№_konechnosti gradus_dvizheniya.)
  • Opțiuni:
    • №_konechnosti: 1 până la 6 sau SERVO_ALL pentru toate membrele imediat
    • gradus_dvizheniya :. 1 până la 360 cm Observatii
  • Întoarcere Valori: Nici una.
  • Notă: Imaginați-vă în mișcare un membru? Se repetă aceeași mișcare (uneori cu o scară diferită) se extinde în jos din față spre spate, merge în sus de sus rapid merge înainte, merge în jos, și totul se repetă. Dacă ne imaginăm întregul cerc de 360 ​​°, poziția fiecărui membru, puteți trimite un număr 1-360, acest lucru este gradus_dvizheniya.
  • exemplu:
) Funcția (calibrare;
  • Scop: îmbinări de calibrare HEXAPODAL ale membrelor.
  • Sintaxa: calibrare ();
  • Parametri: Nici unul.
  • Întoarcere Valori: Nici una.
  • Notă: Un apel 1 la fiecare cod de buclă. Ea intercepteaza apasă butoanele A și B
  • exemplu:

Biblioteca este disponibil pentru o variabilă: mersul pe jos uint8_t. specifică tipul de mers (implicit = 2).

  • 0 - toate membrele se mișcă în același mod, cum ar fi înot bras
  • 1 - picioare care se deplasează cu o întârziere de 1/6, în această ordine: 1,2,3,4,5,6
  • 2 - picioare care se deplasează cu o întârziere de 1/6, în această ordine: 1,3,5,2,4,6
  • 3 - picioare care se deplasează cu o întârziere de 1/6, în această ordine: 1,4,5,2,3,6

calibrare:

Deoarece este imposibil să se stabilească perfect Servomecanismele în articulațiile de mijloc ale extremităților, biblioteca are o calibrare iarduino_Hexapod funcție (), care este indicat în codul buclă. Această caracteristică intercepteaza apăsarea butoanelor A și B, și efectuează procesul de calibrare, permițându-vă să salvați poziția centrală reală a articulațiilor în EEPROM de memorie non-volatilă.

În cazul în care calibrarea nu este niciodată făcută, HEXAPODAL nu va răspunde la comenzi, iar LED-ul se va aprinde continuu.

  • Apăsați și mențineți apăsate ambele butoane A și B:
      HEXAPODAL intră în modul de setare a rosturilor verticale:
    • Toate articulațiile sunt dezactivate (orizontală și verticală).
      (LED-ul clipește uniform de 1 ori pe secundă)
    • Prin apăsarea butonului A va ridica toate rosturile verticale.
      (LED-ul clipește adus la viață)
    • Prin apăsarea butonului B va dezactiva toate rosturile verticale.
      (LED-ul clipește uniform de 1 ori pe secundă)
    • Apăsând și menținând atât butoanele A și B duce la ieșirea din acest mod.
  • Deconectați toate îmbinările verticale ale actuatoarelor.
  • Apăsați și butonul de eliberare A. Veți auzi tot rândul său servomecanisme.
  • Fix toate rosturile verticale la Servomecanismele. astfel încât acestea au fost în poziția cea mai înaltă.
  • Apăsați și mențineți apăsate ambele butoane A și B:
      HEXAPODAL va trece la modul de centrare articulațiilor verticale:
    • Toate rosturile orizontale sunt dezactivate, iar verticală se va deplasa în poziția de centru convențional.
      (LED-ul se aprinde pentru scurt timp, după o pauză lungă)
    • Prin apăsarea butonului A va duce la o creștere a centrarea îmbinării verticale.
      (LED-ul se aprinde pentru scurt timp după o pauză scurtă)
    • Prin apăsarea butonului B va conduce la o scădere a centrarea îmbinării verticale.
      (LED-ul se aprinde pentru scurt timp după o pauză scurtă)
    • Ținând apăsat O voință de tranziție la următoarea aliniere la nivelul membrelor
    • Țineți apăsat butonul B se va deplasa alinierea la nivelul membrelor anterioare
    • Apăsând și menținând atât butoanele A și B duce la ieșirea din acest mod.
  • Țineți apăsat A sau B. Unul dintre creșterea membrelor și toamna, atunci când eliberați butonul.
  • Apăsați A sau B, setați membrul într-o poziție verticală centrală.
  • Repetați cei doi pași anteriori pentru fiecare membru. În timp ce HEXAPODAL nu va fi paralelă cu suprafața.
  • Apăsați și mențineți apăsate ambele butoane A și B:
      HEXAPODAL va intra în modul de centrare rosturi orizontale:
    • Toate rosturile orizontale sunt dezactivate, iar verticală se va deplasa în jos.
      (LED-ul este aprins pentru o lungă perioadă de timp, cu pauze scurte)
    • Prin apăsarea butonului A va porni centrarea înainte comun orizontală.
      (lumini cu LED-uri, cu pauze scurte)
    • Prin apăsarea butonului B va porni de centrare în comun orizontală în urmă.
      (lumini cu LED-uri, cu pauze scurte)
    • Ținând apăsat O voință de tranziție la următoarea aliniere la nivelul membrelor
    • Țineți apăsat butonul B se va deplasa alinierea la nivelul membrelor anterioare
    • Apăsând și menținând atât butoanele A și B duce la ieșirea din acest mod.
  • Țineți apăsat A sau B. Unul dintre membrelor se va ridica.
  • Apăsați A sau B, setați membrul într-o poziție centrală pe orizontală.
  • Repetați cei doi pași anteriori pentru fiecare membru. Până în prezent, toate membrele nu vor fi paralele.
  • Apăsați și mențineți apăsate ambele butoane A și B:
      HEXAPODAL va intra în modul de testare:
    • Acest mod este automat și nu necesită nici o intervenție.
      (LED-ul este aprins continuu)
    • Conform testului HEXAPODAL se va încheia modul de calibrare.
      (LED-ul este oprit)
  • HEXAPODAL este acum gata de a executa comenzi.

discuție