Table des matières:

Console portable avec contrôleurs et capteurs sans fil (Arduino MEGA & UNO): 10 étapes (avec photos)
Console portable avec contrôleurs et capteurs sans fil (Arduino MEGA & UNO): 10 étapes (avec photos)

Vidéo: Console portable avec contrôleurs et capteurs sans fil (Arduino MEGA & UNO): 10 étapes (avec photos)

Vidéo: Console portable avec contrôleurs et capteurs sans fil (Arduino MEGA & UNO): 10 étapes (avec photos)
Vidéo: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, Juillet
Anonim
Image
Image
Câbler l'écran (tactile)
Câbler l'écran (tactile)

Ce que j'ai utilisé

-Arduino MEGA

- 2x Arduino UNO

- Écran tactile Adafruit 3,5 TFT 320x480 HXD8357D

- Avertisseur sonore

- Haut-parleur 4Ohm 3W

- Lumières LED de 5 mm

- Imprimante Ultimaker 2+ avec filament PLA noir

- Découpeuse laser avec bois MDF

- Peinture noire en aérosol (pour le bois)

- 3x émetteurs-récepteurs sans fil nRF24L01+

- 2x 16mm Bouton

- 2x capteurs de pression

- 3 supports de piles 9V

- Planche à pain

- 2x écrans OLED I2C 0.96''

- Fils mâle - femelle

- Station de soudure

- Super colle

- 2x module tactile monocanal (ROUGE/BLEU)

Étape 1: câbler l'écran (tactile)

Câbler l'écran (tactile)
Câbler l'écran (tactile)
Câbler l'écran (tactile)
Câbler l'écran (tactile)

Nous allons donc en faire une console portable, avec deux manettes sans fil.

Par conséquent, nous aurons une unité principale (La plus grande partie, avec l'écran LCD)

L'unité principale fonctionnera avec l'Arduino MEGA.

Les deux contrôleurs séparés exécuteront chacun un Arduino UNO.

Plus tard, nous ferons communiquer les Arduinos entre eux pour envoyer les données du contrôleur.

Commencez par câbler correctement l'écran 320x480 à votre unité d'écran principale (Arduino MEGA) comme dans ce tutoriel. (Adafruit a un excellent tutoriel détaillé pour le câblage et le code).

Pour le son, j'ai câblé un buzzer et un haut-parleur 3W 4Ohm pour séparer les broches numériques et GND.

avec la tonalité (pin, fréquence, durée); Vous pouvez créer des sons monophoniques de base.

Étape 2: Familiarisez-vous avec les bibliothèques

Familiarisez-vous avec les bibliothèques
Familiarisez-vous avec les bibliothèques
Familiarisez-vous avec les bibliothèques
Familiarisez-vous avec les bibliothèques

L'écran Adafruit 320x480 prend en charge les bibliothèques Adafruit_GFX et Adafruit_TFTLCD correspondantes.

Lisez la documentation. Je pense que c'est assez bien expliqué là.

Assurez-vous d'avoir défini les bons paramètres dans l'IDE Arduino:

Outils -> Carte -> Arduino/Genuino MEGA ou MEGA 2560

Outils -> Port -> [Le port avec '' Arduino MEGA '' dedans]

Cette bibliothèque d'écrans particulière prend en charge les polices personnalisées, les formes de base et une variété de couleurs.

Quelque chose de remarquable pourrait être que le taux de rafraîchissement est trop faible pour une animation fluide. Si vous souhaitez mettre à jour l'écran à chaque tick, il sera trop lent de gérer le redessinage de chaque pixel et il clignotera

Je suggérerais donc de travailler de manière créative autour de cela, comme la façon dont certains des anciens ordinateurs de poche géraient l'animation: avec des images clés. Moins est plus! Et au lieu de tout redessiner à chaque seconde, si vous souhaitez déplacer un rectangle vers la gauche ou vers la droite, vous pouvez simplement effacer la trace qu'il laisse derrière lui, au lieu d'effacer tout l'objet et de le redessiner.

Par exemple, j'ai utilisé le scintillement de l'écran comme effet clignotant pour le personnage de la séquence d'introduction.

De la bibliothèque Adafruit_GFX j'ai principalement utilisé le tft.fillRect(x, y, width, height, color); et tft.print(texte); les fonctions.

L'expérimentation est la clé.

Étape 3: Concevoir une interface utilisateur graphique / un menu principal

Concevoir une interface utilisateur graphique / Menu principal
Concevoir une interface utilisateur graphique / Menu principal
Concevoir une interface utilisateur graphique / Menu principal
Concevoir une interface utilisateur graphique / Menu principal

Après avoir acquis des connaissances au sein de la bibliothèque et connaître ses limites/pouvoirs, vous pouvez commencer à concevoir un écran de menu principal.

Encore une fois, pensez aux rectangles. Du moins c'est ce que j'ai fait.

Voici mon code pour l'interface utilisateur

pastebin.com/ubggvcqK

Vous pouvez créer des curseurs pour la luminosité de l'écran, pour contrôler la broche '' Lite '' sur votre écran tactile Adafruit, via une broche analogique.

Étape 4: câbler les deux contrôleurs

Câbler les deux contrôleurs
Câbler les deux contrôleurs
Câbler les deux contrôleurs
Câbler les deux contrôleurs
Câbler les deux contrôleurs
Câbler les deux contrôleurs

Pour la partie contrôleur, c'est en fait à vous de choisir le type de capteurs que vous souhaitez utiliser, en fonction du jeu que vous envisagez de créer

Bon, donc pour les contrôleurs, j'ai décidé d'utiliser:

- Un capteur de pression

- Un écran OLED

- Module tactile à un canal qui s'allume ou s'éteint

- Capteur de geste (RobotDyn APDS9960)

- Émetteur-récepteur nRFL01+ (pour la communication sans fil)

- Un bouton poussoir

Remarque: le capteur de mouvement et l'OLED utilisent tous deux des connexions SCL/SDA. Il m'a fallu un certain temps pour réaliser qu'Arduino n'en a que deux: A4 et A5. Mais vous pouvez simplement les câbler en parallèle sur la planche à pain et cela fonctionnera très bien

Étape 5: Commencez à câbler la connexion sans fil

Commencez à câbler la connexion sans fil
Commencez à câbler la connexion sans fil
Commencez à câbler la connexion sans fil
Commencez à câbler la connexion sans fil
Commencez à câbler la connexion sans fil
Commencez à câbler la connexion sans fil

Le câblage des modules nRF24L01+ m'a pris un certain temps pour que cela fonctionne.

J'ai dû recourir à la bibliothèque TMRh20 RF24, après n'avoir pas pu obtenir les bonnes données de capteur transmises à l'écran.

Pour que plusieurs Arduinos communiquent entre eux, nous devons nous assurer qu'au moins un des UNO est alimenté, ainsi que le MEGA.

Utilisez la console série du MEGA pour imprimer les résultats que vous obtenez de l'UNO et voir si cela fonctionne.

Voici le code

Voici la bibliothèque

Étape 6: Déchaînez-vous ! Essayez diverses choses

Devenir fou! Essayez diverses choses
Devenir fou! Essayez diverses choses

Une partie cruciale de mon processus de développement consistait simplement à essayer beaucoup de choses !

Quel type de boutons voulez-vous utiliser ?

Que mettez-vous dans vos contrôleurs ?

Regardez autour de vous sur les sites Web, vous trouverez de nombreux composants en plus des boutons ''A/B'' ou des joysticks analogiques habituels. Soyez inspiré et motivé pour essayer!

Une fois que vous avez une idée claire et fonctionnelle de ce que vous voulez mettre dans les contrôleurs, câblez les composants.

Selon leur fonctionnement, vous devrez utiliser des entrées numériques ou des entrées analogiques.

REMARQUE: certains composants peuvent nécessiter des broches SCL/SDA pour fonctionner correctement. Et si vous avez deux capteurs ou plus qui ont tous les deux besoin du même, vous aurez probablement une attaque de panique comme moi. Mais vous n'avez pas à vous inquiéter

Vous pouvez mettre les broches SDA et SCL des capteurs en série les unes avec les autres, en A4 et A5 et cela fonctionnera

Étape 7: Concevoir

Concevoir
Concevoir
Concevoir
Concevoir
Concevoir
Concevoir

Une fois que vous avez une bonne idée des capteurs que vous souhaitez utiliser, esquissez quelques idées pour un design que vous aimez.

Après cela, lancez-vous dans certains programmes de modélisation comme Blender, Maya, Cinema 4D.

J'ai utilisé Blender pour créer un modèle (rugueux).

Pour obtenir des mesures claires dans Blender, vous pouvez changer l'unité de la taille de la grille en millimètres.

Après avoir créé un modèle, assurez-vous que vous n'avez pas de sommets doubles et que vous avez recalculé vos normales.

Exportez le fichier au format.stl, si vous souhaitez utiliser une imprimante 3D comme moi.

REMARQUE: Dans Blender, vous devrez définir l'échelle d'exportation sur 0,1 si vous voulez la taille précise dans Cura à l'étape suivante

Étape 8: Impression 3D du boîtier

Impression 3D du boîtier
Impression 3D du boîtier
Impression 3D du boîtier
Impression 3D du boîtier
Impression 3D du boîtier
Impression 3D du boîtier

Ce modèle a été imprimé avec du filament PLA noir de 2,85 mm sur une imprimante Ultimaker 2+.

Télécharger l'ARUC

Chargez votre. STL dans Cura, et il vous montrera combien de temps cela prendra.

Pour un étui de poche, l'impression peut prendre jusqu'à 10 heures, selon la taille.

Cependant, pour les modèles peu détaillés, vous pouvez accélérer le processus, ce que j'ai fait.

Voici mes paramètres:

Hauteur de la couche: 0,2

Épaisseur de paroi: 0,8

Épaisseur supérieure/inférieure: 0,8

Buse: 0,4

Température: 60 degrés Celsius

Débit: 100 %

Bord: n'importe où en contact avec la plaque de construction

Densité de remplissage: 20%

Progressif: 0

Température de la buse: 220 C

Vitesse d'impression: 120 %

Étape 9: Souder et finaliser

Soudure et finalisation
Soudure et finalisation
Soudure et finalisation
Soudure et finalisation
Soudure et finalisation
Soudure et finalisation

Vous avez parcouru un long chemin.

La dernière étape consiste à acquérir un perfboard / veroboard et à traduire vos connexions de maquette en une partie d'une carte de prototypage.

Assurez-vous que l'électronique s'adapte à l'intérieur des boîtiers imprimés, et peut-être coupez du MDF en bois pour fabriquer des pièces où les boutons / entrées du contrôleur passent.

J'ai utilisé un lasercutter pour cela.

Le plus important est de déconner, d'essayer des trucs que vous n'avez jamais fait autrement et de vous amuser !

J'espère que ce tutoriel était assez clair… C'était un projet assez difficile, qui a donné un excellent résultat !:)

Étape 10: Aperçu

Conseillé: