Touch pantalla recubierto con Arduino

mi amigo Ankush adquirido recientemente algún reemplazo Nintendo DS pantallas táctiles y breakout boards para un proyecto de "Motocicleta Arduino RGB led" está trabajando en. Después de haber tenido poco éxito con la pantalla táctil y otros tutoriales en línea que decidimos escribir el código nosotros mismos.

El código siguiente está diseñado para trabajar con RBG de led. Puesto que da lecturas de coordenadas excelentes y es muy fácil de configurar, puede ser utilizado para mucho más que sólo led. El código de aquí sin embargo está diseñado para utilizar el eje X para controlar el color, el eje Y para controlar el brillo para led de finalmente colocado debajo de motocicleta de Ankush.

Cuando se trabaja con estas pantallas táctiles se hizo evidente rápidamente que no son las mismas. Cada pantalla táctil reparte diferentes lecturas máximas y mínimas para el eje X e Y así algunos afinando el código es necesario para propósitos de calibración. Algunos incluso han revertido las lecturas X e Y que pueden ser fijadas en el código, o simplemente girando la pantalla táctil.

¿Qué es necesario para ajustar las pantallas táctiles?
-Encontrar sus valores mínimo/máximo de X e Y. (utiliza xPos / yPos)
-Calcular el rango
y eso básicamente es todo!

Pantalla táctil de Nintendo DS:
http://www.Amazon.com/EFORCITY-Touch-Screen-Nintendo-DS-Lite/DP/B0010LXJYC
https://www.Sparkfun.com/products/8977
Touch pantalla desbloqueo
https://www.Sparkfun.com/products/9170

<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
/*
* Creado por: Ankush Verma & Cory Malantonio
* Kushy04
* cgmalantonio
*
* Y - 0 analógico
* X + 1 analógica
* Y + 2 analógicas
* X - 3 analógico
*
*/

xVal int = 0;
yVal int = 0;
int touchX;
int susceptible;
int xPos;
int yPos;

redPin int = 11;
int greenPin = 9;
bluePin int = 10;

rL int = 0;
bL int = 0;
gL de int = 0;

void setup()
{
pinMode (redPin, salida);
pinMode (bluePin, salida);
pinMode (greenPin, salida);
Serial.Begin(38400);
}

void loop()
{
Configurar los pines analógicos en preparación para la lectura del valor de Y
pinMode (A1, entrada); Pin analógico 1
pinMode (A3, entrada); Pin analógico 3
pinMode (A0, salida); Pin analógico 0
digitalWrite (A0, LOW); Pin analógico 0 como conexión de GND
pinMode (A2, salida); Pin analógico 2
digitalWrite (A2, alto); Pin analógico 2 como + 5V conexión
yVal = analogRead (1); Leer el valor de Y

Configurar los pines analógicos en preparación para la lectura del valor de Y
desde la pantalla táctil
pinMode (A0, entrada); Pin analógico 0
pinMode (A2, entrada); Pin analógico 2
pinMode (A1, salida); Pin analógico 1
digitalWrite (A1, LOW); Pin analógico 1 como conexión de GND
pinMode (A3, salida); Pin analógico 3
digitalWrite (A3, alta); Pin analógico 3 como + 5V conexión
xVal = analogRead (0); Leer el valor de x

cuando no se presiona la pantalla táctil se basa en ciertas coordenadas
Esto hace que no Haz calculadas las coordenadas en reposo
touchX = xVal;
Si (touchX > 20 & & touchX < 900) {}

Aquí es donde usted necesita su mínimo valor y rango de X
(touchX mínimo x, rango de x, se convierte en 0-1024)
xPos = mapa (touchX, 108.0, 899.0, 0, 1024);

xPos = restringir (xPos, 0, 1024);
}
Susceptible = yVal;
Si (epidérmica > 20 & & susceptible < 900) {}

Aquí es donde usted necesita su valor Y mínimo y rango de Y
(y susceptible, mínimo, rango de y, se convierte en 0-1024)
yPos = mapa (susceptible, 145.0, 892.0, 0, 1024);

yPos = restringir (yPos, 0, 1024);
}

brillo de flotador;
brillo = int (yPos) / 1024.0;
Este hermoso pedacito convierte el 0 al 1024, en tres 255 valores
int valor = int (xPos);
Float RGBslider = (float) valor/1024.0;
flotador de redLevel = 128.0 * (2 * cos (2 * PI * (RGBslider + 0.125)));
Float greenLevel = 128.0 * (2 * cos (2 * PI * (RGBslider + 0,375)));
flotador de blueLevel = 128.0 * (2 * cos (PI * RGBslider));

permite valores de color se ve afectada por el valor de brillo
redLevel = redLevel * (brillo);
greenLevel = greenLevel * (brillo);
blueLevel = blueLevel * (brillo);

/*
Si redLevel (redLevel > 255) = 255;
Si redLevel (redLevel < 0) = 0;
Si greenLevel (greenLevel > 255) = 255;
Si greenLevel (greenLevel < 0) = 0;
Si blueLevel (blueLevel > 255) = 255;
Si blueLevel (blueLevel < 0) = 0;
*/
hace lo mismo como sección comentada anteriormente
redLevel = restringir (redLevel, 0, 255);
greenLevel = restringir (greenLevel, 0, 255);
blueLevel = restringir (blueLevel, 0, 255);

RGB led de ser utilizado el trabajo hacia atrás
0 = en || 255 = off
Esto revierte a valores normales
rL = 255 - int(redLevel);
bL = 255 - int(blueLevel);
gL = 255 - int(greenLevel);

analogWrite (redPin, rL);
analogWrite (greenPin, gL);
analogWrite (bluePin, bL);

Serial.Print(Brightness);
Serial.Print(":");
Serial.Print(RL);
Serial.Print(".");
Serial.Print(GL);
Serial.Print(".");
Serial.println(BL);

Serial.Print(xPos);
Serial.println(yPos);

Delay(10);
}

Artículos Relacionados

Cómo utilizar la pantalla LCD con arduino tutorial

Cómo utilizar la pantalla LCD con arduino tutorial

Hola todos espero que bien :)Hoy yo soy va a enseñarle a utilizar un LCD display con Arduino (sólo un mensaje de mundo infierno).Si eres un principiante o nunca jugaste con pantalla de LCD con Arduino antes, este instructable definitivamente para ust
BRICOLAJE TV de pantalla LCD con Arduino y mando a distancia inteligente

BRICOLAJE TV de pantalla LCD con Arduino y mando a distancia inteligente

En los pasos siguientes, usted hacer un DIY "TV" con el código para un smart remote y realmente vídeos y posiblemente incluso conectar el mando a distancia inteligente a la placa de base real.Materiales:Espejo de papelEstabilizador sólido y no f
Conectar una pantalla LCD con Arduino

Conectar una pantalla LCD con Arduino

en este instructable nos va a ver cómo conectar un LCD paralelo a un Arduino. La pantalla LCD que estoy usando utiliza la interfaz de HD44780 común.  Muchos LCDs tienen esto, usted puede decir generalmente por la interfaz de 16 pines. Sólo necesita 1
Niños de pantalla temporizador con Arduino

Niños de pantalla temporizador con Arduino

Este dispositivo da un padre realmente robusto medio de controlar la cantidad de tiempo en pantalla (TV / DVD / consola) los niños tienen cada día. Trabaja por tener un interruptor de tiempo inteligente que controla la señal HDMI pasando entre un dis
Escribir mensajes en una pantalla nokia5110 con arduino.

Escribir mensajes en una pantalla nokia5110 con arduino.

Con las siguientes instrucciones podrás imprimir fácilmente mensajes en un nokia 5110 LCD pantalla con la ayuda de un Arduino microcontroler.Lo que necesitamos:Hardware:Pantalla LCD pantalla LCD de Nokia 5110Arduino (en este ejemplo estoy usando el m
Sistema de alarma de voz ultrasónica de la distancia pantalla ISD1820 con Arduino

Sistema de alarma de voz ultrasónica de la distancia pantalla ISD1820 con Arduino

ICStation equipo presentarles este ultrasonido distancia pantalla ISD1820 voz sistema de alarma basado en UNO de ICStation. Este sistema funciona bajo fuente de alimentación de 5V, utiliza el Módulo de ultrasonidos HC-SR04 distancia transductor Senso
Animación Sonic regla / Sensor de aparcamiento con Arduino

Animación Sonic regla / Sensor de aparcamiento con Arduino

## ACTUALIZADA CON CÓDIGO, ESQUEMAS Y PIEZAS CON ENLACES ##= Introducción =Hola todo el mundo! Este es mi primer instructivo!Después de leer cientos de instructables, que decidí hacer uno yo mismo!Como un brasileño, mi lengua madre es portuguesa. Así
Caja fuerte electrónica con Arduino

Caja fuerte electrónica con Arduino

Hola y Bienvenido a mi último proyecto. En este tutorial te enseñará cómo hacer una caja fuerte totalmente funcional con un Arduino Uno!Este proyecto incluye una contraseña de 6 dígitos (123142), que debe especificarse si desea desbloquear la caja fu
Utilice su Adafruit rgb lcd placa Pi (para Raspberry Pi) con Arduino

Utilice su Adafruit rgb lcd placa Pi (para Raspberry Pi) con Arduino

Hola a todos.Como dice el titulo, usted aprenderá cómo utilizar su Pi de Adafruit rgb lcd placa pero con Arduino. Una vez compré uno, pero nunca usado con mi Pi de frambuesa y estaba buscando una manera de utilizar con mis proyectos de Arduino. Esta
Cómo hacer una pantalla de LCD - Arduino Tutorial

Cómo hacer una pantalla de LCD - Arduino Tutorial

La librería LiquidCrystal permite pantallas de control LCD que son compatibles con el controlador HD44780 de Hitachi. Hay muchos de ellos por ahí, y generalmente usted puede encontrar la interfaz de 16 pines.En este tutorial usted aprenderá cómo util
Touch pantalla mesa DIY con TV de 32" y sensor CCD de bajo costo

Touch pantalla mesa DIY con TV de 32" y sensor CCD de bajo costo

ACTUALIZACIÓN 04/04/2016: software multipunto + Emulating NES video/fotos OPTION_7 punto y haga clic en test de velocidad + video de opciónACTUALIZACIÓN 24/03/2016: CCD sensor de reversa ingeniería + uso de 2 sensores CCD archivos de vector de grabad
Fuente de alimentación fuente de alimentación de ATX vieja con Arduino y pantalla del Banco

Fuente de alimentación fuente de alimentación de ATX vieja con Arduino y pantalla del Banco

Hola a todos y Bienvenidos a mi primer Instructable.Siempre he querido tener un banco PSU para facilitar el acceso a una fuente de energía y algo que puedo confiar en el cuando se trabaja en varios proyectos. Quería una PSU que:• proporciona 12v, 5v
Arduino y Visuino: conectar 4D sistemas ViSi genio inteligente con pantalla táctil con Arduino

Arduino y Visuino: conectar 4D sistemas ViSi genio inteligente con pantalla táctil con Arduino

Llega un momento, cuando usted quiere tener una pantalla táctil conectada a la placa Arduino. Hay muchos tamaños y diferentes opciones de visualización disponibles, pero la mayoría de ellos requieren gran cantidad de código que se desea controlar, y
Termohigrómetro con reloj y pantalla LCD en Arduino UNO

Termohigrómetro con reloj y pantalla LCD en Arduino UNO

Estos 7 pasos le conducirá a través de la "construcción" de un termo-higrómetro con reloj en el Arduino UNO.Datos y tiempo, la humedad y temperatura se mostrará en una pantalla LCD 16 x 2 pantalla. Si ha adquirido una pantalla LCD y quiero saber