Realizado por sus alumnos: Alberto,
Juan y Miguel Ángel
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
Stars Wars, 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
**/
|
|
|
|
const int c =
261;
|
|
const int d =
294;
|
|
const int e =
329;
|
|
const int f =
349;
|
|
const int g =
391;
|
|
const int gS =
415;
|
|
const int a =
440;
|
|
const int aS =
455;
|
|
const int b =
466;
|
|
const int cH =
523;
|
|
const int cSH
= 554;
|
|
const int dH =
587;
|
|
const int dSH
= 622;
|
|
const int eH =
659;
|
|
const int fH =
698;
|
|
const int fSH
= 740;
|
|
const int gH =
784;
|
|
const int gSH
= 830;
|
|
const int aH =
880;
|
|
|
|
const int
buzzerPin = 8;
|
|
const int
ledPin1 = 12;
|
|
const int
ledPin2 = 13;
|
|
|
|
int counter =
0;
|
|
|
|
void setup()
|
|
{
|
|
//Setup pin modes
|
|
pinMode(buzzerPin, OUTPUT);
|
|
pinMode(ledPin1, OUTPUT);
|
|
pinMode(ledPin2, OUTPUT);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
|
|
//Play first section
|
|
firstSection();
|
|
|
|
//Play second section
|
|
secondSection();
|
|
|
|
//Variant 1
|
|
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);
|
|
|
|
//Repeat second section
|
|
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);
|
|
}
|
|
|
|
void beep(int
note, int duration)
|
|
{
|
|
//Play tone on buzzerPin
|
|
tone(buzzerPin, note, duration);
|
|
|
|
//Play different LED depending on value of
'counter'
|
|
if(counter % 2 == 0)
|
|
{
|
|
digitalWrite(ledPin1, HIGH);
|
|
delay(duration);
|
|
digitalWrite(ledPin1, LOW);
|
|
}else
|
|
{
|
|
digitalWrite(ledPin2, HIGH);
|
|
delay(duration);
|
|
digitalWrite(ledPin2, LOW);
|
|
}
|
|
|
|
//Stop tone on buzzerPin
|
|
noTone(buzzerPin);
|
|
|
|
delay(50);
|
|
|
|
//Increment counter
|
|
counter++;
|
|
}
|
|
|
|
void
firstSection()
|
|
{
|
|
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);
|
|
}
|
|
|
|
void
secondSection()
|
|
{
|
|
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
voidsetup() {
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.
}
|
|
4. Esquema
de conexiones realizado con Fritzing
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.
Conclusión del proyecto realizado.
Realizando este
proyecto nos lo hemos pasado muy bien y se realizarán futuras mejoras en la
versión Stephen 3.0