Table des matières:

Organiseur de bureau avec écran LCD : 4 étapes
Organiseur de bureau avec écran LCD : 4 étapes

Vidéo: Organiseur de bureau avec écran LCD : 4 étapes

Vidéo: Organiseur de bureau avec écran LCD : 4 étapes
Vidéo: 🛠 TUTORIAL: Recycler l'écran d'un Laptop 💻 - DIY 2024, Novembre
Anonim
Image
Image

**En cours d'édition**

Pour le projet HKU arduino, j'ai décidé de créer un organisateur de bureau doté d'un écran LCD qui affiche des citations d'inspiration pour vous relever lorsque vous faites pivoter votre potmètre !

Je couvrirai principalement les aspects techniques de l'arduino, tant que vous avez quelque chose comme une boîte en bois pour cacher votre Arduino et votre écran LCD dans votre oganiseur personnel, vous pouvez prendre n'importe quelle forme souhaitable.

Les choses dont vous aurez besoin

  • *arduino uno
  • compteur de pot
  • *fils de prottypage mâles
  • *Module LCD !Avec lecteur de carte SD ! (J'ai un écran LCD arduino tft)
  • *carte Micro SD
  • *bois (j'ai recyclé de vieux mini tiroirs et utilisé des pièces de rechange en bois, assurez-vous de pouvoir au moins former une petite boîte pour cacher votre arduino !

Étape 1: Configuration du potmètre sur Arduino

Configuration du potmètre sur Arduino
Configuration du potmètre sur Arduino

connectez votre compteur de pot comme indiqué sur l'image

pour que le potmètre commence à fonctionner

Vous devrez commencer par quelques variables en haut de votre croquis avant la configuration:

code:

const int analogInPin = A0; // Broche d'entrée analogique à laquelle le potentiomètre est attaché

int sensorValue = 0; // valeur lue depuis le pot int outputValue = 0; // sortie de la valeur vers le PWM (sortie analogique)

Dans l'image 2, je montre comment le potmètre est mappé dans la boucle vide

code:

// lit l'analogique en valeur:

sensorValue = analogRead(analogInPin); // mappe-le sur la plage de la sortie analogique: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(outputValue); // change la valeur de la sortie analogique:

stuffToPrint.toCharArray(impression, 9); // texte statique myScreen.setTextSize(1);

Serial.print("sensor = "); Serial.print(sensorValue); Serial.print("\t sortie = "); Serial.println(outputValue);

retard (50);

cela mappe les données analogiques du potmètre sur une plage de 0 à 255, nous utiliserons cette plage pour contrôler notre diaporama lcd

Si vous avez besoin d'aide pour configurer le potmètre; J'ai utilisé le code de ce didacticiel utile, les broches sont exactement les mêmes et fonctionneront avec la configuration de l'écran LCD dans les étapes suivantes.

www.toptechboy.com/arduino/lesson-11-arduin…

Étape 2: Configuration de l'écran LCD

Configuration de l'écran LCD
Configuration de l'écran LCD

Configurez les broches comme dans l'exemple ci-dessus.

Une fois terminé correctement, votre écran s'allumera en blanc.

Si vous avez besoin d'aide supplémentaire ou souhaitez utiliser un exemple de code pour tester votre écran, vous pouvez voir le didacticiel officiel de ce module et ses exemples de code ici

nous utiliserons partiellement l'"image de dessin à partir d'une carte SD" à l'étape suivante.

Étape 3: Configuration du diaporama

Configuration du diaporama
Configuration du diaporama

Maintenant que nous avons configuré le potmètre et l'écran LCD, nous pouvons configurer un "diaporama" en utilisant les valeurs mappées du potmètre

En utilisant la plage de 0 à 255, nous pouvons indiquer une certaine plage dans laquelle nous pouvons déclencher l'arduino pour afficher du contenu sur l'écran LCD.

Premier exemple comme indiqué dans l'image:

if (outputValue < 51){ //range un if (rangeOne == true){ rangeTwo = true; myScreen.setRotation(90); monEcran.background(0, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Bonjour merveilleux, ", 10, 50); myScreen.text("faire pivoter la broche > vers", 10, 60); myScreen.text("recevoir des encouragements.", 10, 70); rangeOne = false;

Si le potmètre tourne sur une plage inférieure à 51, l'écran affichera (en mode portrait = rotation 90) du texte.

Pour pouvoir afficher une image, assurez-vous que votre broche SD CS est définie correctement, sinon l'arduino ne parviendra pas à initialiser la SD (assurez-vous donc de vérifier vos fils !!)

Si vous souhaitez vérifier les broches de votre écran LCD, vous pouvez vous référer au guide officiel sous "connexion de l'écran"

J'ai défini ma broche SD CS comme 4 maintenant parce que j'ai mélangé mes fils, par exemple ! - Je suis heureux de partager ce petit oopsie car cela vous fera gagner beaucoup de temps à rechercher sur le Web l'erreur "Échec de l'initialisation". À quoi sur certains forums, il est dit que la solution consiste à avoir un certain modèle de carte SD. Vérifiez donc d'abord votre câblage avant d'acheter de nouvelles cartes SD !!

Étape 4: Exemple de code complet

#comprendre

#include // Bibliothèque spécifique au matériel #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Broche d'entrée analogique à laquelle le potentiomètre est attaché

int sensorValue = 0; // valeur lue depuis le pot int outputValue = 0; // valeur sortie vers le PWM (sortie analogique) bool rangeOne = true; bool rangeDeux = vrai; bool rangeThree = true; bool rangeQuatre = vrai; bool rangeFive = true;

TFT myScreen = TFT(CS, DC, RESET);

Image image; const char printout[9];

void setup(){ Serial.begin(9600); monEcran.begin(); // essaie d'accéder à la carte SD Serial.print("Initialisation de la carte SD…"); if (!SD.begin(SD_CS)) { Serial.println("a échoué!"); revenir; } Serial.println("OK!");

// initialise et efface l'écran GLCD myScreen.begin(); myScreen.background(255, 255, 255);

} void loop(){ // lit la valeur analogique: sensorValue = analogRead(analogInPin); // mappe-le sur la plage de la sortie analogique: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(outputValue); // change la valeur de la sortie analogique:

stuffToPrint.toCharArray(impression, 9); // texte statique myScreen.setTextSize(1);

Serial.print("sensor = "); Serial.print(sensorValue); Serial.print("\t sortie = "); Serial.println(outputValue);

retard (50);

if (outputValue to", 10, 60); myScreen.text("get encouragement.", 10, 70); rangeOne = false; } } if(outputValue > 52 && outputValue 102 && outputValue 154 && outputValue < 205){ / /range quatre if (rangeFour == true){ rangeThree = true; rangeFive = true; myScreen.setRotation(90); myScreen.background(255, 255, 255); // efface l'image de l'écran = myScreen.loadImage("quote2.bmp"); //écrire l'image à l'écran myScreen.image(image, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Je suis si fier", 10, 50); myScreen.text("de vous!", 10, 60); rangeFour = false; } }

if(outputValue > 206 && outputValue

Conseillé: