Sisällysluettelo:

Gyrosensorin ohjaama taso sokkelo -palapelille: 3 vaihetta
Gyrosensorin ohjaama taso sokkelo -palapelille: 3 vaihetta

Video: Gyrosensorin ohjaama taso sokkelo -palapelille: 3 vaihetta

Video: Gyrosensorin ohjaama taso sokkelo -palapelille: 3 vaihetta
Video: 10 лучших электровелосипедов c Aliexpress, лучшие Фэтбайки 2020 2024, Heinäkuu
Anonim
Gyrosensorin ohjaama taso sokkelo -palapelille
Gyrosensorin ohjaama taso sokkelo -palapelille

Tämä ohje on luotu täyttämään Etelä -Floridan yliopiston Make -kurssin (www.makecourse.com) projektivaatimus."

Tämä yksinkertainen projekti on saanut vaikutteita itsetasapainottavasta alustasta, joka ottaa palautetta kiihtyvyysanturianturilta. Tarkista, jos et ole jo tehnyt.

Projekti käyttää Arduino UNO - Helppokäyttöistä mikrokontrolleria, jonka saat verkkokaupoissa! Tässä ohjeessa näytän, kuinka voit tehdä oman ohjelmoitavan kallistusalustasi - suunnitteluprosessista osien hankintaan, 3D -tulostustiedostoihin, kokoonpanoon ja ohjelmointiin. Pidä kiinni ja mennään eteenpäin!

Vaihe 1: Tarvittavat komponentit ja 3D -tulostetut osat

Tarvittavat komponentit ja 3D -tulostetut osat
Tarvittavat komponentit ja 3D -tulostetut osat
Tarvittavat komponentit ja 3D -tulostetut osat
Tarvittavat komponentit ja 3D -tulostetut osat
Tarvittavat komponentit ja 3D -tulostetut osat
Tarvittavat komponentit ja 3D -tulostetut osat

Luettelo hankkeessa käytetyistä komponenteista:

1. Arduino UNO -mikro -ohjain.

2. leipälevy hyppyjohtimilla.

3. laatikko.

4. pyöreä alusta

5. sokkelo.

6. Linkit - 3 Ei

7. Jalusta kolmen servon asentamiseen.

8. Gyro/kiihtyvyysanturi. (MPU6050)

9,1 m²: n johdot (500 cm) - 4 ei

10. 3 mm halkaisijaltaan teräskuulat.

Suurin osa projektissa käytetyistä osista on 3D -tulostettuja ja olen liittänyt stl. tiedostot tulostusta varten.

Kokoa kaikki osat kuvien mukaisesti. Sokkelo on liimattu pyöreälle alustalle kuuman liiman mukaan. Kolme servoa tulee liimata kuumalla 3D -tulostetulle alustalle, joka on asennettu laatikon kanteen. Laatikko sisältää Arduino UNO: n ja Breadboardin, jotka on koottu kuvan mukaisesti. Leipälevyn asetuksista keskustellaan seuraavassa vaiheessa.

Kokoonpanon jälkeen lopullisen prototyypin pitäisi näyttää viimeisen kuvan mukaiselta.

Vaihe 2: Leipälevyn asennus

Leipälevyn asetukset
Leipälevyn asetukset
Leipälevyn asetukset
Leipälevyn asetukset
Leipälevyn asetukset
Leipälevyn asetukset

Asennuksen jälkeen Arduino, kiihtyvyysanturi, servot kytketään alla kuvatulla tavalla.

Leipälevyn positiiviset ja negatiiviset kiskot on kytketty Arduinon 5 V ja GND -kiskoihin. Anturi on liitetty Arduinoon käyttämällä puolimetrisiä johtoja, jotka on juotettava anturiin siten, että anturin VCC- ja GND -nastat liitetään vastaavasti +ve- ja -ve -kiskoihin. Anturin SCL- ja SDA -nastat liitetään Arduinon analogisiin A5- ja A4 -nastoihin. Kolmen servon PWM -nastat on kytketty vastaavasti Arduinon 2, 3, 4 nastaan ja kaikkien servojen +ve ja -ve nastat on yhdistetty leipälevyn +ve ja -ve kiskoihin. tämän avulla yhteytemme on tehty.

Vaihe 3: Projektin koodi

Voit ladata MPU6050- ja Servo -kirjastoja Internetistä ja käyttää niitä projektissa. Käännä ja lähetä seuraava koodi Arduinolle ja projekti on valmis. Kallista anturia ja näet sokkelon kallistuvan samaan suuntaan! Palapelin ratkaiseminen kestää jonkin aikaa, koska se on hieman haastava, mutta sen kanssa on hauskaa pelata.

#sisältää

#sisältää

#sisältää

Servo Servo1;

Servo Servo2;

Servo Servo3;

MPU6050 -anturi;

int servoPos1 = 90;

int servoPos2 = 90;

int servoPos3 = 90;

int16_t kirves, ay, az;

int16_t gx, gy, gz;

mitätön asennus ()

{

Servo1.kiinnitys (2);

Servo2.liitin (3);

Servo3.kiinnitys (4);

Wire.begin ();

Sarja.alku (9600);

}

tyhjä silmukka ()

{

sensor.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);

kirves = kartta (kirves, -17000, 17000, 0, 180);

ay = kartta (ay, -17000, 17000, 0, 180);

Sarjajälki ("ax =");

Sarjanjälki (kirves);

Serial.print ("ay =");

Sarja.println (ay);

jos (kirves <80 && ay <80) {

Servo1.write (servoPos1 ++);

Servo2.write (servoPos2--);

Servo3.write (servoPos3--); }

jos (kirves 120) {

Servo1.write (servoPos1--);

Servo2.write (servoPos2 ++);

Servo3.write (servoPos3--); }

jos (kirves> 120 && ay> 0) {

Servo1.write (servoPos1--);

Servo2.write (servoPos2--);

Servo3.write (servoPos3 ++); }

jos (ax == 90 && ay == 90) {

Servo1.write (0);

Servo2.write (0);

Servo3.write (0);

}

}

Suositeltava: