Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este instrutível foi criado em cumprimento ao requisito do projeto do curso Make na University of South Florida (www.makecourse.com)"
Este projeto simples é inspirado em uma plataforma de autobalanceamento que recebe feedback do sensor do acelerômetro. Verifique se você ainda não o fez.
O projeto usa o Arduino UNO - um microcontrolador fácil de usar que você pode obter em sites de compras online! Neste instrutível, mostrarei como você pode fazer sua própria plataforma de inclinação programável - desde o processo de design até o fornecimento de peças, arquivos de impressão 3D, montagem e programação. Continue e vamos seguir em frente!
Etapa 1: Componentes necessários e peças impressas em 3D
A lista dos componentes usados para o projeto:
1. Microcontrolador Arduino UNO.
2. Prancha com fios de jumper.
3. Uma caixa.
4. Plataforma circular
5. Labirinto.
6. Ligações - 3 não
7. A Base para montagem de três servos.
8. Sensor giroscópico / acelerômetro. (MPU6050)
Fios de 9,1sq mm (500 cm) - 4 n ° s
10. Esferas de aço de 3 mm de diâmetro.
A maioria das peças usadas para o projeto são impressas em 3D e anexei o stl. arquivos prontos para impressão.
Monte todas as peças conforme mostrado nas figuras. O labirinto é colado a quente à plataforma circular para ter a aparência da foto. Os três servos devem ser colados a quente na base impressa em 3D que está montada na tampa da caixa. A caixa contém o Arduino UNO e o breadboard montados conforme mostrado na figura. A configuração da placa de ensaio será discutida na próxima etapa.
Após a montagem, o protótipo final deve ter a aparência da última foto.
Etapa 2: configuração da placa de ensaio
Após a montagem, o Arduino, o sensor do acelerômetro e os servos são conectados conforme descrito a seguir.
Os trilhos positivo e negativo na placa de ensaio são conectados a 5V e GND do Arduino, respectivamente. O sensor é conectado ao Arduino usando os fios de meio metro que devem ser soldados ao sensor de forma que os pinos VCC e GND do sensor sejam conectados aos trilhos + ve e -ve na placa de ensaio, respectivamente. Os pinos SCL e SDA do sensor devem ser conectados aos pinos analógicos A5 e A4 do Arduino. Os pinos PWM dos três servos são conectados a 2, 3, 4 pinos do Arduino respectivamente e os pinos + ve e -ve de todos os servos são conectados aos trilhos + ve e -ve da placa de ensaio. com isso, nossas conexões são feitas.
Etapa 3: Código para o projeto
você pode baixar as bibliotecas MPU6050 e Servo da internet e usá-las para o projeto. Compile e carregue o seguinte código para o Arduino e o projeto está pronto. Incline o sensor e você verá o labirinto se inclinando na mesma direção! Leva algum tempo para resolver o quebra-cabeça, pois é um pouco desafiador, mas é divertido de jogar.
#incluir
#incluir
#incluir
Servo Servo1;
Servo Servo2;
Servo Servo3;
Sensor MPU6050;
int servoPos1 = 90;
int servoPos2 = 90;
int servoPos3 = 90;
int16_t ax, ay, az;
int16_t gx, gy, gz;
void setup ()
{
Servo1.attach (2);
Servo2.attach (3);
Servo3.attach (4);
Wire.begin ();
Serial.begin (9600);
}
void loop ()
{
sensor.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
ax = mapa (ax, -17000, 17000, 0, 180);
ay = mapa (ay, -17000, 17000, 0, 180);
Serial.print ("ax =");
Serial.print (ax);
Serial.print ("ay =");
Serial.println (ay);
if (ax <80 && ay <80) {
Servo1.write (servoPos1 ++);
Servo2.write (servoPos2--);
Servo3.write (servoPos3--); }
if (ax 120) {
Servo1.write (servoPos1--);
Servo2.write (servoPos2 ++);
Servo3.write (servoPos3--); }
if (ax> 120 && ay> 0) {
Servo1.write (servoPos1--);
Servo2.write (servoPos2--);
Servo3.write (servoPos3 ++); }
if (ax == 90 && ay == 90) {
Servo1.write (0);
Servo2.write (0);
Servo3.write (0);
}
}