Arduino text'in (13 / 13 étapes)

Étape 13 : Mon programme

/*
11/10/2012 RAY McQUEEN
C’est le projet complété cell phone

Les arrangements de touche de téléphone portable fonctionnent pour le téléphone que j’ai.
Vous devrez peut-être faire quelques recherches sur le téléphone que vous utilisez.

*/
//
///////////////////////////
74HC374 CHIPS AUX RELAIS / /
///////////////////////////
//
const int phn_data = 9 ; données de code confidentiel 3 74xx374
const int phn_clk1 = 8 ; 74xx374 horloge de puce 1
const int phn_clk2 = 7 ; 74xx374 horloge de puce 2
const int phn_clk3 = 6 ; 74xx374 horloge de puce 3
//
///////////////
COMMANDES DE TÉLÉPHONE / /
///////////////
//
int phn_A = 0 ; personnage à déplacer, utilisés en phn_on & chip1-3
int phn_B = 0 ; nombre de relais d’utiliser
//
//////////////////////////////////////
VOICI POUR CASSER DES CHIFFRES / /
//////////////////////////////////////
int val1000s = 0; //register de tenir comte de 1000
int val100s = 0; //register de tenir comte 100
int val10s = 0; //register de tenir comte 10
int val1s = 0; //register pour 1 chef
int test_test = 0; //register pour stocker le nombre de tests/heure aussi
int tst_val = 0 ; endroit pour stocker une copie pour sortir du nombre
tension d’int = 0; //storage pour un certain nombre de tester pour l’envoi
copie int = 0; //copy de tout ce que j’ai mis dedans
//
int phn_val = 375 ; Relais à temps (375 fonctionne très bien) pour téléphone
//
LES TABLEAUX ***
les tableaux compteur démarre à 0 pas 1 et va vers le haut
//
int phn_relays [] = {}
Il s’agit de choisir le nombre de relais pour mettre en marche
Nous voulons seulement un relais sur à la fois.
0, 1, 2, 4, 8, 16, 32, 64, 128, 256} ;
//
//
//
void setup() {}
pinMode (phn_data, sortie) ; définir la pin9 comme sortie
pinMode (phn_clk1, sortie) ; définir pin8 comme sortie
pinMode (phn_clk2, sortie) ; définir pin7 comme sortie
pinMode (phn_clk3, sortie) ; définir pin6 comme sortie
//
////////////////
FIN DE L’INSTALLATION / /
////////////////
}
//
///////////////////
BOUCLE PRINCIPALE BEGIN / /
///////////////////
//
void loop() {}
//
délai (30000); //wait pendant un petit moment avant de commencer
//
mesure (); //pretend de prendre une sorte de lecture
//
clr_all (); //make Vérifiez que tous les relais sont libres
//
ray_show (); //writes "Text'in Arduino" sur la 1ère ligne "Ray McQueen" sur la deuxième ligne.
mais n’envoie pas en tant que texte
retard (10000); //wait 10 secondes
norm_send (); //send un texte normal
//
Delay(30000) ;
Delay(30000) ;
Delay(30000) ;
Delay(30000) ;
//
////////////////////
FIN DE LA BOUCLE PRINCIPALE / /
////////////////////
//
}
//
//
//
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
BEGIN TÉLÉPHONE ROUTINES \\
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//
cela envoie à toutes les personnes dans le groupe de base
void norm_send() {}
Delay(phn_val) ;
phn_on() ;
Delay(30000); / / retard de 30 secondes donc téléphone peut commencer vers le haut
//
norm_text (); //this s’ouvre la fenêtre de texte
//
phn_compose (); //compose texte extérieur intérieur
//
retard (5000); //wait le message à envoyer
e_nd (); //message est envoyé. Éteindre le téléphone
Delay(phn_val) ;
e_nd() ;
Delay(phn_val) ;
e_nd() ;
Delay(phn_val) ;
phn_on() ;
Delay(10) ;
}
//
//
ce n’est pas envoyer un texte
il charge attend un peu puis suppressions texte et s’arrête vers le bas
void ray_show() {}
Delay(phn_val) ;
phn_on (); //turn sur téléphone
Delay(30000); / / retard de 30 secondes donc téléphone peut commencer vers le haut
//
norm_text (); //this s’ouvre la fenêtre de texte
//
Cela s’ajoute le « Aduino text'in Ray McQueen »
ard_text(); / /
//
délai (30000); //wait pour pouvoir lire le message
e_nd (); //message est terminée. Éteindre le téléphone
Delay(phn_val) ;
e_nd() ;
Delay(phn_val) ;
e_nd() ;
Delay(phn_val) ;
phn_on (); //turn téléphone marche arrière en cours de rédaction de texte normal
Delay(10) ;
}
//
rien ne doit être chargé avant d’arriver ici
ce téléphone de poignées pour allumer et éteindre
le téléphone devra 30 secondes de plus, si la mise sous tension
void phn_on() {}
phn_B = 3; //relay 3
phn_A = (phn_relays [phn_B]); //aray pour le relais mettre en marche
Sélectionnez le numéro de puce 2 relais 3
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A) ;
retarder (3000) ; délai de 3 secondes
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés en val
}
//
Il s’agit d’ajouter le groupe tout le monde et de la
fenêtre de texte donc un texte peut alors être composé
Cela suppose que le téléphone est déjà sous tension, mais peut
être en mode veille
void norm_text() {}
service de réveil par téléphone en cas de veille
e_nd() ;
//
e_nd() ;
//
dir_text() ;
nouveau message texte
numb_1() ;
message texte
numb_1() ;
Ajouter
r_sel() ;
//
numb_4() ;
//
OK() ;
//
OK() ;
//
la fenêtre de texte est maintenant ouvert et prêt pour la saisie de texte
}
//
//*******************************************
Voici pour appeler les relais corrects
par le nom de clé au lieu de devoir se souvenir de la
nombre à charger dans le B et le numéro de puce
//
void l_sel() {}
phn_B = 1 ;
chip_1 (); de la touche de sélection de //left
Delay(phn_val) ;
}
//
void r_sel() {}
phn_B = 3 ;
chip_1 (); de la touche de sélection de //right
Delay(phn_val) ;
}
//
void up_arrow() {}
phn_B = 2 ;
chip_1 (); //up flèche
Delay(phn_val) ;
}
//
void l_arrow() {}
phn_B = 4 ;
chip_1 (); //left flèche
Delay(phn_val) ;
}
//
void r_arrow() {}
phn_B = 6 ;
chip_1 (); //right flèche
Delay(phn_val) ;
}
//
void down_arrow() {}
phn_B = 7 ;
chip_1 (); //down flèche
Delay(phn_val) ;
}
//
ok() Sub {}
phn_B = 5 ;
chip_1 (); //ok clés
Delay(phn_val) ;
}
//
void dir_text() {}
phn_B = 8 ;
chip_1 (); //direct de clé de texte
Delay(phn_val) ;
Delay(phn_val) ;
}
//
void s_end() {}
phn_B = 1 ;
chip_2 (); //send clés
Delay(phn_val) ;
}
//
void c_lear() {}
phn_B = 2 ;
chip_2 (); //clear clés
Delay(phn_val) ;
}
//
void e_nd() {}
phn_B = 3 ;
chip_2 (); //end clés
Delay(phn_val) ;
}
//
void numb_1() {}
phn_B = 4 ;
chip_2 (); //number 1
Delay(phn_val) ;
}
//
void numb_2() {}
phn_B = 5 ;
chip_2 (); //number 2
Delay(phn_val) ;
}
//
void numb_3() {}
phn_B = 6 ;
chip_2 (); //number 3
Delay(phn_val) ;
}
//
void numb_4() {}
phn_B = 7 ;
chip_2 (); //number 4
Delay(phn_val) ;
}
//
void numb_5() {}
phn_B = 8 ;
chip_2 (); //number 5
Delay(phn_val) ;
}
//
void numb_6() {}
phn_B = 1 ;
chip_3 (); //number 6
Delay(phn_val) ;
}
//
void numb_7() {}
phn_B = 2 ;
chip_3 (); //number 7
Delay(phn_val) ;
}
//
void numb_8() {}
phn_B = 3 ;
chip_3 (); //number 8
Delay(phn_val) ;
}
//
void numb_9() {}
phn_B = 4 ;
chip_3 (); //number 9
Delay(phn_val) ;
}
//
void numb_0() {}
phn_B = 6 ;
chip_3 (); //number 0
Delay(phn_val) ;
}
//
void star_key() {}
phn_B = 5 ;
chip_3 (); //star clé
Delay(phn_val) ;
}
//
void pound_key() {}
phn_B = 7 ;
chip_3 (); //pound clé/espace dans le texte
Delay(phn_val) ;
}
//
//**************************************
//
B doit être chargé avec le relais pour mettre en marche avant obtient ici
void chip_1() {}
Utilisez-le pour les 8 premiers relais
phn_A = (phn_relays [phn_B]); //array pour le nombre de relais mettre en marche
shiftOut (phn_data, phn_clk1, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk1, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés
}
//
B doit être chargé avec le relais pour mettre en marche avant obtient ici
void chip_2() {}
Utilisez-le pour les deuxième 8 relais
phn_A = (phn_relays [phn_B]); //array pour le nombre de relais mettre en marche
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés
}
//
B doit être chargé avec le relais pour mettre en marche avant obtient ici
void chip_3() {}
Utilisez-le pour les troisième 8 relais
phn_A = (phn_relays [phn_B]); //array pour le nombre de relais mettre en marche
shiftOut (phn_data, phn_clk3, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk3, MSBFIRST, phn_A) ;
Delay(phn_val) ; retard du temps stockés
}
//
//
Sub Measure [] {}
Cela prend un certain nombre et il éclate à appuyer sur le
boutons appropriés sur le téléphone pour envoyer ce numéro
tension = (95); Numéro d’essai de //Any à envoyer
//
essai 1000 s
val1000s = 0; //clear 1000 Registre
test_test = tension ; //copy contenu de tension d’essai
tandis que (test_test > = 1000) {}
test_test = test_test - 1000 ; //take 1000 loin jusqu'à ce que vous n’avez pas plus
val1000s ++; //add un pour chaque 1000 vous avez
}
test 100 s
val100s = 0; //clear hundreads s’inscrire
tandis que (test_test > = 100) {}
test_test = test_test - 100 ; 100 loin jusqu'à ce que vous n’avez pas plus de //take
val100s ++; //add un pour chaque 100 vous avez
}
essai de 10 s
val10s = 0; //clear des dizaines d’essai
tandis que (test_test > = 10) {}
test_test = test_test - 10 ; 10 loin jusqu'à ce que vous n’avez pas plus de //take
val10s ++; //add un pour chaque 10 vous avez
}
reste est ceux
val1s = test_test ; //whats gauche est plus vous qui
//
essai en bout
le nombre qui a été stocké dans test_test est maintenant être rompu
dans quatre de Registre
val1000s = nombre de 1000 le nombre de test
val100s = le nombre de 100 le nombre de test
val10s = nombre de 10 dans le numéro d’essai
val1s = le reste, le nombre de 1 dans le numéro d’essai
//
}
//
//
Il sert à entrer la lecture réelle dans le texte à
être envoyés depuis le téléphone. Voici les numéros à apposer
void phn_temps() {}
commutateur (copie) {}
case 0: / / numéro 0
numb_0() ;
rupture ;
//
cas 1: / / numéro 1
numb_1() ;
rupture ;
//
case 2: / / numéro 2
numb_2() ;
rupture ;
//
case 3: / / numéro 3
numb_3() ;
rupture ;
//
case 4: / / numéro 4
numb_4() ;
rupture ;
//
cas 5: / / numéro 5
numb_5() ;
rupture ;
//
case 6: / / numéro 6
numb_6() ;
rupture ;
//
cas 7: / / numéro 7
numb_7() ;
rupture ;
//
cas 8: / / numéro 8
numb_8() ;
rupture ;
//
9-affaire: / / numéro 9
numb_9() ;
rupture ;
}
}
//
//
LA FENÊTRE DE TEXTE DOIT ÊTRE OUVERTE AVANT D’ARRIVER ICI
void phn_compose() {}
l_sel (); mode de //Abc
numb_8 (); //Quick texte
numb_6 (); //Inside
pound_key (); //space
l_sel (); mode de //Abc
numb_5 (); //make sûr que son jeu pour mode 123
Si (val1000s > = 1) {//test pour voir si elle doit être vide
copie = val1000s ; //get une copie du Registre
phn_temps (); //figure sur quel numéro d’appuyer sur
}
Si (val1000s > = 1 & & val100s > = 1) {}
copie = val100s ; //get copie du Registre
phn_temps (); //figure sur quel numéro d’appuyer sur
}
copie = val10s ; //get copie du Registre
phn_temps (); //figure whick nombre d’appuyer sur
copie = val1s ; //get copie du Registre
phn_temps (); //figure sur quel numéro d’appuyer sur
l_sel (); mode de //Abc
numb_6 (); //symbols
r_sel (); //1st symbole set
r_sel (); //2nd symbole set
numb_9 (); de la touche "retour" //symbol
l_sel (); mode de //Abc
numb_8 (); //quick texte
numb_5 (); / / 'extérieur'
pound_key (); //space
l_sel (); mode de //Abc
numb_5 (); //make sûr que son jeu pour mode 123
Si (val1000s > = 1) {//test pour voir si elle doit être vide
copie = val1000s ; //get une copie du Registre
phn_temps (); //figure sur quel numéro d’appuyer sur
}
Si (val1000s > = 1 & & val100s > = 1) {}
copie = val100s ; //get copie du Registre
phn_temps (); //figure sur quel numéro d’appuyer sur
}
copie = val10s ; //get copie du Registre
phn_temps (); //figure whick nombre d’appuyer sur
copie = val1s ; //get copie du Registre
phn_temps (); //figure sur quel numéro d’appuyer sur
OK (); //send texte
}
//
void ard_text() {}
l_sel (); mode de //Abc
numb_3 (); //Abc
numb_2(); / / A
numb_7() ;
numb_7() ;
numb_7 (); //r
numb_3 (); //d
numb_8() ;
numb_8 (); //u
numb_4() ;
numb_4() ;
numb_4 (); //i
numb_6() ;
numb_6 (); //n
r_arrow (); //needed entre les lettres sur le même nombre
numb_6() ;
numb_6() ;
numb_6 (); //o
pound_key (); //space en texte
numb_8 (); //t
numb_3() ;
numb_3 (); //e
numb_9() ;
numb_9 (); //x
numb_8 (); //t
l_sel (); mode de //Abc
numb_6 (); //symbols
numb_9(); / /'
numb_4() ;
numb_4() ;
numb_4 (); //i
numb_6() ;
numb_6 (); //n
l_sel (); mode de //Abc
numb_6 (); //symbols
r_sel() ;
r_sel() ;
numb_9 (); //enter
l_sel (); mode de //Abc
numb_3 (); //Abc
numb_7() ;
numb_7() ;
numb_7 (); //R
numb_2 (); //a
numb_9() ;
numb_9() ;
numb_9 (); //y
pound_key (); //space en texte
l_sel (); mode de //Abc
numb_3 (); //Abc
numb_6 (); //M
numb_2() ;
numb_2() ;
numb_2 (); //c
l_sel (); mode de //Abc
numb_3 (); //Abc
numb_7() ;
numb_7 (); //Q
numb_8() ;
numb_8 (); //u
numb_3() ;
numb_3 (); //e
r_arrow (); //needed entre les lettres sur le même nombre
numb_3() ;
numb_3 (); //e
numb_6() ;
numb_6 (); //n
}
//
void clr_all() {}
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk1, MSBFIRST, phn_A) ;
Delay(10) ; petit retard
//
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A) ;
Delay(10) ; petit retard
//
phn_A = 0; / / cela effacera le relais
shiftOut (phn_data, phn_clk3, MSBFIRST, phn_A) ;
Delay(10) ; petit retard
}
//
//
//

