BAT teléfono de teléfono giratorio antiguo

descargo de responsabilidad: No rotatorio viejos teléfonos estuvieron lastimados en este proyecto!   Había comprado un montón de teléfonos rotatorios de una venta de inmuebles y esta compra incluyó una caja de teléfonos rotos y piezas del teléfono.  Es de esta caja que me dio mi prima no un teléfono rotatorio de trabajo. 

Esto no es un Instructable completo ya que ha podido tomar las fotos adecuadas en el camino pero espero poder hacer otro de estos (espero mejor) y se documentan mejor en aquel momento.

Vi el Instructable siguiente de guidomax: (¡ gracias guidomax!)   y tener una colección de piezas de teléfonos rotatorias, quería ver qué podía hacer con ellos.

Decido que yo intentaría hacer que el teléfono de bat con la señal y presentarla como un regalo a mi hija para las vacaciones.

Aquí está un breve vídeo de su funcionamiento.  La música es mucho más fuerte en persona.

mis pasos:
1. en primer lugar, me referí al Instructable arriba a ver si podría conseguir el funcionamiento de la interfaz y como se sugiere en el Instructable, fue bastante fácil hacerlo.

2. tomó un cuerpo de teléfono viejo y pintado y aerosol pintado de color rojo.  También hice el auricular y el cable.

3. quería que el código de Arduino para jugar el tema de Batman y producir un murciélago de la señal cuando "B", "A", "T", "M", "A", "N" marcó en el teléfono.

El código fue tomar el código de guidomax y modificar lo para en vez de una salida serial a la computadora, lo acabo de comprobar la adecuada cadena de números están marcados.  Por ejemplo BATMAN es "228626". Viendo el Arduino esta cadena, comenzó la canción y encendido la señal bat.

La canción: tenía un Adafruit protector de la onda que nunca había utilizado y vio esto como una oportunidad para comprobar hacia fuera. Tuvo un buen día para poder construirlo (viene como un kit) y luego hay un procedimiento que debe seguirse para obtener el archivo wav en el escudo.  Es un procedimiento fácil si utilizas iTunes.  Basta con comprar la canción y convertirlo como sea necesario utilizando el menú de iTunes y arrastrar al escudo. Sin iTunes es más pero la página de Adafruit le guía a través de él.

La señal del murciélago: Varios otros Instructables muestra cómo hacer una señal y tomé lo que pude de ellos pero más o menos fue ensayo y error antes de que se me ocurrió la idea de final.  I cortar una botella de agua sobre por la mitad y poner un pequeño agujero en el tapón de rosca. He insertado un LED rojo en el agujero pequeño. Pinté la tapa negra.  Para obtener la imagen se muestran bastante bien, necesitaba un símbolo pequeño palo y colocar delante de la botella.  Que trabajado pero creo que debe haber una manera mejor.   Caliente pegué el frasco a un apertura que hice en la parte posterior del teléfono (pegamento caliente es maravillosa!).

El código: mi idea original era tener varios súper héroes en el código. es decir si usted marcó Batman, tienes el tema musical y la señal, si usted marcó SUPERMAN, tienes música diferentes, etc..  Así podrás ver algo de código que está ahí para ese propósito pero nunca conseguí ahora.  Es solo BATMAN.

Batmanv2
Este intento de tener varios wav archivos y juega una adecuada
basado en la secuencia de números marcados en el teléfono
Si 228626b entonces tocan el tema de batman

#include < FatReader.h >
#include < SdReader.h >
#include < avr/pgmspace.h >
#include "WaveUtil.h"
#include "WaveHC.h"

Tarjeta SdReader;    Este objeto contiene la información de la tarjeta
FatVolume vol;    Contiene la información de la partición en la tarjeta
FatReader raíz;   Esto contiene la información para el sistema de archivos en la tarjeta
FatReader f;      Esto contiene la información del archivo estamos jugamos

Ola WaveHC;      Este es el único objeto (audio) de la onda, puesto que sólo jugaremos uno a la vez

#define DEBOUNCE 100 / botón debouncer

--desde V1---
// -----------------
int needToPrint = 0;
int cuenta;
mina
int rojo = 8;
int in_from_dial = 7;
lightOn int = 6;
int craddleUp = 9;
int val = bajo;     variable para almacenar el valor leído
//
int lastState = bajo;
int trueState = bajo;
lastStateChangeTime largo = 0;
borrados int = 0;

constantes

int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;

cadenas
Cadena de reemplazos;
Char [] Tester = "123";

Char [] Batman = "228626";
Char [Spiderman] = "774337626";
Char [Superman] = "78737626";
Char [] Batgirl = "2284475";

-fin de V!---

void setup() {}
Configurar puerto serie
Serial.Begin(9600);
putstring_nl ("WaveHC con canciones selectas");

putstring ("memoria RAM libre:");       Esto puede ayudar con la depuración, es malo quedarse sin RAM
Serial.println(freeRam());      Si es menor de 150 bytes escribe con problemas!

Configurar los pines de salida para el control de la DAC. Este los pernos se definen en la biblioteca
pinMode (2, salida);
pinMode (3, salida);
pinMode (4, salida);
pinMode (5, salida);

de V1
pinMode (in_from_dial, entrada);  12
pinMode (lightOn, salida);    11
pinMode(craddleUp,INPUT);  9
pinMode(redLed,OUTPUT);  9
final v1

pin13 LED
pinMode (13, salida);



Si (! card.init(true)) //play con spi de 4 MHz si 8MHz no funciona para usted
Si (! card.init()) {//play con spi de 8 MHz (por defecto más rápido!)
putstring_nl ("tarjeta init. no se pudo!");  Algo salió mal, permite imprimir por qué
sdErrorCheck();
while(1);                            entonces 'detener': ¡ no!
}

permiten optimizar la lectura - algunas tarjetas pueden tiempo de espera. Desactivar si tienes problemas
card.partialBlockRead(true);

Ahora buscaremos una partición FAT!
parte de uint8_t;
para (parte = 0; parte < 5; parte ++) {/ / tenemos hasta 5 ranuras en
Si (vol.init (tarjeta, parte))
rotura;                             encontró uno, permite la libertad bajo fianza
}
Si (parte == 5) {/ / si terminamos por no encontrar uno :(
putstring_nl ("No válida partición FAT!");
sdErrorCheck();      Algo salió mal, permite imprimir por qué
while(1);                            entonces 'detener': ¡ no!
}

Permite decir que el usuario lo que encontramos
putstring ("partición de uso");
Serial.Print (parte, DEC);
putstring (", el tipo es grasa");
Serial.println(Vol.fatType(),DEC);     ¿FAT16 o FAT32?

Intente abrir el directorio raíz
Si (! {root.openRoot(vol))}
putstring_nl ("no se puede abrir raíz dir!"); Algo salió mal,
while(1);                             entonces 'detener': ¡ no!
}

¡ UF! Llegamos pasado las partes difíciles.
putstring_nl("Ready!");
}

Aquí se trata de
el bucle continúa hasta que el receptor es pickerd
a continuación, la secuencia de marcación es registrada y revisada
Si se encuentra un golpe, encienda la luz (de Batman) y/o
reproducir la canción

void loop() {}


Espere a que el receptor a izar
una vez levantado, entonces la marcación puede comprobarse
encender led para mostrar que el teléfono está vivo rojo
Val = digitalRead(craddleUp);   leer la entrada de pin


Si (val == HIGH) {}

digitalWrite (rojo, alto);


lectura de int = digitalRead(in_from_dial);

Si ((millis()-lastStateChangeTime) > dialHasFinishedRotatingAfterMs) {}
el disco no está marcado, o acaba siendo marcado.
Si (needToPrint) {}
apenas ha terminado siendo marcado, es necesario enviar el número de abajo el serial
línea y restablecer la cuenta. Que mod la cuenta por 10 porque '0' enviará 10 impulsos.
Serial.println (% de la cuenta 10, DEC);

Ahora necesitamos agregar la cuenta a la secuencia de la prueba y luego probarlo contra el
cadena necesaria para obtener un éxito
newstring.concat(Count);

Si cadena es igual a Batman, encender la luz y empezar a archivo wav
Serial.println(newstring);
Delay(2000);
// --------------------
// -------------- Batman -----------------
Si ((newstring.equals(Batman)) || (newstring.equals(Tester))) {
digitalWrite (lightOn, HIGH);

playcomplete ("BATMAN. WAV");
digitalWrite(lightOn,LOW);

}
---Spiderman---
Si (newstring.equals(Spiderman)) {}
bat_signal();
playcomplete("1.wav");
}
// --------------Superman -----------------
Si (newstring.equals(Superman)) {}
bat_signal();
playcomplete("1.wav");
}
// -------------- BatGirl -----------------
Si (newstring.equals(Batgirl)) {}
bat_signal();
playcomplete("1.wav");
}

needToPrint = 0;
cuenta = 0;
borra = 0;
}

}

Si (leer! = lastState) {}
lastStateChangeTime = millis();
}
Si ((millis()-lastStateChangeTime) > debounceDelay) {}
Debounce - esto ocurre una vez es stablized
Si (leer! = trueState) {}
Esto significa que el interruptor ha pasado apenas de cerrado -> abrir o viceversa.
trueState = lectura;
Si (trueState == HIGH) {}
incrementar el número de pulsos si se ha ido alta.
cuenta ++;
needToPrint = 1; Necesitamos imprimir este número (una vez finalizada la esfera giratoria)
}
}
}
lastState = lectura;
}
otra cosa
{
reemplazos = "";
digitalWrite (lightOn, LOW);
digitalWrite(redLed,LOW);
}

}

Reproduce un archivo completo de principio a fin sin pausa.
void playcomplete(char *name) {}
llamar a nuestro ayudante para buscar y reproducir este nombre
playfile(Name);
mientras (wave.isplaying) {}
no hacer nada durante la reproducción de su
}
su hecho reproduciendo
}

void playfile(char *name) {}
ver si el objeto ola está haciendo algo
Si (wave.isplaying) {/ / así que ya está reproduciendo algo, stop!
Wave.STOP(); Basta
}
Buscar en el directorio raíz y abre el archivo
Si (! f.open (raíz, nombre)) {}
putstring ("no puede abrir archivo"); Serial.Print(Name); retorno;
}
Leer bien el archivo y convertirlo en un objeto de onda
Si (! {wave.create(f))}
putstring_nl ("no un válido WAV"); retorno;
}

OK el tiempo para jugar! iniciar la reproducción
Wave.Play();
}

Esta práctica función devolverá el número de bytes actualmente libres en RAM, ideal para depuración!
int freeRam(void)
{
extern int __bss_end;
extern int * __brkval;
int free_memory;
Si ((int) __brkval == 0) {}
free_memory = ((int) & free_memory)-((int) & __bss_end);
}
Else {}
free_memory = ((int) & free_memory)-((int) __brkval);
}
volver free_memory;
}

void sdErrorCheck(void)
{
Si (! card.errorCode()) retorno;
putstring ("\n\rSD I/O error:");
Serial.Print(Card.ErrorCode(), hexagonal);
putstring (",");
Serial.println(Card.errorData(), hexagonal);
while(1);
}

El Arduino que utilicé fue un UNO

Una vez más, deseo que tenía más fotos y más documentación. La próxima vez.

Mi hija pensó es un don limpio y parecía feliz pero eso es lo que hacen hijas. :)

Artículos Relacionados

EPIC utiliza para un teléfono Android antiguo

EPIC utiliza para un teléfono Android antiguo

Tener un teléfono Android antiguo que ha ido recogiendo polvo aquí están algunos excelente forma de reutilizar sin desarmarlaPaso 1: Convertirlo en un controlador de media páginaIncluso el dispositivo Android viejo junkiest tiene un amplio poder para
Hacer un micrófono giratorio

Hacer un micrófono giratorio

este Instructable describe cómo yo un micrófono giratorio con pocos electrónica básica y algunos artículos comunes del hogar. Puede utilizar un micrófono giratorio para simular el efecto de doppler como la de un altavoz de leslie. El micrófono girato
Bebé Monitor con un teléfono Android antiguo

Bebé Monitor con un teléfono Android antiguo

Haberse convertido recientemente en padre abrió un nuevo mundo de necesidades, entre que es mantener un ojo en su bebé o simplemente tener que hacer cosas mientras el bebé duerme en otra habitación.Haber pasado por varias opciones, como una webcam de
Teléfono rotatorio hecho de baja tecnología inalámbrica.

Teléfono rotatorio hecho de baja tecnología inalámbrica.

Teléfonos rotativos molan, deben mantenerse fresco incluso inalámbrico!Tengo que decir que gustan los objetos vintage. Uno de mis favoritos es, por supuesto, antiguos teléfonos rotatorios. Solía tener uno en casa hasta los 10 años de edad. En este mo
2 teléfono intercomunicador con zumbadores...

2 teléfono intercomunicador con zumbadores...

Hola-he notado en mis viajes alrededor de la Junta, que ha habido una serie de proyectos para una simple llamada de 2 teléfono. Esto no es una crítica desagradable, pero la mayoría de ellos no parece tener forma de un auricular a 'buzz' otro. Eso est
La muleta teléfono

La muleta teléfono

Tengo 17 años y vivo con mis abuelos. Este año mi abuelo está bastante viejo y tiene que caminar con una muleta cuando él sale, que pasa mucho en los días soleados.Creo que mi abuelo no es un hombre en la puerta, él siempre mantener ejercicio, camina
Dial de la velocidad de marcado con disco giratorio

Dial de la velocidad de marcado con disco giratorio

Hoy hice un simple hack que hizo mi día. Sólo me tomó 5 minutos y quería compartirlo con ustedes.Recientemente, tuve que usar el teléfono de Dial rotatorio viejo porque mi teléfono de la línea de electrónica moderna de la tierra funcionó incorrectame
Antiguo teléfono batería coche

Antiguo teléfono batería coche

esto, es un coche solar, pero una batería de teléfono en lugar de células solares. Con los coches solares usted no siempre puede confiar en el sol para trabajar todo el tiempo o pasar por los problemas de seguir alrededor de con una bombilla de IL. E
Dial rotatorio de Ellie

Dial rotatorio de Ellie

Juguete de Rotary teléfono de EllieMe trajo este teléfono volver a la vida con una lista de reproducción de las grabaciones de la familia de mi sobrina y winnie the pooh y otras pistas de sonido...Una tarjeta SD tiene los archivos de sonido que se re
Instalación de paneles solares alrededor de $100

Instalación de paneles solares alrededor de $100

mi objetivo era ser capaces de carga y uso, teléfonos celulares, tabletas, computadoras portátiles y otros dispositivos que utilizan menos de 100 vatios. También quería tener poder listo y disponible de día o de noche.Las piezas que utilicé son:$39 c
¿Su color de gameboy (actualizado) de la energía solar

¿Su color de gameboy (actualizado) de la energía solar

cansado de comprar pilas para el gamboy color? Esto debe impedir que comprar pilas nuevas durante mucho tiempo y todo lo que necesitas es una lámpara solar de walmart o home depot, en mi caso lo tengo en mi trabajo (una tienda de comestibles). He vis
Bolso de Birkin de batgirl

Bolso de Birkin de batgirl

lo que una chica quiere. Lo que una chica necesita.  ¿Lo que es más exclusivo y tiene más prestigio que anota un bolso de Birkin? Pow!!!!!! Un bolso de Birkin de Batgirl! Perforado alta costura, Batman!Sí, usted también puede desprender una versión d
Duradera linterna de bicicleta super brillante pequeño ultra

Duradera linterna de bicicleta super brillante pequeño ultra

después de probar sin éxito varios linternas bicicleta comercial, decidí hacerme una que cubra mis necesidades:-Peso ligero y tamaño muy pequeño.-Recargable para evitar la pérdida continua de baterías.-Barato!!!-De gran alcance y a largo plazo para l
Sockphones

Sockphones

después de hacer unos micrófonos del auricular de teléfono me di cuenta que todos esos teléfonos tenían perfectamente buenos oradores que no se pusieron a buenas uso.Me puse a corregir este problema.Esta es la solución natural.Sockphones son los calc