Table des matières:

Jeu de ciseaux de papier Arduino tenu dans la main utilisant un écran LCD 20x4 avec I2C: 7 étapes
Jeu de ciseaux de papier Arduino tenu dans la main utilisant un écran LCD 20x4 avec I2C: 7 étapes

Vidéo: Jeu de ciseaux de papier Arduino tenu dans la main utilisant un écran LCD 20x4 avec I2C: 7 étapes

Vidéo: Jeu de ciseaux de papier Arduino tenu dans la main utilisant un écran LCD 20x4 avec I2C: 7 étapes
Vidéo: ANGÈLE CONTRE SA PROPRE IA (SAYIAN) 2024, Juillet
Anonim
Jeu tenu dans la main de ciseaux de roche de papier d'Arduino utilisant l'affichage à cristaux liquides 20x4 avec I2C
Jeu tenu dans la main de ciseaux de roche de papier d'Arduino utilisant l'affichage à cristaux liquides 20x4 avec I2C
Jeu tenu dans la main de ciseaux de roche de papier d'Arduino utilisant l'affichage à cristaux liquides 20x4 avec I2C
Jeu tenu dans la main de ciseaux de roche de papier d'Arduino utilisant l'affichage à cristaux liquides 20x4 avec I2C
Jeu tenu dans la main de ciseaux de roche de papier d'Arduino utilisant l'affichage d'affichage à cristaux liquides 20x4 avec I2C
Jeu tenu dans la main de ciseaux de roche de papier d'Arduino utilisant l'affichage d'affichage à cristaux liquides 20x4 avec I2C

Bonjour à tous ou peut-être devrais-je dire "Hello World!"

Ce serait un grand plaisir de partager avec vous un projet qui a été mon entrée dans beaucoup de choses Arduino. Il s'agit d'un jeu portable Arduino Paper Rock Scissors utilisant un écran LCD I2C 20x4. Je sais que vous pensez peut-être, "Un autre jeu Paper Rock Scissors?" Mais la plupart des jeux Arduino Paper Rock Scissors utilisent de simples LED et j'en ai également vu un qui utilisait des symboles en papier soulevés par des servos. Ceux-là sont cool. Ce projet utilise un écran LCD 20x4 et en a fait un avec I2C et un sans (non montré ici). Je voulais un étui peu coûteux avec un aspect fini, pas seulement un désordre de planche à pain. Tout le monde n'a pas accès à une imprimante 3D et veut payer quelqu'un qui le fait. Et je voulais que ce soit facile à faire pour que je puisse partager les idées avec les autres. Étant donné que mes compétences en programmation sont de niveau novice, le croquis est assez simple et facile à comprendre et à modifier. C'était mon éducation personnelle dans la création d'un croquis. Vous trouverez beaucoup de notes dans le croquis et il a traversé de nombreuses, nombreuses (20+ ?) itérations jusqu'à ce que je pense que c'est juste. Le projet coûte moins de 20 $ à réaliser (non I2C).

J'ai commencé avec Arduino en 2018 et j'ai parcouru leur site Web et lu tout ce que je pouvais. Construit et expérimenté avec les exemples de projets avec lesquels il est fourni et lu beaucoup d'Instructables que beaucoup d'entre vous ont partagé au fil des ans. Je les apprécie vraiment et j'ai tellement appris de vous tous. Merci. Maintenant, je veux partager une partie de ce que j'ai appris en ajoutant ma propre créativité. Avant que la section des commentaires ne s'accumule avec de nombreuses questions sur la façon de procéder et gardez à l'esprit, j'ai commencé cela sans aucune expérience avec Arduino. J'ai appris en créant les exemples de projets sur les sites Web Arduino et Instructables. J'ai appris de vous les gars. Lorsque vous êtes bloqué, cela peut être le moyen le plus rapide pour vous de trouver une solution.

Étape 1: Présentation du projet

Présentation du projet
Présentation du projet
Présentation du projet
Présentation du projet