Articles Liés

Arduino texte, au Morse code

Arduino texte, au Morse code

Salut!Il s'agit de mon premier instractableJ'ai écrit un petit programme dans l'Arduino pour convertir le texte en code Morse et l'afficher à l'aide de ledAvertisseur sonore peut être ajouté assez facilement
Arduino texte animation LCD

Arduino texte animation LCD

j'ai vu beaucoup de pages sur la façon de relier un écran LCD à un Arduino et les pages qui vous aident à dessiner des personnages personnalisés, mais je ne voyais pas beaucoup utilisé la fonction de caractère personnalisé pour l'animation.Vous aurez
5 x 5 matricielle sur Arduino (texte obtient de pc) des instructions complètes et script

5 x 5 matricielle sur Arduino (texte obtient de pc) des instructions complètes et script

Avec cela, il suffit de taper le texte que vous voulez sur votre ordinateur et votre matrice 5 x 5 affiche le message.Utilisé :~ 25 leds~ Arduino uno~ 5 x résistance de 100 ohms~ et un peu de skriptingIl m'a fallu un certain temps pour comprendre tou
Téléphone commandé un éclairage d’ambiance

Téléphone commandé un éclairage d’ambiance

Dortoirs sont connus pour leur éclairage horrible, alors je voulais faire une source de lumière alternative cool pour ma chambre à l'école. Je l'ai fait téléphone commandé ainsi il y aurait un facile et sans fil moyen de changer la couleur de l'éclai
Bouton e-mail : Connexion Arduino à IFTTT pour envoyer des e-mails, tweets, messages texte et plus

Bouton e-mail : Connexion Arduino à IFTTT pour envoyer des e-mails, tweets, messages texte et plus

ce que si vous pouviez avec un seul bouton, envoyer un email, un tweet ou un message texte ?Ce tutoriel va vous montrer comment connecter un simple bouton à vos applications préférées d'internet en le connectant à IFTTT.IFTTTIFTTT.com (si ce puis cel
Arduino TFT texte tutoriel

Arduino TFT texte tutoriel

Vous avez besoin de cette pièces :-Arduino Uno R3-TFT Display-La bibliothèque suivante d'ArduinoÉtape 1: SrcIl s'agit de la src#include#include #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 #define LCD_RESET A4 Adafruit_TFTL
Affichage en série IIC Arduino OLED 128 X 64 : impression texte et déplacer les images

Affichage en série IIC Arduino OLED 128 X 64 : impression texte et déplacer les images

Avez-vous acheté vous-même un écran OLED pour Arduino, mais ne sais pas comment commencer ? Pas aussi simple à utiliser comme vous le pensiez ? Essayez ceci !Vous apprendrez à associer votre écran OLED et lui communiquer au fil de la série (I2C). Nou
Voix d’entrée Arduino Bi-color LED Matrix défilement affichage texte (Bluetooth + Android)

Voix d’entrée Arduino Bi-color LED Matrix défilement affichage texte (Bluetooth + Android)

