Mijn oude telefoon + arduino = phonoduino (5 / 7 stap)

Stap 5: Programmering arduino


Afbeelding van mijn volledige phonoduino (telefoon + arduino) setup is hierboven gegeven. DTMF-input wordt niet gegeven aan de arduino nu. We zullen zien dat dit later van dit project. Laten we nu enkele code schrijven om te geven het leven van de phonoduino. Code voor automatische roeping voor een gegeven nummer is gekoppeld.

  int key0 = 16; int key1 = 6; int key2 = 12; int key3 = 9; int key4 = 5; int kry5 = 15; int key6 = 10; int key7 = 14; int key8 = 13; int key9 = 18; int keyStar = 17; int keyOk = 11; int keyClear = 3; int keyDown = 4; int keyUp = 8; int keyOff = 2; int keyHash = 19; int pressTime = 100; int pressDelay = 300; int holdTime = 1000; int value[16] = {16,6,12,9,5,15,10,14,13,18,17,11,3,4,8,2}; void setup() { // initialize the digital pin as an output. for(int i=2; i<20; i++) pinMode(i, OUTPUT); holdClear(); unlockPhone(); delay(2000); holdClear(); delay(1000); // call 0123456789 pressDigit(0); pressDigit(1); pressDigit(2); pressDigit(3); pressDigit(4); pressDigit(5); pressDigit(6); pressDigit(7); pressDigit(8); pressDigit(9); delay(100); pressOk(); delay(5000); } // the loop routine runs over and over again forever: void loop() { } void pressDigit(int digit){ digitalWrite(value[digit], HIGH); // press digit from 0 to 9 delay(pressTime); digitalWrite(value[digit],LOW); delay(pressDelay); } void pressOk(){ digitalWrite(keyOk, HIGH); // press ok delay(pressTime); digitalWrite(keyOk,LOW); delay(pressDelay); } void pressClear(){ digitalWrite(keyClear, HIGH); // press clear delay(pressTime); digitalWrite(keyClear,LOW); delay(pressDelay); } void pressStar(){ digitalWrite(keyStar, HIGH); // press star delay(pressTime); digitalWrite(keyStar,LOW); delay(pressDelay); } void pressUp(){ digitalWrite(keyUp, HIGH); // press up delay(pressTime); digitalWrite(keyUp,LOW); delay(pressDelay); } void pressDown(){ digitalWrite(keyDown, HIGH); // press down delay(pressTime); digitalWrite(keyDown,LOW); delay(pressDelay); } void pressHash(){ digitalWrite(keyHash, HIGH); // press hash delay(pressTime); digitalWrite(keyHash,LOW); delay(pressDelay); } void pressOff(){ digitalWrite(keyOff, HIGH); // press off delay(pressTime); digitalWrite(keyOff,LOW); delay(pressDelay); } void holdOff(){ digitalWrite(keyOff, HIGH); // hold off delay(holdTime); digitalWrite(keyOff,LOW); delay(pressDelay); } void holdClear(){ digitalWrite(keyClear, HIGH); // press clear delay(holdTime); digitalWrite(keyClear,LOW); delay(pressDelay); } void unlockPhone(){ pressOk(); pressStar(); }  

Wilt u een telefoonnummer van seriële monitor?

Code voor het bellen van seriële monitor is ook bevestigd. Uitsluitend type telefoonnummer in terminal eindigt bij een coma (,) en druk op invoeren. Phonoduino zal direct het nummer. Coma geeft u enkel volledige typen nummer en wilt bellen. Als u wilt wissen van een willekeurig getal ten onrechte enter getypte enkel type puntkomma (;) en druk op. Typ uw nummer.

Bericht wilt verzenden van seriële monitor?

Typen bericht van mobiele telefoon is saai en tijdrovend. Het zal gemakkelijk sms van het toetsenbord typt en bespaart veel tijd. Een monster arduino schets wordt gegeven aan verzonden sms van seriële monitor. Gewoon het programma uploaden naar je arduino seriële monitor openen, typt u uw bericht, typt u colon(:), typenummer, typ mobiele nummer of elke gewenste verzonden uw sms en druk op enter toets. Uw phonoduino zal het bericht verzonden naar uw gewenste nummer.

Voorbeeld: Hallo, ik ben van phonoduino.:123456789 *

Het bovenstaande commando zal naar het nummer "123456789" verzonden "Hallo, ik ben van phonoduino."

 <code> int pressTime = 100; int pressDelay = 300; int holdTime = 1000; int typeTime = 100; int typeDelay = 400; int value[16] = {16,6,12,9,5,15,10,14,13,18,17,11,3,4,8,2}; char number[12]; char massegeChar[160]; int count = 0; int numCount = 0; int charDelay = 300; int numberState = 0; void setup() { // initialize the digital pin as an output. for(int i=2; i<20; i++) pinMode(i, OUTPUT); Serial.begin(9600); holdClear(); } // the loop routine runs over and over again forever: void loop() { while (Serial.available()>0){ char character = Serial.read(); if(character == '*'){ sentSMS(); count = 0; numCount = 0; numberState = 0; } if(character == ':'){ numberState = 1; numCount = 0; //delay(10); } if(numberState == 1){ number[numCount] = character; numCount++; } if(numberState == 0){ massegeChar[count] = character; count++; } if(character == '#'){ count = 0; numberState = 0; } } } void pressDigit(int digit){ digitalWrite(value[digit], HIGH); // press digit from 0 to 9 delay(pressTime); digitalWrite(value[digit],LOW); delay(pressDelay); } void pressOk(){ digitalWrite(keyOk, HIGH); // press ok delay(pressTime); digitalWrite(keyOk,LOW); delay(pressDelay); } void pressClear(){ digitalWrite(keyClear, HIGH); // press clear delay(pressTime); digitalWrite(keyClear,LOW); delay(pressDelay); } void pressStar(){ digitalWrite(keyStar, HIGH); // press star delay(pressTime); digitalWrite(keyStar,LOW); delay(pressDelay); } void pressUp(){ digitalWrite(keyUp, HIGH); // press up delay(pressTime); digitalWrite(keyUp,LOW); delay(pressDelay); } void pressDown(){ digitalWrite(keyDown, HIGH); // press down delay(pressTime); digitalWrite(keyDown,LOW); delay(pressDelay); } void pressHash(){ digitalWrite(keyHash, HIGH); // press hash delay(pressTime); digitalWrite(keyHash,LOW); delay(pressDelay); } void pressOff(){ digitalWrite(keyOff, HIGH); // press off delay(pressTime); digitalWrite(keyOff,LOW); delay(pressDelay); } void holdOff(){ digitalWrite(keyOff, HIGH); // hold off delay(holdTime); digitalWrite(keyOff,LOW); delay(pressDelay); } void holdClear(){ digitalWrite(keyClear, HIGH); // press clear delay(holdTime); digitalWrite(keyClear,LOW); delay(pressDelay); } void typeA(){ digitalWrite(key2, HIGH); delay(typeTime); digitalWrite(key2, LOW); delay(typeDelay); } void typeB(){ typeA(); typeA(); } void typeC(){ typeA(); typeA(); typeA(); } void typeD(){ digitalWrite(key3, HIGH); delay(typeTime); digitalWrite(key3, LOW); delay(typeDelay); } void typeE(){ typeD(); typeD(); } void typeF(){ typeD(); typeD(); typeD(); } void typeG(){ digitalWrite(key4, HIGH); delay(typeTime); digitalWrite(key4, LOW); delay(typeDelay); } void typeH(){ typeG(); typeG(); } void typeI(){ typeG(); typeG(); typeG(); } void typeJ(){ digitalWrite(key5, HIGH); delay(typeTime); digitalWrite(key5, LOW); delay(typeDelay); } void typeK(){ typeJ(); typeJ(); } void typeL(){ typeJ(); typeJ(); typeJ(); } void typeM(){ digitalWrite(key6, HIGH); delay(typeTime); digitalWrite(key6, LOW); delay(typeDelay); } void typeN(){ typeM(); typeM(); } void typeO(){ typeM(); typeM(); typeM(); } void typeP(){ digitalWrite(key7, HIGH); delay(typeTime); digitalWrite(key7, LOW); delay(typeDelay); } void typeQ(){ typeP(); typeP(); } void typeR(){ typeP(); typeP(); typeP(); } void typeS(){ typeP(); typeP(); typeP(); typeP(); } void typeT(){ digitalWrite(key8, HIGH); delay(typeTime); digitalWrite(key8, LOW); delay(typeDelay); } void typeU(){ typeT(); typeT(); typeT(); } void typeV(){ typeT(); typeT(); typeT(); } void typeW(){ digitalWrite(key9, HIGH); delay(typeTime); digitalWrite(key9, LOW); delay(typeDelay); } void typeX(){ typeW(); typeW(); } void typeY(){ typeW(); typeW(); typeW(); } void typeZ(){ typeW(); typeW(); typeW(); typeW(); } void space(){ digitalWrite(key0, HIGH); delay(typeTime); digitalWrite(key0, LOW); delay(typeDelay); } void sentSMS(){ holdClear(); holdClear(); pressOk(); pressOk(); pressOk(); for(int i = 0; i< 160; i++){ switch(massegeChar[i]){ case 'A': case 'a': typeA(); delay(charDelay); break; case 'B': case 'b': typeB(); delay(charDelay); break; case 'C': case 'c': typeC(); delay(charDelay); break; case 'D': case 'd': typeD(); delay(charDelay); break; case 'E': case 'e': typeE(); delay(charDelay); break; case 'F': case 'f': typeF(); delay(charDelay); break; case 'G': case 'g': typeG(); delay(charDelay); break; case 'H': case 'h': typeH(); delay(charDelay); break; case 'I': case 'i': typeI(); delay(charDelay); break; case 'J': case 'j': typeJ(); delay(charDelay); break; case 'K': case 'k': typeK(); delay(charDelay); break; case 'L': case 'l': typeL(); delay(charDelay); break; case 'M': case 'm': typeM(); delay(charDelay); break; case 'N': case 'n': typeN(); delay(charDelay); break; case 'O': case 'o': typeO(); delay(charDelay); break; case 'P': case 'p': typeP(); delay(charDelay); break; case 'Q': case 'q': typeQ(); delay(charDelay); break; case 'R': case 'r': typeR(); delay(charDelay); break; case 'S': case 's': typeS(); delay(charDelay); break; case 'T': case 't': typeT(); delay(charDelay); break; case 'U': case 'u': typeU(); delay(charDelay); break; case 'V': case 'v': typeV(); delay(charDelay); break; case 'W': case 'w': typeW(); delay(charDelay); break; case 'X': case 'x': typeX(); delay(charDelay); break; case 'Y': case 'y': typeY(); delay(charDelay); break; case 'Z': case 'z': typeZ(); delay(charDelay); break; case ' ': space(); break; } delay(300); } pressOk(); pressOk(); callNumber(); } void callNumber(){ for(int i=1; i<12; i++){ pressDigit(number[i]-'0'); // number[i] - '0' is for converting character into intiger } pressOk(); holdClear(); holdClear(); } 

Ik zal een efficiëntere arduino schets later gepubliceerd.

Gerelateerde Artikelen

Hergebruik van oude telefoon batterijen als een Powerbank (aarde dag deel 1)

Hergebruik van oude telefoon batterijen als een Powerbank (aarde dag deel 1)

Ik denk dat je waarschijnlijk ook deel uitmaken van de meerderheid van de bevolking van de werelden die eigenaar is van een smartphone en je had waarschijnlijk meer dan één tijdens de afgelopen jaren van evolutie van de smartphone.Met hen, blijven ko
Voor het gebruik van oude telefoon om te bouwen van Internet van het huis van dingen

Voor het gebruik van oude telefoon om te bouwen van Internet van het huis van dingen

Met de snelle ontwikkeling van technologie, en nu de smartphone heeft ingevoerd elk huishouden, maar oude mobiele telefoons die werd uitgeschakeld en PHS is echt niets mee? Ik heb eerst vijf oude telefoon te upgraden van uw oude telefoon te gebruiken
Mijn favoriete Tool Is mijn mobiele telefoon

Mijn favoriete Tool Is mijn mobiele telefoon

De mobiele telefoon is mijn wereld veranderd. Het is een onmisbaar hulpmiddel dat ik niet kan zonder doen geworden in een paar korte jaren. Deze "Instructable" zal laten zien hoe ik mijn telefoon gebruiken op manieren die niet gemeenschappelijk
Evenwichtige microfoon van een oude telefoon

Evenwichtige microfoon van een oude telefoon

het gedaan vóór, maar hier is mijn nemen over het converteren van een oude roterende telefoon koolmicrofoon in een lo-fi-microfoon.  Ik wilde iets dat ik hopelijk gebruiken op het podium, kon dus ik wilde om het evenwicht te maken.  Ik wilde het ook
Gemakkelijkste Smart Home Panel en Infocentrum - verzamelde een oude telefoon!

Gemakkelijkste Smart Home Panel en Infocentrum - verzamelde een oude telefoon!

In dit Instructable, zal ik u door enkele van de stappen die ik gevolgd in de herbestemming van een telefoon als een smart home touch-toestel voor mijn kamer lopen. U zal zitten kundig voor uw verlichting, weet uw dagelijkse weerbericht en ontvangen
How-To Hack een Retro oude telefoon naar LED eenheid & audioversterker

How-To Hack een Retro oude telefoon naar LED eenheid & audioversterker

DIY-Hack A roterende oude telefoon naar LED eenheid & mobiele telefoon Audio versterker.Deze houwer biedt sommige nuttige kwesties, bijvoorbeeld kunnen we boeken lezen met behulp van onze oude mooie retro telefoon, 's nachts en ondertussen het gebrui
Oude telefoon herboren

Oude telefoon herboren

nemen een oude telefoon en een soort van vattenproducenten staaf van uw keuzeStap 1: telefoon Krijgen een telefoonStap 2: zoeken een staaf in dit geval een stuk van een lampStap 3: boor-, lijm boren, lijmenStap 4: mount een ding van schoonheid is een
Sudo verificatie via oude telefoon kiestoetsen

Sudo verificatie via oude telefoon kiestoetsen

dit project is over het maken van een alternatieve verificatiemethode voor sudo draait op linux-systemen met behulp van een arduino met een kiestoetsen uit een oude telefoon.Stap 1: HarwareNormaal gesproken heeft de kiestoetsen in dit project gebruik
Maak een LoFi-microfoon van een oude telefoon Speaker

Maak een LoFi-microfoon van een oude telefoon Speaker

de spreker in een oude telefoon maakt een grote lo-fi mic. Gewoon een 1/4 inch jack rechtstreeks tot de luidspreker draad en vergroten de telefoon aansluiting gat te mounten. Een klein stukje handdoek helpt bij het dempen van sommige van de ruis van
Maak je oude telefoon een externe Controller

Maak je oude telefoon een externe Controller

Dit is een super eenvoudig project dat alleen vereist dat u een werkende afstandsbediening auto en een gebroken oude telefoon hebben. Dit is een coole manier om indruk op je vrienden, door kunnend uw afstandsbediening auto rond te rijden met behulp v
Mijn oude Workshop

Mijn oude Workshop

ik ben onlangs verhuisd en heb de oude werkruimte vroeger had ik geen. We gebruikten om te leven in een huis van de 1800 sq ft in de Verenigde Staten...Nu wonen we in een appartement van de 1400 m² ft in Japan. Ik verloor mijn garage en een aantal va
Het eenvoudigste mogelijke gebruik voor oude telefoons

Het eenvoudigste mogelijke gebruik voor oude telefoons

Want we weten allemaal dat de toekomst van draagbare communicatie draagbaar is, en uiteindelijk, technologie ingesloten; Ik wil je laten zien de makkelijkst mogelijk gebruiken, er is voor deze oude telefoons er miljoenen.Drumroll alstublieft!Ja, de o
Oude telefoon batterij aangedreven auto

Oude telefoon batterij aangedreven auto

wat dit is, is een zonnewagen maar een batterij van de telefoon in plaats van zonnecellen. Met zonne-auto's kunt u niet altijd vertrouwen op de zon om te werken de hele tijd of de problemen van achter het rond met een IL-gloeilamp doorlopen. Dus dat
Hoe te verwijderen van de cameralens uit oude telefoon

Hoe te verwijderen van de cameralens uit oude telefoon

Hallo iedereen in dit instructable I 'm gonna tonen u hoe u een CAMERALENS verwijderen van uw oude telefoon.Alle u nodig heeft is1. een oude telefoon2. pincetNu verwijder de achtercover en de batterij van uw telefoon. Verwijder vervolgens de voorzijd