Arduino text'in (13 / 13 paso)

Paso 13: Mi programa

/*
11/10/2012 rayo McQUEEN
Este es el proyecto completo celular

Las disposiciones del botón celular funcionan para el teléfono que tengo.
Que tenga que hacer alguna investigación en el teléfono que utilizas.

*/
//
///////////////////////////
74HC374 FICHAS PARA RELÉS / /
///////////////////////////
//
const int phn_data = 9; datos del pin 3 de 74xx374
const int phn_clk1 = 8; reloj de chip 1 74xx374
const int phn_clk2 = 7; 74xx374 reloj de chip 2
const int phn_clk3 = 6; reloj de chip 3 74xx374
//
///////////////
TELÉFONO COSAS / /
///////////////
//
int phn_A = 0; carácter de ser cambiado de puesto, utilizado en phn_on & chip1-3
int phn_B = 0; número de relé a utilizar
//
//////////////////////////////////////
PARA DIVIDIR NÚMEROS / /
//////////////////////////////////////
int val1000s = 0; //register para sostener la cuenta 1000
int val100s = 0; //register para sostener la cuenta 100
int val10s = 0; //register para sostener la cuenta 10
int val1s = 0; //register para 1 cuenta
int test_test = 0; //register para almacenar el número de pruebas y la hora también
int tst_val = 0; lugar para guardar una copia para romper el número
int voltaje = 0; //storage para un número de prueba para el envío de
copia de int = 0; //copy de lo que pongo en él
//
int phn_val = 375; relé de tiempo (375 funciona muy bien) para el teléfono
//
ARREGLOS DE DISCOS ***
conteo de arreglos de discos se inicia en 0 no 1 y va para arriba
//
int phn_relays [] = {}
Esto es para elegir el número de relé para encender
Sólo queremos un relé en un momento.
0, 1, 2, 4, 8, 16, 32, 64, 128, 256};
//
//
//
void setup() {}
pinMode (phn_data, salida); definir pin9 como salida
pinMode (phn_clk1, salida); definir pin8 como salida
pinMode (phn_clk2, salida); definir pin7 salida
pinMode (phn_clk3, salida); definir pin6 como salida
//
////////////////
FINAL DE LA INSTALACIÓN / /
////////////////
}
//
///////////////////
INICIO PRINCIPAL LAZO / /
///////////////////
//
void loop() {}
//
retardo (30000); //wait para un poco de tiempo antes de comenzar
//
medida (); //pretend a tomar algún tipo de lectura
//
clr_all (); //make seguro que todos los relevadores son claros
//
ray_show (); //writes «text'in de Arduino"en 1ª línea"Rayo McQueen"en segunda línea.
pero no enviar como texto
retardo (10000); //wait 10 segundos
norm_send (); //send un texto normal
//
Delay(30000);
Delay(30000);
Delay(30000);
Delay(30000);
//
////////////////////
FIN DE BUCLE PRINCIPAL / /
////////////////////
//
}
//
//
//
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
INICIO TELÉFONO RUTINAS \\
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//
envía a toda la gente ha añadido en el grupo base
void norm_send() {}
Delay(phn_val);
phn_on();
Delay(30000); / retardo de 30 segundos para que el teléfono puede empezar para arriba
//
norm_text (); //this abre la ventana de texto
//
phn_compose (); //compose interior exterior texto
//
retardo (5000); //wait para el mensaje a enviar
e_nd (); //message es enviado. Apagar el teléfono
Delay(phn_val);
e_nd();
Delay(phn_val);
e_nd();
Delay(phn_val);
phn_on();
Delay(10);
}
//
//
Esto no envía un texto
cargas espera unos entonces elimina texto y cierra hacia abajo
void ray_show() {}
Delay(phn_val);
phn_on (); //turn en el teléfono
Delay(30000); / retardo de 30 segundos para que el teléfono puede empezar para arriba
//
norm_text (); //this abre la ventana de texto
//
Esto suma el "Aduino text'in Rayo McQueen"
ard_text(); / /
//
retardo (30000); //wait para poder leer el mensaje
e_nd (); //message es completa. Apagar el teléfono
Delay(phn_val);
e_nd();
Delay(phn_val);
e_nd();
Delay(phn_val);
phn_on (); //turn teléfono retroceda en preparación para el texto normal
Delay(10);
}
//
nada necesita ser cargada antes de llegar aquí
Este teléfono de tiradores para encender y apagar
el teléfono tendrá 30 segundos más si enciende
void phn_on() {}
phn_B = 3; //relay 3
phn_A = (phn_relays [phn_B]); //aray para el relé encender
seleccionar chip 2 relé número 3
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A);
retrasar (3000); retardo de 3 segundos
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo en val
}
//
Esto es para agregar el grupo todos y llegar a la
ventana de texto para que un texto puede entonces estar compuesto
Esto asume que el teléfono ya está encendido, pero puede
estar en modo de espera
void norm_text() {}
teléfono en caso de standy de despertador
e_nd();
//
e_nd();
//
dir_text();
nuevo mensaje de texto
numb_1();
mensaje de texto
numb_1();
Añadir
r_sel();
//
numb_4();
//
OK();
//
OK();
//
la ventana de texto está ahora abierto y listo para la entrada de texto
}
//
//*******************************************
Estas son para llamar a los relés correcta
por el nombre de clave en lugar de tener que recordar la
número para cargar en el B y el número de chip
//
void l_sel() {}
phn_B = 1;
chip_1 (); //left tecla
Delay(phn_val);
}
//
void r_sel() {}
phn_B = 3;
chip_1 (); //right tecla
Delay(phn_val);
}
//
void up_arrow() {}
phn_B = 2;
chip_1 (); //up flecha
Delay(phn_val);
}
//
void l_arrow() {}
phn_B = 4;
chip_1 (); //left flecha
Delay(phn_val);
}
//
void r_arrow() {}
phn_B = 6;
chip_1 (); //right flecha
Delay(phn_val);
}
//
void down_arrow() {}
phn_B = 7;
chip_1 (); //down flecha
Delay(phn_val);
}
//
{} void ok()
phn_B = 5;
chip_1 (); //ok clave
Delay(phn_val);
}
//
void dir_text() {}
phn_B = 8;
chip_1 (); //direct a la tecla de texto
Delay(phn_val);
Delay(phn_val);
}
//
void s_end() {}
phn_B = 1;
chip_2 (); //send clave
Delay(phn_val);
}
//
void c_lear() {}
phn_B = 2;
chip_2 (); //clear clave
Delay(phn_val);
}
//
void e_nd() {}
phn_B = 3;
chip_2 (); //end clave
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 clave
Delay(phn_val);
}
//
void pound_key() {}
phn_B = 7;
chip_3 (); //pound clave/espacio en texto
Delay(phn_val);
}
//
//**************************************
//
B debe ser cargado con el relé para encender antes consigue aquí
void chip_1() {}
lo uso para los primeros 8 relés
phn_A = (phn_relays [phn_B]); //array para el número de relé encender
shiftOut (phn_data, phn_clk1, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo almacenada
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk1, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo almacenada
}
//
B debe ser cargado con el relé para encender antes consigue aquí
void chip_2() {}
Use esto para el segundo 8 relés
phn_A = (phn_relays [phn_B]); //array para el número de relé encender
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo almacenada
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo almacenada
}
//
B debe ser cargado con el relé para encender antes consigue aquí
void chip_3() {}
lo uso para el tercero 8 relés
phn_A = (phn_relays [phn_B]); //array para el número de relé encender
shiftOut (phn_data, phn_clk3, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo almacenada
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk3, MSBFIRST, phn_A);
Delay(phn_val); demora la cantidad de tiempo almacenada
}
//
//
{} void measure()
Esto toma un número y explota para presionar el
apropiados botones en el teléfono para enviar ese número
voltaje = (95); número de prueba //Any a enviar
//
1000s de prueba
val1000s = 0; registro de //clear 1000
test_test = tensión; //copy contenido de tensión para la prueba
mientras que (test_test > = 1000) {}
test_test = test_test - 1000; //take a 1000 hasta que no más
val1000s ++; //add uno de cada 1000 tiene
}
prueba 100s
val100s = 0; registro de hundreads de //clear
mientras que (test_test > = 100) {}
test_test = test_test - 100, //take 100 lejos hasta que no más
val100s ++; //add uno de cada 100 tiene
}
prueba de 10s
val10s = 0; //clear decenas de pruebas
mientras que (test_test > = 10) {}
test_test = test_test - 10; //take a 10 hasta que no más
val10s ++; //add uno de cada 10 tiene
}
resto es las
val1s = test_test; //whats izquierda es más que unos
//
la prueba final
el número almacenado en test_test ahora es ser roto
a registro de cuatro
val1000s = el número de 1000 el número de prueba
val100s = el número de 100 en el número de prueba
val10s = el número de 10 en el número de prueba
val1s = resto, el número 1 en el número de prueba
//
}
//
//
Se utiliza para introducir la lectura real en el texto
enviado desde el teléfono. Estos son los números a introducir
void phn_temps() {}
interruptor (copia) {}
caso 0: / / número 0
numb_0();
rotura;
//
caso 1: / / número 1
numb_1();
rotura;
//
caso 2: / / número 2
numb_2();
rotura;
//
caso 3: / / número 3
numb_3();
rotura;
//
caso 4: / / número 4
numb_4();
rotura;
//
caso 5: / / número 5
numb_5();
rotura;
//
caso 6: / / número 6
numb_6();
rotura;
//
caso 7: / / número 7
numb_7();
rotura;
//
caso 8: / / número 8
numb_8();
rotura;
//
caso 9: / / número 9
numb_9();
rotura;
}
}
//
//
LA VENTANA DE TEXTO DEBE ESTAR ABIERTA ANTES DE LLEGAR AQUÍ
void phn_compose() {}
l_sel (); modo //Abc
numb_8 (); //Quick texto
numb_6 (); //Inside
pound_key (); //space
l_sel (); modo //Abc
numb_5 (); //make seguro de su juego para el modo 123
Si (val1000s > = 1) {//test para ver si necesita estar en blanco
copia = val1000s; //get una copia del registro de
phn_temps (); //figure que número presionar
}
Si (val1000s > = 1 & & val100s > = 1) {}
copia = val100s; //get copia del registro de
phn_temps (); //figure que número presionar
}
copia = val10s; //get copia del registro de
phn_temps (); //figure whick número presionar
copia = val1s; //get copia del registro de
phn_temps (); //figure que número presionar
l_sel (); modo //Abc
numb_6 (); //symbols
r_sel (); //1st símbolo set
r_sel (); //2nd símbolo set
numb_9 (); //symbol tecla 'Intro'
l_sel (); modo //Abc
numb_8 (); //quick texto
numb_5 (); / / 'exterior'
pound_key (); //space
l_sel (); modo //Abc
numb_5 (); //make seguro de su juego para el modo 123
Si (val1000s > = 1) {//test para ver si necesita estar en blanco
copia = val1000s; //get una copia del registro de
phn_temps (); //figure que número presionar
}
Si (val1000s > = 1 & & val100s > = 1) {}
copia = val100s; //get copia del registro de
phn_temps (); //figure que número presionar
}
copia = val10s; //get copia del registro de
phn_temps (); //figure whick número presionar
copia = val1s; //get copia del registro de
phn_temps (); //figure que número presionar
OK (); //send texto
}
//
void ard_text() {}
l_sel (); modo //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 las letras en el mismo número
numb_6();
numb_6();
numb_6 (); //o
pound_key (); //space en texto
numb_8 (); //t
numb_3();
numb_3 (); //e
numb_9();
numb_9 (); //x
numb_8 (); //t
l_sel (); modo //Abc
numb_6 (); //symbols
numb_9(); / /'
numb_4();
numb_4();
numb_4 (); //i
numb_6();
numb_6 (); //n
l_sel (); modo //Abc
numb_6 (); //symbols
r_sel();
r_sel();
numb_9 (); //enter
l_sel (); modo //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 texto
l_sel (); modo //Abc
numb_3 (); //Abc
numb_6 (); //M
numb_2();
numb_2();
numb_2 (); //c
l_sel (); modo //Abc
numb_3 (); //Abc
numb_7();
numb_7 (); //Q
numb_8();
numb_8 (); //u
numb_3();
numb_3 (); //e
r_arrow (); //needed entre las letras en el mismo número
numb_3();
numb_3 (); //e
numb_6();
numb_6 (); //n
}
//
void clr_all() {}
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk1, MSBFIRST, phn_A);
Delay(10); pequeña demora
//
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk2, MSBFIRST, phn_A);
Delay(10); pequeña demora
//
phn_A = 0; / / Esto borrará el relé
shiftOut (phn_data, phn_clk3, MSBFIRST, phn_A);
Delay(10); pequeña demora
}
//
//
//