Tout en naviguant sur des projets intéressants à Instructables, nous sommes tombés sur l'impressionnante voix activée Arduino (Bluetooth + Android) instructable. Vous pouvez consulter il àRécemment, nous avons mis en place une instructable pour const
Sublime texte 2 permet de remplacer les IDE Arduino

Sublime texte 2 permet de remplacer les IDE Arduino

Nous pourrions se sentent souvent frustrés lors de la programmation à l'aide de l'IDE Arduino. Pourquoi ? Non pas à cause de combien d'erreurs que nous rencontrons dans le programme, mais il est tellement difficile de trouver les erreurs dans le code
Arduino DIY LCD défilement shield texte

Arduino DIY LCD défilement shield texte

Ce projet est une mise à niveau sur mon « shield Arduino DIY LCD » allez voir comment le faire sur ma chaîne !Dans ce projet, je vais utiliser un Arduino Uno pour faire défiler du texte sur un écran LCD de 16 × 2 caractères qui est contrôlé avec une
Aquaponics : Arduino Email & texte messagerie

Aquaponics : Arduino Email & texte messagerie

fondAvec tous les avantages d'éloges de culture aquaponique, il y a un certain nombre d'inconvénients, et ils se situent principalement dans la nécessité pour l'électricité.  En général, il y a au moins une pompe, mais si vous utilisez également des
Arduino (SPI) 7 Bi-color LED matrice d’affichage de texte de défilement

Arduino (SPI) 7 Bi-color LED matrice d’affichage de texte de défilement

Certains temps de retour, nous sommes arrivés avec un instructable pour construire un affichage de texte en Scrolling 7 Bi-color 8 x 8 LED Matrix. Vous pouvez visiter pour plus de détails.Dans cette instructable, nous avons utilisé la bibliothèque Le
Défilement de texte avec shield Arduino et Adafruit TFT

Défilement de texte avec shield Arduino et Adafruit TFT

Ce que nous allons faire : montrer le texte de défilement avec un Arduino et un Adafruit 2,8 pouces TFT tactile bouclierCe que nous allons utiliserArduino UnoProtection de Adafruit 2,8 pouces TFT tactileAssembléeBouclier du Mont TFT sur ArduinoPrendr
Dot Arduino 8 x 8 Led Matrix défilement texte calculatrice

Dot Arduino 8 x 8 Led Matrix défilement texte calculatrice

SalutJe le fais parce que j'ai besoin d'une calculatrice pour ma petite amie (que je prépare un cadeau pour elle:))En tout cas, c'est facile. J'ai joint standart code pour arduino 8 x 8 matricielle 7219. Vous pouvez alors créer votre texte avec mon e