Bat telefon från gamla rotary telefon



Disclaimer: inga gamla rotary telefoner skadades i detta projekt! Jag hade köpt en massa roterande telefoner från en egendom försäljning och ingår i detta köp var en låda med trasiga telefoner och telefonen delar. Det är från denna låda som jag fick min råvaror inte från en arbetande rotary telefon.

Detta är inte en full Instructable som jag misslyckats med att ta ordentlig bilder längs vägen men jag hoppas att göra ännu en av dessa (bättre hoppas jag) och kommer att dokumentera bättre då.

Jag såg den följande Instructable av guidomax: (tack guidomax!) och har en samling av roterande telefoner/delar, jag ville se vad jag kan göra med dem.

Jag bestämmer att jag skulle försöka göra bat telefonen med signalen och presentera det som en gåva till min dotter för semester.

Här är en kort video av den arbetande. Musiken är mycket högre i person.

Mina steg:
1. först som I den ovan Instructable att se om jag kunde få gränssnittet fungerar och som föreslås i Instructable, det var ganska lätt att göra så.

2. jag tog en gammal telefonerna kropp och primas och spray målade röda. Jag gjorde luren också och sladden.

3. jag ville Arduino koden att spela temat från Batman och producera en fladdermus signal när "B", "A", "T", "M", "A", "N" var slagna på telefonen.

Koden var bara ta koden från guidomax och ändra det så istället för en seriell utgång på datorn, det bara kontrolleras för korrekt strängen av nummer som rings. BATMAN är för exanple "228626". När Arduino såg denna sträng, det började låten och vände på signalen bat.

Låten: Jag hade en Adafruit våg sköld som jag hade aldrig använt och såg detta som en möjlighet att kolla upp. Det tog en bra dag för mig att bygga den (det kommer som byggsats) och då finns det ett förfarande som måste följas för att få din wav-fil på skölden. Det är en lätt procedur om du använder iTunes. Bara köpa låten och konvertera den som krävs i menyerna för iTunes och dra till skölden. Utan iTunes det är mer engagerade men Adafruit sidan går du igenom den.

Bat signalen: Flera andra Instructables Visa hur man gör en signal och jag tog vad jag kunde från dem men det var mer eller mindre prova innan jag kom upp med idén slut. Jag skar en vattenflaska om på mitten och lägga ett litet hål i skruvlock. Jag in en röd LED in i det lilla hålet. Jag målade kapsyl svart. För att få bilden att dyka upp ganska bra, behövde jag klippa en liten bat symbol och bifoga det framför flaskan. Det fungerade men jag tror att det måste finnas ett snyggare sätt. Jag heta limmade flaskan till en öppning jag gjorde på baksidan av telefonen (varmt lim är underbar!).

Koden: min ursprungliga idé var att ha flera super heros i koden. dvs om du ringt Batman, du fick signaturmelodi och signalen, om du ringt SUPERMAN, du fick olika musik, etc. Så ser du lite kod som finns för detta ändamål men jag kommit aldrig så långt. Det är bara BATMAN.

Batmanv2
Detta ett försök att ha flera wav-filer och spela den rätta som
baserat på följd av nummer rings upp på telefonen
om 228626b sedan spela batman temat

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

SdReader kort; Detta objekt innehåller information för kortet
FatVolume vol; Detta innehåller information för partitionen på kortet
FatReader rot. Detta innehåller information för filsystemet på kortet
FatReader f; Detta innehåller information för filen vi är spelar

WaveHC våg; Detta är enda våg (audio)-objektet, eftersom vi bara kommer att spela en i taget

#define DÄMPNINGSTID 100 / / knappen debouncer

--från V1---
// -----------------
int needToPrint = 0;
int antal;
Mine
int redLed = 8;
int in_from_dial = 7.
int lightOn = 6;
int craddleUp = 9;
int val = låg; variabel för att lagra Läs värdet
//
int lastState = låg;
int trueState = låg;
lång lastStateChangeTime = 0;
int rensat = 0;

konstanter

int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;

strängar
Sträng newstring;
char Tester [] = "123".
char Batman [] = "228626";
char Spiderman [] = "774337626";
char Superman [] = "78737626";
char Batgirl [] = "2284475";

-avsluta från V!---

void setup() {
Ställ in serieporten
Serial.BEGIN(9600);

putstring_nl ("WaveHC med välja låtar");

putstring ("fri slå ned:"); Detta kan hjälpa till med felsökning, slut RAM är dålig
Serial.println(freeRam()); om detta är under 150 byte kan det stava problem!

Ställa in produktionen stift för DAC kontroll. Detta stift definieras i biblioteket
pinMode (2, utgång);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);

från V1
pinMode (in_from_dial, ingång); 12
pinMode (Benny, produktionen); 11
pinMode(craddleUp,INPUT); 9
pinMode(redLed,OUTPUT); 9
slutet v1

pin13 LED
pinMode (13, OUTPUT);

om (! card.init(true)) //play med 4 MHz spi om 8MHz inte fungerar för dig
om (! card.init()) {//play med 8 MHz spi (standard snabbare!)
putstring_nl ("kort init. misslyckades!"); Något gick fel, kan skriva ut varför
sdErrorCheck();
While(1); sedan 'stoppa' - gör ingenting!
}

Aktivera optimera Läs - vissa kort kan timeout. Inaktivera om du har problem
card.partialBlockRead(true);

Nu söker vi en FAT-partition!
uint8_t del;
för (del = 0; del < 5; del ++) {/ / vi har upp till 5 platser att titta i
om (vol.init (kort, del))
bryta; Vi hittade en, låter borgen
}
om (del == 5) {/ / om vi slutade inte att hitta en :(
putstring_nl ("ingen giltig FAT-partition!");
sdErrorCheck(); Något gick fel, kan skriva ut varför
While(1); sedan 'stoppa' - gör ingenting!
}

Kan tala om för användaren om vad vi hittade
putstring ("använda partition");
Serial.Print (del, DEC);
putstring (", typ är FAT");
Serial.println(Vol.fatType(),dec); FAT16 eller FAT32?

Försök öppna rotkatalogen
om (! root.openRoot(vol)) {
putstring_nl kan inte ("öppna rotfästa dir!"); Något gick fel,
While(1); sedan 'stoppa' - gör ingenting!
}

Usch! Vi fick tidigare de hårda delarna.
putstring_nl("ready!");
}

Tanken här är
den virande kommer att fortsätta tills mottagaren är pickerd upp
sedan sekvensen av uppringning registreras och kontrolleras
om en träff hittas, slå sedan på ljus (för Batman) och/eller
spela upp låt