J'ai sélectionné l'écran LCD d'Amazon et choisi l'écran LCD I2C 20x4 en raison de son faible coût (environ 12 $ - 18 $) et de la facilité de câblage et de programmation. Si vous le souhaitez, vous pouvez en utiliser un sans I2C et en obtenir un aussi bon marché que 7 $. Mais vous devrez utiliser une bibliothèque et un schéma de câblage différents et utiliser plus de broches Arduino. Ne vous inquiétez pas, il y en a assez pour aller dans les deux sens. Serial I2C 20x4 serait plus facile à construire, moins de fils sont moins déroutants. Mais l'écran LCD parallèle 20x4 coûte environ 5 $ moins cher. J'ai dessiné des schémas pour les deux schémas de câblage. La plupart des autres pièces que j'ai achetées sur Amazon et quelques magasins locaux. Ma boîte est une boîte de mélange pour boisson cappuccino vide. J'aime que le couvercle s'ouvre facilement pour allumer/éteindre, travailler sur n'importe quel composant ou changer la batterie. Et "Hé!" la boîte était gratuite et j'aime le cappuccino. Le recyclage du plastique est bon pour l'environnement. Vous pouvez utiliser la boîte de votre choix dans laquelle tout rentre ou même sauter la boîte ou la planche à pain du projet. Je voulais un "look de projet fini" pour pas cher. Je parie que quelqu'un crée une version imprimée en 3D. L'Arduino joue au jeu Paper Rock Scissors avec vous sur l'écran LCD, enregistre le score, vous pouvez saisir avec les boutons et, si vous le souhaitez, une option vous permet de tricher. À l'origine, la fonction de triche a été écrite à des fins de débogage et quand j'en ai eu fini, je l'ai commentée. Juste pour le plaisir je l'ai remis.

Étape 2: Planche à pain

Planche à pain
Planche à pain
Planche à pain
Planche à pain