Artículos Relacionados

Teléfono control iluminación del humor de

Teléfono control iluminación del humor de

Los dormitorios son conocidos por su terrible iluminación, así que quería hacer una fuente de luz alternativa cool para mi cuarto en la escuela. Dicho teléfono controlado por lo que sería un fácil e inalámbrico para cambiar el color de la iluminación
Uso de Sublime Text 2 reemplazar Arduino IDE

Uso de Sublime Text 2 reemplazar Arduino IDE

A menudo podríamos sentirnos frustrados cuando programación utilizando el IDE de Arduino. ¿Por qué? No por cuántos errores que encontramos en el programa, pero es tan difícil de encontrar los errores en el código fuente, que es realmente algo flipand
Automatización casera con Arduino... Y JavaScript!

Automatización casera con Arduino... Y JavaScript!

En este instructable (mi primera una realidad), te guiará para realizar la automatización en su hogar con Arduino, sí, no tan nueva... Pero también se incluyen JavaScript, usando Node.js y una impresionante biblioteca con Arduino llamado johnny cinco
Arduino Mini Plotter CNC máquina de dvd unidades

Arduino Mini Plotter CNC máquina de dvd unidades

En este proyecto le mostrará cómo construir fácilmente su propio Arduino Mini CNC Plotter de bajo coste!Este proyecto es una actualización de mi anterior cnc, con la mejor construcción y con más exactitud.Decidí hacer esta guía detallada para ayudarl
Guía de iniciación a Arduino