void loop() {

vänta tills mottagaren ska hävas
en gång lyfte, kan sedan uppringningen kontrolleras
slå på rött ledde till visar telefonen är vid liv
Val = digitalRead(craddleUp); Läs ingångsstiftet

om (val == hög) {

digitalWrite (redLed, hög);

int läsa = digitalRead(in_from_dial);

om ((millis()-lastStateChangeTime) > dialHasFinishedRotatingAfterMs) {
ratten är inte som rings eller har precis avslutat som rings.
om (needToPrint) {
om det är just färdigt som rings, måste vi sända ner följetongen
linje och återställa räkningen. Vi mod räkningen vid 10 eftersom '0' skickar 10 pulser.
Serial.println (antal % 10, DEC).

nu måste lägga räkningen till teststrängen och sedan testa den mot den
krävs sträng att få en träff
NewString.concat(Count);

Om strängen är lika med Batman, slå på ljus och börja wav-fil
Serial.println(NewString);
Delay(2000);
// --------------------
// -------------- Batman -----------------
om ((newstring.equals(Batman)) || (newstring.equals(Tester))) {
digitalWrite (Benny, hög);

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

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

needToPrint = 0;
Count = 0;
rensat = 0;
}

}

om (läsa! = lastState) {
lastStateChangeTime = millis();
}
om ((millis()-lastStateChangeTime) > debounceDelay) {
Debounce - detta händer när det är stabiliserats
om (läsa! = trueState) {
Detta innebär att växeln har antingen bara gått från stängda -> Öppna eller vice versa.
trueState = behandlingen.
om (trueState == hög) {
öka antalet pulser om det är gått hög.
greve ++;
needToPrint = 1; Vi kommer att behöva skriva ut detta nummer (när ratten är klar roterande)
}
}
}
lastState = behandlingen.
}
annat
{
NewString = "";
digitalWrite (Benny, låg);
digitalWrite(redLed,LOW);
}

}

Spelar en full fil från början till slut med ingen paus.
void playcomplete(char *name) {
Ring vår hjälpare för att hitta och spela detta namn
playfile(Name);
samtidigt (wave.isplaying) {
göra ingenting samtidigt dess spelar
}
dess gjort spelar nu
}

void playfile(char *name) {
se om objektet våg för närvarande gör något
om (wave.isplaying) {/ / redan spelar något, så sluta det!
Wave.stop(); Sluta
}
titta i rotkatalogen och öppna filen
om (! f.open (rot, namn)) {
putstring kunde inte ("öppna filen"); Serial.Print(Name); hemkomst.
}
OK läsa filen och förvandla det till en våg objekt
om (! wave.create(f)) {
putstring_nl ("inte en giltig WAV"); hemkomst.
}

OK dags att spela! starta uppspelningen
Wave.Play();
}

Denna behändiga funktionen returnerar antalet byte för närvarande gratis i RAM, bra för felsökning!
int freeRam(void)
{
extern int __bss_end;
extern int * __brkval;
int free_memory;
om ((int) __brkval == 0) {
free_memory = ((int) & free_memory)-((int) & __bss_end);
}
annat {
free_memory = ((int) & free_memory)-((int) __brkval);
}
återvända free_memory;
}

void sdErrorCheck(void)
{
om (! card.errorCode()) återvända;
putstring ("\n\rSD I/O fel:");
Serial.Print(Card.ErrorCode(), HEX);
putstring (",");
Serial.println(Card.errorData(), HEX);
While(1);
}

Arduinoen jag använde var en UNO

Igen, jag önskar jag hade fler bilder och bättre dokumentation. Nästa gång.

Min dotter tyckte är en snygg present och hon verkade glad men det är vad döttrar gör. :)

Relaterade Ämnen

Låga tech Rotary telefon gjorde trådlöst.

Roterande telefoner är cool, de bör bo cool även trådlöst!Jag måste säga att jag gillar vintage objekt. En av min favorit är ju gamla roterande telefoner. Jag brukade ha en hemma tills jag var 10 år gammal. Vid denna tid var mitt nummer bara 6 siffro...

Rotary telefon iPod Dock

jag har alltid älskat åter purposing en sak till en annan. Detta instructable visar bilder på min färdiga iPod docka med kommentarer på hur jag lägger ihop. Jag ber om ursäkt att jag inte tog bilder genom hela processen. Jag var alldeles för upphetsa...

2 telefon Intercom med Buzzers...

Hej där - har jag märkt i mina resor runt bordet nyligen, att det har skett ett antal projekt för en enkel 2 telefon intercom. Detta är inte en otäck kritik, men de flesta av dem verkade inte ha ett sätt för en handenhet till "buzz" annan. Det ä...

Batgirl Birkin väska

vad en tjej vill ha. Vad en tjej behöver. Vad är mer exklusiva och har mer cachet än scoring en Birkin väska? Pow! En Batgirl Birkin väska! Holey Haute Couture, Batman!Ja, du också kan slå ut en version av denna berömda väska. Okej, började även min...

Skära saker i hälften

Under min hemvist på piren 9 frågade jag mig hur jag kunde injicera överraskning, intuition och spontanitet i min konst praktik med digital fabrication teknik. När jag arbetade genom olika processer, hittade jag ett svar: tvärsnitt. Den enkla handlin...

Vredet kortnummer

Idag gjorde jag en enkel hacka som gjorde min dag. Det tog mig bara 5 minuter och jag ville dela den med dig.Nyligen hade jag använda den gamla Rotary telefonen eftersom min moderna elektroniska mark linje telefon krånglade.Även om det verkar snygg,...

Spot Svetsare från en mikrovågsugn transformator och vattentank

jag har sett några projekt som använder en gammal mikrovågsugn transformator igen såret med en låg spänning sekundär för att göra en hobby spot svetsare, och jag bestämde mig för att prova på att göra en. Jag slutade designa min egen med koppar blad...

