1.
Elementos utilizados.
·
Contrachapado
·
Cable
·
Conectores
·
2xInterruptores
·
Conmutador de tres posiciones
·
Bombilla
·
3xLed
·
Motor eléctrico
·
Zumbador
·
2xPoleas
·
Goma
·
Ruedas
·
Bisagras
·
Placa arduino
·
2xAltavoces
·
Pila de 4,5v
·
Pila de 9v
·
Marioneta Stephen.
2.
Explicación del funcionamiento.
El funcionamiento del motor es debido a un conmutador
de tres posiciones, en la central, el motor no recibe corriente, en la derecha,
el motor recibe corriente y avanza a la vez que se encienden dos leds en la
parte frontal, en la posición izquierda, el motor recibe corriente en sentido
contrario, lo que le hace retroceder y a la vez se enciende un led en la parte
trasera de la silla. Además hay otros dos circuitos, uno con un zumbador,
activado con un interruptor y otro con una luz en la parte delantera que se
enciende con otro interruptor. Todo esto es alimentado con una pila de 4,5 V.
A parte hay un circuito arduino con un hilo musical
con la canción del Imperio de StarsWars, este circuito está formado por dos
altavoces, una placa arduino, un potenciómetro para regular la intensidad
sonora de dicho hilo musical. Todo esto es alimentado con una pila de 9 V.
3.
Programa relacionado con Arduino.
Hilo Musical
**/
|
|
constint c = 261;
|
|
constint d = 294;
|
|
constint e = 329;
|
|
constint f = 349;
|
|
constint g = 391;
|
|
constintgS = 415;
|
|
constint a = 440;
|
|
constintaS = 455;
|
|
constint b = 466;
|
|
constintcH = 523;
|
|
constintcSH = 554;
|
|
constintdH = 587;
|
|
constintdSH = 622;
|
|
constinteH = 659;
|
|
constintfH = 698;
|
|
constintfSH = 740;
|
|
constintgH = 784;
|
|
constintgSH = 830;
|
|
constintaH = 880;
|
|
constintbuzzerPin =
8;
|
|
constint ledPin1 =
12;
|
|
constint ledPin2 =
13;
|
|
intcounter = 0;
|
|
voidsetup()
|
|
{
|
|
//Setup pin modes
|
|
pinMode(buzzerPin,
OUTPUT);
|
|
pinMode(ledPin1,
OUTPUT);
|
|
pinMode(ledPin2,
OUTPUT);
|
|
}
|
|
voidloop()
|
|
{
|
|
//Play firstsection
|
|
firstSection();
|
|
//Play secondsection
|
|
secondSection();
|
|
beep(f, 250);
|
|
beep(gS, 500);
|
|
beep(f, 350);
|
|
beep(a, 125);
|
|
beep(cH, 500);
|
|
beep(a, 375);
|
|
beep(cH, 125);
|
|
beep(eH, 650);
|
|
delay(500);
|
|
//Repeatsecondsection
|
|
secondSection();
|
|
//Variant 2
|
|
beep(f, 250);
|
|
beep(gS, 500);
|
|
beep(f, 375);
|
|
beep(cH, 125);
|
|
beep(a, 500);
|
|
beep(f, 375);
|
|
beep(cH, 125);
|
|
beep(a, 650);
|
|
delay(650);
|
|
}
|
|
voidbeep(int note,
intduration)
|
|
{
|
|
//Play toneonbuzzerPin
|
|
tone(buzzerPin,
note, duration);
|
|
//Play different LED
dependingonvalue of 'counter'
|
|
if(counter % 2 == 0)
|
|
{
|
|
digitalWrite(ledPin1,
HIGH);
|
|
delay(duration);
|
|
digitalWrite(ledPin1,
LOW);
|
|
}else
|
|
{
|
|
digitalWrite(ledPin2,
HIGH);
|
|
delay(duration);
|
|
digitalWrite(ledPin2,
LOW);
|
|
}
|
|
//Stop toneonbuzzerPin
|
|
noTone(buzzerPin);
|
|
delay(50);
|
|
//Incrementcounter
|
|
counter++;
|
|
}
|
|
voidfirstSection()
|
|
{
|
|
beep(a, 500);
|
|
beep(a, 500);
|
|
beep(a, 500);
|
|
beep(f, 350);
|
|
beep(cH, 150);
|
|
beep(a, 500);
|
|
beep(f, 350);
|
|
beep(cH, 150);
|
|
beep(a, 650);
|
|
delay(500);
|
|
beep(eH, 500);
|
|
beep(eH, 500);
|
|
beep(eH, 500);
|
|
beep(fH, 350);
|
|
beep(cH, 150);
|
|
beep(gS, 500);
|
|
beep(f, 350);
|
|
beep(cH, 150);
|
|
beep(a, 650);
|
|
delay(500);
|
|
}
|
|
voidsecondSection()
|
|
{
|
|
beep(aH, 500);
|
|
beep(a, 300);
|
|
beep(a, 150);
|
|
beep(aH, 500);
|
|
beep(gSH, 325);
|
|
beep(gH, 175);
|
|
beep(fSH, 125);
|
|
beep(fH, 125);
|
|
beep(fSH, 250);
|
|
delay(325);
|
|
beep(aS, 250);
|
|
beep(dSH, 500);
|
|
beep(dH, 325);
|
|
beep(cSH, 175);
|
|
beep(cH, 125);
|
|
beep(b, 125);
|
|
beep(cH, 250);
|
|
delay(350);
|
|
}
Pantalla
// IngenieriaElectronica.ORG
#include<LiquidCrystal.h> // Libreria para que funcione el LCD
LiquidCrystallcd(12, 11, 5, 4, 3, 2); // esta linea muestra en que
pines debe ir conectado la pantalla LCD a nuestro Arduino
lcd.begin(16, 2); // Con esta instrucción indicamos cual es la
proporción de nuestro LCD
lcd.print("INGENIERIAELEC-"); // Una instrucción muy
importante ya que con esta imprimiremos el texto en nuestra pantalla
}
voidloop() {
lcd.setCursor(0, 1); // con esta linea damos a entender que la
primera fila de nuestro LCd ya esta siendo usada por lo cual queremos usar la
segunda
lcd.print("TRONICA.ORG:"); // Al ser colocadar debajo de
la instrucción anterior, este mensaje se mostrara en la segunda fila del LCD
lcd.println(millis() / 1000); // Con esta instrucción realizamos un
simple contador y con Prinln indicamos que queremos que se imprima en la
segunda fila, después de la instrucción anterior.
}
|
|
5.
Vídeo de funcionamiento
6.
Comentarios posibles mejoras o aplicaciones
-
En el futuro le pondremos dos motores (cada rueda
trasera uno) para que pudiese girar.
-
Aunque hemos hecho una pantalla con el nombre del
prestigioso físico, no hemos podido acoplársela por falta de tiempo.
-
Haber montado todo el funcionamiento de la silla de
ruedas en un mando a distancia o smarthphone, pero no ha sido posible porque no
ha habido suficiente presupuesto.
-
Podríamos haber añadido otro hilo musical que
pudiera ser intercambiado con el otro hilo musical ya existente, con un mando a
distancia, porque el que hay se hace tedioso y un poco insoportable a la larga.
Realizando
este proyecto nos lo hemos pasado muy bien y se realizarán futuras mejoras en
la versión Stephen 3.0
Comentarios
Publicar un comentario