Touch Screen Overlay avec Arduino

récemment mon ami David acheté quelques remplacement Nintendo DS, écrans tactiles et petits conseils pour un projet « Arduino moto RGB led » il travaille sur. Après avoir eu peu de succès avec la bibliothèque de l’écran tactile et autres tutoriels en ligne, nous avons décidé d’écrire le code nous-mêmes.

Le code ci-dessous est conçu pour fonctionner avec les jardins botaniques royaux de conduit. Car il donne d’excellentes lectures coordonnées et est très facile à mettre en place, il peut être utilisé pour beaucoup plus que juste led. Le code ici, cependant, est conçu pour utiliser l’axe des X pour contrôler la teinte et l’axe des Y pour contrôler la luminosité pour conduit de finalement sous la moto de David.

Lorsque vous travaillez avec ces écrans tactiles, il est apparu rapidement qu’ils ne sont pas les mêmes. Chaque écran tactile donne différentes lectures maximales et minimales pour l’axe des X et de Y donc quelques ajustements au code est nécessaire à des fins d’étalonnage. Certains ont même renversé les valeurs X et Y qui peuvent être fixés dans le code, ou tout simplement en faisant tourner votre écran tactile.

Whats besoin de tordre les écrans tactiles ?
-Trouver vos valeurs mini/maxi X et Y. (utilisez xPos / yPos)
-Calculer votre plage
et c’est essentiellement ça !

Écran tactile de Nintendo DS :
http://www.Amazon.com/eForCity-Touch-Screen-Nintendo-DS-Lite/DP/B0010LXJYC
https://www.Sparkfun.com/Products/8977
Touch Screen Breakout
https://www.Sparkfun.com/Products/9170

<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
/*
* Créé par : Ankush Verma & Cory Malantonio
* Kushy04
* cgmalantonio
*
* Y - 0 analogique
* X + 1 analogique
* Y + 2 analogiques
* X - 3 analogiques
*
*/

xVal int = 0 ;
yVal int = 0 ;
int touchX ;
int délicat ;
xPos int ;
yPos int ;

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

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

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

void loop()
{
Mettre en place les broches analogiques en préparation à la lecture de la valeur de Y
pinMode (entrée, A1) ; Broche analogique 1
pinMode (entrée, A3) ; Broche analogique 3
pinMode (A0, sortie) ; Broche analogique 0
digitalWrite (A0, faible) ; Broche analogique 0 comme connexion GND
pinMode (A2, sortie) ; Broche analogique 2
digitalWrite (A2, élevé) ; Broche analogique 2 sous + 5V connexion
yVal = analogRead (1) ; Lire la valeur de Y

Mettre en place les broches analogiques en préparation à la lecture de la valeur de Y
de l’écran tactile
pinMode (entrée, A0) ; Broche analogique 0
pinMode (entrée, A2) ; Broche analogique 2
pinMode (A1, sortie) ; Broche analogique 1
digitalWrite (A1, faible) ; Broche analogique 1 connexion GND
pinMode (A3, sortie) ; Broche analogique 3
digitalWrite (A3, élevé) ; Broche analogique 3 sous + 5V connexion
xVal = analogRead (0) ; Lire la valeur de x

Lorsque l’écran tactile n’est pas pressé, il repose à certaines coordonnées
Cela permet de s’assurer que les coordonnées au repos ne se calcule
touchX = xVal ;
Si (touchX > 20 & & touchX < 900) {}

Voici où vous avez besoin de votre minimum X valeur et gamme de X
(touchX, minimale x, gamme de x, se transforme en 0-1024)
PosX = carte (touchX, 108, 0, 0, 899.0, 1024) ;

PosX = contraindre (xPos, 0, 1024) ;
}
Délicat = yVal ;
Si (délicat > 20 & & délicat < 900) {}

Voici où vous devez votre valeur minimale de Y et la gamme de Y
(y ombrageux, minimal, gamme de y, convertit en 0-1024)
yPos = carte (délicat, 145,0 892,0, 0, 1024) ;

yPos = contraindre (Posy, 0, 1024) ;
}

flotteur de luminosité ;
luminosité = int (yPos) / 1024.0 ;
Cet bel bit 0-1024, convertit de trois 255 valeurs
int valeur = int (xPos) ;
float RGBslider = (float) valeur/1024.0 ;
float redLevel = 128,0 * (2 * cos (2 * PI * (RGBslider + 0,125))) ;
float greenLevel = 128,0 * (2 * cos (2 * PI * (RGBslider + 0,375))) ;
float blueLevel = 128,0 * (2 * cos (PI * RGBslider)) ;

autorise les valeurs de couleur d’être affectée par la valeur de la luminosité
redLevel = redLevel * (luminosité) ;
greenLevel = greenLevel * (luminosité) ;
blueLevel = blueLevel * (luminosité) ;

/*
Si redLevel (redLevel > 255) = 255 ;
Si redLevel (redLevel < 0) = 0 ;
Si greenLevel (greenLevel > 255) = 255 ;
Si (greenLevel < 0) greenLevel = 0 ;
Si blueLevel (blueLevel > 255) = 255 ;
Si blueLevel (blueLevel < 0) = 0 ;
*/
fait la même chose comme section commentée ci-dessus
redLevel = contraindre (redLevel, 0, 255) ;
greenLevel = contraindre (greenLevel, 0, 255) ;
blueLevel = contraindre (blueLevel, 0, 255) ;

RGB led étant utilisé le travail vers l’arrière
0 = sur || 255 = off
il inverse les valeurs 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) ;
}

Articles Liés

Mug musique : Transformer l’eau en un Instrument avec Arduino et ChucK

Mug musique : Transformer l’eau en un Instrument avec Arduino et ChucK

Que se passe-t-il si on pouvait tourner n'importe quelle surface conductrice dans un instrument ? Comme, disons... une tasse d'eau ? Le meilleur de tous, c'est pas cher ; vous devez seulement $1 d'une valeur de composants électriques en surplus (non
Contrôle d’iTunes Arduino Touch Screen (ATSIC)

Contrôle d’iTunes Arduino Touch Screen (ATSIC)

ce que je vais vous montrer est comment faire un dispositif de contrôle d'iTunes à l'aide d'un Arduino et un écran tactile.L'iTunes que contrôle fonctionne par la lecture de la zone de l'écran tactile et envoyer une lettre à l'ordinateur via le port
Touch Screen coffee table bricolage avec TV 32" et faible coût capteur CCD

Touch Screen coffee table bricolage avec TV 32" et faible coût capteur CCD

Mise à jour 04/04/2016 : logiciel Multipoint + émulant NES vidéo/images + OPTION_7 Point et Click + test de vitesse, vidéo OPTIONMise à jour 24/03/2016 : capteur CCD reverse Engineering + à l'aide de 2 capteurs CCD + fichiers vectoriels de Laser grav
Thermostat avec Arduino et grand écran LCD de la maison

Thermostat avec Arduino et grand écran LCD de la maison

Remplacer un thermostat standard (SIEMENS-RAA30 16GR) avec un individu fait, axée sur l'arduino, grand écran LCD est un amusant projet.AVERTISSEMENT : Prise de courant est utilisé dans les deux contrôlant le four et pour arduino puissance alors s'il
Réinitialiser votre horloge circadienne « horloge biologique de corps » avec Arduino

Réinitialiser votre horloge circadienne « horloge biologique de corps » avec Arduino

Source d'inspiration pour réinitialiser l'horloge biologique de votre corps et améliorer votre hygiène santé et sommeil avec ArduinoUne horloge circadienne n'est pas une horloge que nous regardons l'heure. C'est plutôt un chronométreur et un oscillat
Smart personnel thermomètre avec Arduino

Smart personnel thermomètre avec Arduino

Cette instructable est préparée dans le cadre de notre mission pour TfCD (technique au service du Concept Design) cours de TU Delft. Ce instructable qui suit est préparé par :Bo Koperdraat : 4209567Karthik mandon : 4501578Dans ce instructable vous ap
IoT murale avec Arduino et ESP8266

IoT murale avec Arduino et ESP8266

Dans ce instructable, je vous montrer comment ajouter accessibilité améliorée, intelligence et une connectivité à une prise murale ordinaire. Cela se fait avec une combinaison de microcontrôleurs, Arduino, divers capteurs, ESP8266 et un mélange de pr
Circuit de Strip LED RGB avec Arduino

Circuit de Strip LED RGB avec Arduino

Ce Instructable couvre l'Assemblée d'un circuit capable d'ing PWM (modulation de largeur d'impulsion) une bande de RVB LED 9-12v et un Arduino pour faire défiler une gamme de couleurs de programmation. Je vais discuter de comment monter un transistor
L’utilisation de télécommandes IR avec Arduino (actuels et mis à jour)

L’utilisation de télécommandes IR avec Arduino (actuels et mis à jour)

Je suis fatigué de ces tutoriels de programmation compliquées sur l'utilisation de certaines choses. J'aime simple, facile à comprendre, étape par étape les instructions. Mon plus gros problème était avec IR et de POV. J'ai enfin maîtrisé comment con
La réalisation d’un cardan bricolage sans balais avec Arduino

La réalisation d’un cardan bricolage sans balais avec Arduino

Il s'agit d'une histoire de mon troisième projet avec gyro bon marché et Arduino.Après les précédentes deux projets, Simple pendule inversé et calligraphie 3D, j'ai pensé faire Caméra cardan avec Arduino. Puis j'ai eu trois stratégies pour le projet.
Mind Reader avec Arduino

Mind Reader avec Arduino

Bonjour tout le monde!!C'est mon esprit lecteur pour Arduino.Le lecteur de l'esprit peut vous dire quelle lettre de l'alphabet (ABC) ou dont le jeu de cartes vous avez imaginé avec seulement quelques questions.C'est un projet très simple pour l'assem
BRICOLAGE à la main Hexapod avec arduino (Hexdrake)

BRICOLAGE à la main Hexapod avec arduino (Hexdrake)

Bonjour, je suis David, et dans ce instructable je vais montrer comment j'ai fait cette hexapode dont le nom est Hexdrake.Étant donné que j'avais 16 ans je me suis intéressé en électronique et en robotique. Après être certaine et programmation de com
No.03 volant voiture R/C voiture avec Arduino, Webcam et net. USB, etc. Mais il s’agit de chenilles et 4WS (4 roues directrices)

No.03 volant voiture R/C voiture avec Arduino, Webcam et net. USB, etc. Mais il s’agit de chenilles et 4WS (4 roues directrices)

cette voiture No.03 utilise un système similaire comme voiture No.02, mais différents châssis CR-01 de robot d'indexation est appliqué, qui a le système facultatif 2 servos et qui rend la conduite-crabe (4 roues de même sens) ou court rayon de braqua
KeyChainino - le premier jeu trousseau Programmable avec Arduino

KeyChainino - le premier jeu trousseau Programmable avec Arduino

KeyChainino est un porte-clef jeu vintage programmable avec Arduino , où n'importe qui peut télécharger son propre jeu juste avec l'IDE Arduino.Si vous aimez vraiment le jeu d'Arcade, KeyChainino est fait pour vous !Il ne dispose pas des écrans LCD,