Guía de iniciación a Arduino

Después de algunos años de experimentar con Arduino, he decidido que ha llegado el momento de compartir el conocimiento que he adquirido. Así aquí va, una guía de Arduino, con los fundamentos desnudos para principiantes y algunas explicaciones más av
ARD-e: el robot con un Arduino como un cerebro

ARD-e: el robot con un Arduino como un cerebro

cómo crear un robot de código abierto Arduino controlado por menos de $100.Esperemos que después de leer esto instructable usted será capaz de dar su primer paso en robótica. ARD-e cuesta unos $90 a $130 dependiendo de cuánto electrónica repuesto tie
Control remoto de webcam usando Arduino, SensorMonkey, jQuery y Justin.tv

Control remoto de webcam usando Arduino, SensorMonkey, jQuery y Justin.tv

Web-activar tus sensores interactivos sobre dispositivos de escritorio, smartphone y tablet.Este tutorial describe detalladamente cómo utilizar el servicio gratuito de SensorMonkey para remotamente controlar un pan y tilt cámara web conectada a un Ar
Estación meteorológica Arduino y procesamiento

Estación meteorológica Arduino y procesamiento

construir una estación móvil o página y ver los datos en tiempo real en su computadora. El gráfico de los mapas a la velocidad del viento, presión, temperatura y dirección del viento durante 10 minutos luego guarda la imagen como un archivo jpeg y vu
Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Hola todo el mundo,Este Instructables se divide en dos fases, que hace conveniente para el principiante y los diseñadores de robots intermedios.La primera fase abarca el uso de la placa de arduino nano solamente como controlador. Con esto, vamos a co
Arduino Nano: Temperatura y humedad DHT11/DHT21/DHT22 Sensor módulo Visuino

Arduino Nano: Temperatura y humedad DHT11/DHT21/DHT22 Sensor módulo Visuino

DTH11 / DTH21 / DTH22 y AM2301son sensores de temperatura y humedad Arduino combinados muy populares.En este Instructable, voy a mostrarles, lo fácil que es programar el Arduino para utilizarlos, con Visuino - un ambiente de desarrollo gráfico fácil
Arduino controlado Servo Robot (serbio)

Arduino controlado Servo Robot (serbio)

¿qué mejor manera de empezar a experimentar con micro-controladores de código abierto ( Arduino ) y construyendo tu propio abra robot fuente ( CC (SA-de))?¿Qué hacer con el serbio?(aquí) - Cómo conectar su servio al internet y la unidad sobre un Skyp
Arduino con visual basic 6.0 de control

Arduino con visual basic 6.0 de control

este instructable es parte de mi libro Arduino + visual basic 6.0 (poner su propio software de control arduino Robot.Visual basic 6.0 es una versión muy vieja, algunas personas pueden preguntar por qué queremos utilizar visual basic 6.0. visual basic
MIT App Android usando el Bluetooth HC06 para conectar a un Arduino Uno

MIT App Android usando el Bluetooth HC06 para conectar a un Arduino Uno

Agradecimiento especial a estos recursos en línea para conseguirme empezó...Tutoriales de Nerd al azarForceTronics - youtubePaso 1: materiales:Dispositivo Bluetooth HC-06Teléfono Android---tengo un 8 de HTC, emuladores para iPhone están disponibles p
Arduino para principiantes - con una pantalla TFT de 1,8 pulgadas

Arduino para principiantes - con una pantalla TFT de 1,8 pulgadas

Esta es tu guía introductoria al uso de un 1.8 en pantalla TFT con un Arduino. Me gusta el 1.8 en pantalla por su pequeño tamaño y bajo costo. Yo tengo la mía por unos 10 dólares en ebay, aquí. No viene con instrucciones pero con algunas investigacio