RotaryX: Hur till hacka en Rotary telefon

Liksom en hel del analog teknik fungerar roterande telefoner med en serie av hög/låg växlar som enkelt kan kopplas till en Arduino för programmering äventyr. Denna ska tutorial går dig genom processen att öppna och ny ledning dras en vanlig roterande...

Dekorera din din gamla tråkiga telefon täcka

göra din gamla telefon täcka ser underbaraSteg 1: jag har använtsvart tryckvattenvatten färgerakryl colour(golden)penselsccisorSteg 2: Nu tar omslaget och göra vissa linjer genom kranenSteg 3: Nu färg hela omslagetSteg 4: Nu ta bort raderna tapSteg 5...

Använda din gamla (Mini-USB) laddare för att ladda alla USB-avgiftsbelagd telefon/MP3 spelare/iTouch/iPhone/iPad för $1,61

Intro:Nu kan du ha en laddare i hemmet och på arbetet! Eller bara ta en ledig i väskan.Detta instructable är ett praktiskt sätt att använda en gammal lagrad bort Mini-USB-laddare från tidigare mobiltelefoner eller enheter du own(ed).En alternativ met...

Enkla Intercom från ett par gamla sladd telefoner

Ett intercom kan vara ett användbart verktyg eller en rolig leksak. I detta projekt ska jag visa dig hur man gör en enkel intercom med hjälp av ett par gamla sladd telefoner. Detta är en lätt elektronik projekt som är bra för nybörjare och kul att gö...

Rotary telefon uppringning till en Arduino-gränssnitt

en gammal rotary telefon kan användas för flera olika syften i din Arduino projekt - använda den som en ny enhet, eller använda Arduino gränssnittet en rotary telefon till din dator.Detta är en mycket grundläggande guide som beskriver hur gränssnitte...

Ultra smuts billig telefon fall från gamla läderstövlar arbete.

Detta är hur jag gjorde en telefon fall medan jag är instängd i öknen (på grund av mitt jobb) där verktyg och material är mycket svårt att komma med... om du tog med dig.Låt mig visa dig hur jag gjorde min telefon fall från saker som bara ligger runt...

Bygga din egen intercom eller walkie talkie ur två gamla trådlösa telefoner

vi har alla gamla telefoner. Varför inte förvandla dem till en porttelefonen för ditt barn träd hus. Eller vända två gamla trådlösa telefoner till hemmabas walkie talkie. Här är hur.Steg 1: material In-Line koppel (jag fick min på Frys för 1,49)9 vol...

DIY gamla Timey Skype telefon

jag råkade på denna läcker telefon leksak som såg ut som det var från en gammal telefonkiosk. Inspiration hit, och snart jag drömde upp väg på hur till använda denna leksak. Slutligen bestämde jag mig på att göra det in i en Skype (eller någon online...

Hur-till hacka en Retro gamla telefon att LED enhet & förstärkare

DIY-hacka en roterande gamla telefon till LED enhet & mobiltelefon Audio förstärkare.Detta hack ger några användbara frågor, till exempel vi kan läsa böcker på natten med hjälp av våra gamla härliga retro telefon, under tiden använda telefonen som en...

Återanvända gamla telefon batterier som ett Powerbank (earth Day Del1)

Jag antar att du förmodligen också tillhör majoriteten av världens befolkning som äger en smartphone och du förmodligen hade mer än en under de senaste åren av smartphone evolution.Med dem, hålla kommer används litium jonbatterier som man inte kan ba...

Saker du kan göra med gamla telefoner

jag få en massa gamla elektronik från midjan lagerplatsen, allt från mobiltelefoner till datorer och skrivare. Gamla och föråldrade telefoner är en av de gamla elektronik får jag mest och jag använder dem för en mängd olika saker, detta Instructable...

Ta bort kameralinsen från gamla telefon

Hej alla i detta instructable jag ska visa dig hur du tar bort en KAMERAOBJEKTIV från din gamla telefon.Allt du behöver är1. en gammal telefon2. pincettNu ta bort locket på baksidan och batteriet i telefonen. Ta sedan bort den främre sidan och baksid...