J'ai monté mes circuits à l'aide d'Arduino Uno, mais lors de l'assemblage, j'ai utilisé Arduino Nano car il s'intègre mieux dans la boîte. Donc, vous pouvez le construire avec l'un ou l'autre. Mais n'oubliez pas de modifier quelques paramètres dans IDE. Le Nano est installé à l'arrière de l'écran LCD à l'aide de bandes de commande ou de ruban adhésif double face. Placez l'Arduino Nano à côté de la carte de ferroutage I2C de sorte que le connecteur USB soit tourné vers l'extérieur (à droite de l'écran LCD). Vous pouvez utiliser un boîtier de batterie 9v ou 4x AA (ce qui vous donne 6v) avec un interrupteur à glissière SPST pour l'alimentation montée à l'intérieur du boîtier également avec des bandes de commande. Construit dans les deux sens, l'Arduino dispose d'un régulateur de tension intégré qui le ramène aux 5 volts dont il a besoin. Si vous y réfléchissez, ce jeu peut en fait recycler les "piles 9v pour la plupart mortes" pour l'alimentation et fonctionner correctement. (Vous changez les piles des détecteurs de fumée deux fois par an, n'est-ce pas ?) D'autres appareils qui utilisent une pile 9 v peuvent dire qu'elle est morte à 6-8 volts; mais ce n'est pas mort jusqu'à ce que ce soit "Arduino Dead!"

Lors de la conception du projet, j'ai utilisé 4 boutons-poussoirs SPST pour la saisie. Peut-être un jeu de labyrinthe ? Un diviseur de tension de résistance pour les boutons est monté ensemble sur un morceau de carte proto qui peut également être monté avec des bandes de commande.

Étape 3: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

Assemblée:

Les 4 assemblages principaux sont l'écran LCD avec carte de ferroutage I2C en option, Arduino Nano, les résistances et les commutateurs connectés en guirlande à la carte proto d'interconnexion et le boîtier de batterie avec interrupteur marche/arrêt.

Vous devriez commencer par tester le circuit ou câbler la carte proto en suivant le schéma. J'aime ranger l'écran LCD face vers le bas dans le couvercle de la boîte pour éviter de le rayer. J'ai utilisé un en-tête sur un seul côté d'Arduino qui a 5v pour le connecter à la carte proto. J'ai fait un pont avec 3 en-têtes (beaucoup de travail de soudure) de l'Arduino à la carte proto afin qu'ils reposent à plat sur le dos de l'écran LCD avec des bandes de commande ou du ruban adhésif double face. Mais vraiment, les cartes peuvent être connectées simplement en soudant des fils de l'une à l'autre. Utilisé un en-tête femelle pour connecter la carte proto à l'écran LCD I2C. Les pattes de résistance de la carte proto peuvent être utilisées pour réaliser les 5 points de soudure des boutons. L'autre jambe de chaque bouton va à la broche Arduino A0. Chaque bouton aura besoin de 2 fils soudés. Utilisez un ohmmètre pour déterminer les pattes de bouton à utiliser, mais en général, vous ne pouvez pas vous tromper avec des pattes non adjacentes (diagonales les unes par rapport aux autres).

Choisissez vos paramètres pour votre Arduino dans IDE. Téléchargez le croquis et chargez-le sur l'Arduino et testez / dépannez.

Prêt à le mettre dans une boîte ? J'ai retiré l'étiquette du cappuccino, lavé et séché ma boîte. Mesurez et découpez soigneusement le trou dans la boîte pour l'écran LCD comme vous pouvez le voir et il est monté avec 3 chevilles vissées sur trois trous d'angle LCD (2 au bas de la boîte, 1 près du couvercle) juste assez longtemps pour atteindre le l'arrière de la boîte et le maintenir en place avec friction. Le trou de vis sur l'écran LCD de la carte de ferroutage est peut-être trop proche du terminal, je l'omet donc. Utilisez un couteau Exacto pour percer des trous pilotes pour les vis dans les chevilles afin qu'elles ne se fendent pas (attention, ne glissez pas et ne vous poignardez pas, tenez les chevilles avec une pince). J'ai dû plier / bouillir un peu la boîte pour l'installation finale, mais elle reprend sa forme appropriée. Les trous pour les boutons sont "percés" en les positionnant (tracer des lignes avec un bord droit) et en chauffant les bornes avec un fer à souder jusqu'à ce qu'elles "font fondre" dans la boîte. Ensuite, retirez les boutons après qu'ils se soient refroidis et soudez des morceaux de fil CAT 5e de 6" à 9" ou du fil de 18ga à 22ga aux boutons. Installez d'abord les boutons dans leurs trous, puis soudez-les à la proto-carte de la résistance. Un point de super colle, de colle chaude ou même juste de la friction maintiendra les boutons en place. Sur une version, des épisseurs de câbles téléphoniques (les cercles rouges dans les blocs en plastique transparent) ont été utilisés pour faciliter la dernière poignée de connexions entre le boîtier de la batterie, la proto-carte de résistance et l'assemblage LCD / Arduino. Si vous le souhaitez, vous pouvez utiliser de la soudure et du thermorétractable à la place. Ensuite, poussez soigneusement et lentement tous les fils et composants dans la boîte et fermez le couvercle. Vous avez installé une batterie et téléchargé le croquis Arduino avant de faire tout cela ? Vous aurez également besoin de la bibliothèque pour écran LCD 20x4 avec ou sans I2C (selon votre choix) que vous pouvez télécharger gratuitement sur Github. Mettez-le sous tension, essayez-le et voyez si cela fonctionne. Plus tard, j'ai modifié mon croquis avec des pauses pour le rendre plus facile à lire, j'ai ajouté "l'effet de points clignotants" et d'autres choses ainsi que de nombreux commentaires. Essayez de positionner l'Arduino de manière à ce que l'USB puisse toujours être connecté et un nouveau croquis téléchargé. Utilisé un organigramme, bien sûr, lors de la création de l'esquisse. Vous trouverez que les commentaires définissent à peu près où se trouvait chaque bloc de l'organigramme.

Vous constaterez que les boutons sont dans un circuit série/parallèle qui vous permet d'utiliser une broche d'entrée Arduino pour autant de boutons que vous le souhaitez. Le circuit agit comme un diviseur de tension pour fournir une valeur à la broche analogique en changeant la valeur lue par chaque bouton enfoncé. Vous pouvez utiliser le moniteur série pour déterminer les valeurs de votre circuit en fonction de vos résistances et modifier les "valeurs acceptées" dans votre croquis.

J'espère que vous vous amuserez à construire le vôtre! Si vous en faites un ou même des mods, partagez-le avec le reste d'entre nous. Merci pour la lecture.

Étape 4: Programmation et réglages

Programmation et réglages
Programmation et réglages
Programmation et réglages
Programmation et réglages

Maintenant, amusez-vous avec IDE. J'espère que tu as bu du cappuccino. Vous pourriez en avoir besoin pour vous aider à rester éveillé.

Vous devrez peut-être configurer certaines bibliothèques. Vous aurez besoin de Wire.h pour I2C, LCD.h pour LCD, LiquidCrystal_I2C.h pour LCD contrôlé par I2C. Vous devrez également utiliser la commande lcd.begin (20, 4) pour indiquer à Arduino que vous utilisez un écran LCD à 4 lignes de 20 caractères et qu'il peut y avoir d'autres paramètres.

Pour plus d'informations sur l'installation des bibliothèques, voir:

Dans l'IDE Arduino, vous devrez peut-être configurer votre carte et le port auquel vous la connectez. Le port se trouve dans le panneau de configuration de votre ordinateur/le gestionnaire de périphériques/les contrôleurs Universal Serial Bus. Vous devez déterminer quel Arduino vous utilisez. J'utilise Arduino Nano mais Uno fonctionne aussi pour cela. Choisissez vos paramètres avec soin.

Vous devrez peut-être trouver votre adresse I2C. Vous devriez pouvoir le lire directement à partir des cavaliers de la carte. Vous pouvez également télécharger un scanner I2C depuis Arduino.cc ou également https://www.gammon.com.au/forum/?id=10896 et d'autres endroits.

Quelque part autour de ce point, vous devriez pouvoir charger le programme sur l'Arduino et tester ses fonctionnalités. L'écran LCD s'allume-t-il ? Pouvez-vous lire les caractères ? Une fois, j'ai construit le circuit puis l'ai testé, le rétroéclairage s'est allumé mais les caractères étaient illisibles. J'ai passé des heures (c'est vrai, des HEURES) à essayer les paramètres et à tonifier les connexions pour s'assurer qu'il était bien construit. Abandonné pendant quelques jours. J'y suis revenu plus tard et j'ai réalisé que la résistance variable sur le panneau de ferroutage était réglée au minimum. Monté et les personnages étaient visibles. Frappez la tête sur le bureau. Une autre raison de se cogner la tête sur le bureau ? Si vous devez changer la batterie, vous devrez peut-être ajuster à nouveau cette résistance variable. Lorsque cela s'est produit, j'ai découpé un petit trou à l'arrière de la boîte pour y accéder.

Vous devrez peut-être définir vos propres valeurs de bouton dans ce programme en fonction des résistances que vous utilisez pour vos boutons. Vous pouvez utiliser ce petit croquis pratique pour cela et n'oubliez pas d'activer le moniteur série. Exécutez le croquis et appuyez sur chaque bouton et notez chaque valeur. Modifiez ensuite l'esquisse pour refléter les valeurs de vos boutons. Ensuite, téléchargez le croquis modifié sur votre tableau et voyez si cela fonctionne.

Il y a beaucoup de petites variables qui doivent toutes être justes et la vôtre peut être différente de la mienne. Être patient et essayer différentes choses vous aidera à faire fonctionner le vôtre. N'oubliez pas non plus qu'après avoir défini vos variables Arduino (comme le nom de la carte, com 3, 5 ou autre, processeur et programmeur [tous sous outils]), vous les avez peut-être toutes définies correctement, mais cela ne fonctionne pas car vous devez redémarrer. Débranchez l'Arduino et rebranchez-le sur votre ordinateur. Vous devrez peut-être également enregistrer et redémarrer votre ordinateur.

Téléchargez ce croquis, exécutez le moniteur, appuyez sur les boutons et enregistrez les valeurs, puis modifiez le croquis Paper Rock Scissors en remplaçant mes valeurs de résistance par les vôtres. Exécutez le croquis Paper Rock Scissors et voyez si cela fonctionne correctement. Ah oui, as-tu installé tes boutons dans le mauvais ordre ? Vous devrez peut-être les réinstaller si vous le souhaitez dans un ordre particulier.

S'amuser!

Étape 5: Le croquis de lecture de bouton vous aidera à trouver vos valeurs de résistance à modifier dans le croquis principal. Appuyez sur chaque bouton et enregistrez vos valeurs de résistance pour entrer dans le croquis principal

// bouton lecture croquis

void setup() {

// mettez votre code de configuration ici, à exécuter une fois:

Serial.begin(9600);

}

boucle vide() {

// mettez votre code principal ici, à exécuter à plusieurs reprises:

bouton int; //Pour lire les boutons

bouton = 0; //Pour lire les boutons

bouton = lecture analogique(A0); //Commande utilisée pour lire les Boutons

retard (100);

Serial.println(bouton);

Étape 6: Listes de pièces et outils dont vous pourriez avoir besoin

Liste des pièces d'Amazon:

Arduino Uno ou Arduino Nano

Écran LCD 20x4 avec ou sans I2C

Boîtier de batterie 9v ou 6v avec interrupteur à glissière SPST (ou procurez-vous l'interrupteur à glissière séparément)

5x boutons poussoirs SPST

1x résistance de traction 1k - 5k

5x résistances moins de 1k, 200 - 500 Ohms c'est bien

Listes de pièces Autres emplacements ou magasins:

Batterie 9v ou 4x 1,5 volts (l'option 9v vous permet de recycler les batteries "principalement mortes")

Bandes de commande (utilisé un pack de recharge) ou ruban adhésif double face

Épisseurs de câbles téléphoniques (en option mais facilitent la connexion des fils)

Quelques pouces de goujon 1/4"

Petites vis à bois pour monter les chevilles sur l'écran LCD

Souder

Thermorétractable pour fils de calibre 18

Rebuts ou pièces de recyclage:

Boîte de mélange de boissons pour cappuccino vide (tout le monde n'a pas d'imprimante 3D, ayez du cappuccino et recyclez du plastique)

Environ 1 "x 2" Proto board scrap bien que j'aie utilisé le protoboard d'Amazon

Différentes longueurs de fil 18ga à 22ga ou noyau solide Cat 5e

Outils dont vous pourriez avoir besoin:

Petit tournevis cruciforme

Petit tournevis plat

Couteau exacto

Fer à souder et soudure

Ciseaux à usage intensif

Pince à bec effilé

Règle

Étape 7: Quelques informations supplémentaires et le croquis principal

Merci pour la lecture. Je sais que c'est beaucoup. C'est mon premier Intructable et cela seul a été un peu instructif pour moi. Avec le recul, je vois que je suis verbeux à certains endroits et trop bref à d'autres. J'aurais dû décomposer l'assemblage plus en étapes. Et depuis que j'ai construit ce projet une douzaine de fois jusqu'à ce qu'il soit juste, certaines des images proviennent d'un modèle ou d'un autre. J'ai besoin de revenir en arrière et de prendre des photos d'un seul modèle. Je veux aussi inclure une vidéo ou deux. Alors oui, je vais revenir et réparer ce truc. Mais pour l'instant, je le mets entre vos mains. J'espère que vous prendrez autant de plaisir à le construire que moi. Merci encore d'avoir lu.

Conseillé: