Table des matières:
- Étape 1: Avoir les choses dont vous aurez besoin
- Étape 2: Récupérer et télécharger le code
- Étape 3: Jouer
- Étape 4: Expériences facultatives avec des composants externes
Vidéo: Testez l'Arduino nu, avec le logiciel de jeu utilisant l'entrée capacitive et la LED : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Jeu interactif « Push-It » utilisant une carte Arduino nue, aucune pièce externe ni câblage nécessaire (utilise une entrée « tactile » capacitive). Montré ci-dessus, montre qu'il fonctionne sur deux cartes différentes.
Push-It a deux objectifs.
- Pour démontrer/vérifier rapidement que votre carte Arduino fonctionne et que vous êtes correctement configuré pour y télécharger une nouvelle esquisse de code. Vous pourrez voir qu'il effectue une entrée et une sortie (détectez le niveau d'entrée numérique, sortie vers la LED intégrée); stocker et récupérer une valeur de la mémoire EEPROM non volatile. Le tout sans attacher de fils ou d'appareils.
- Proposez un jeu divertissant et stimulant en interaction avec une carte Arduino.
Cette instructable suppose que vous avez déjà installé un IDE Arduino et que vous êtes au moins un minimum familiarisé avec son utilisation. Sinon je vous renvoie à ces liens:
Premiers pas avec Arduino
Ajout de la prise en charge de Digispark (avec chargeur de démarrage) à l'IDE Arduino 1.6.x existant
Push-It fonctionnera avec la plupart des cartes Arduino, par ex. une carte Nano, Uno ou DigiSpark Attiny85. Je l'ai testé avec une Nano 3.1 et une DigiSpark. Dans le texte, lorsque je fais référence aux noms/numéros de broches, ils seront tels qu'utilisés sur la carte Nano (par opposition au DigiSpark).
Étape 1: Avoir les choses dont vous aurez besoin
Ce qui est simplement n'importe quel Arduino ou une carte comparable.
Si vous n'en avez pas déjà un, je vous recommande de commencer avec un DigiSpark Pro (~ 12 $), ou un Nano 3.0 d'eBay pour ~ 3 $ (mais vous aurez une semaine ou deux supplémentaires pour attendre qu'il vienne de Chine; et vous devrez installer un pilote USB CH340). Le DigiSpark ~ 10 $ (non Pro) est très bien adapté à ce jeu "vidéo" à un seul bit (cette unité simplifiée, n'ayant que 6 E/S, est un peu plus difficile à télécharger)
Liens vers le matériel utilisé ici:
Nano V3.0 Atmega328P sur eBay
Carte de développement USB Digispark
Étape 2: Récupérer et télécharger le code
Copiez le code ci-dessous dans un fichier de croquis arduino (par exemple …/Push_It/Push_It.ino) J'ai assez bien essayé de le commenter. J'espère que vous trouverez le code facilement compréhensible. La logique pour déterminer quand augmenter, diminuer et quand ne pas le faire est quelque peu compliquée, mais cette partie est également un code spécialisé et n'est pas d'une utilité générale. Pour plus de détails sur la configuration d'un nouveau « esquisse » (projet de code) à utiliser avec l'IDE Arduino voir:
Création d'une nouvelle esquisse Arduino
Téléchargez le croquis « Push_It » dans notre microcontrôleur conformément aux instructions de l'IDE Arduino pour votre carte.
Étape 3: Jouer
Le but du jeu est de faire clignoter la LED (embarquée) autant de fois que possible dans une série de clignotements qui se répètent ensuite
Jouer au jeu:
Push-It démarre avec un seul flash, qui se répétera ensuite. Si vous touchez votre doigt près de la broche d'entrée alors que la LED est allumée, le cycle suivant fera clignoter la LED deux fois.
Chaque fois que vous appuyez sur le pseudo-bouton pendant le premier flash d'une série de flashs, un autre flash sera ajouté à cette série. Le moment où vous soulevez/retirez votre doigt n'a généralement pas d'importance.
Mais si vous « poussez » avant ou après le premier flash, le nombre de flashs dans un ensemble sera réduit.
Si vous ne faites rien de plus, le nombre de flashs dans un ensemble est maintenu. De plus, lorsque le compte reste inchangé pendant un cycle complet, le numéro de compte est stocké dans la mémoire EEPROM.
Chaque fois que vous parvenez à augmenter le nombre de flashs, la synchronisation s'accélère un peu, ce qui rend de plus en plus difficile l'obtention d'un nombre de flashs élevé. Lorsque vous faites un faux pas et que le nombre de clignotements diminue, il y aura une pause plus longue avant le clignotement de démarrage du cycle suivant. Cela représente un défi supplémentaire, car cela peut augmenter la probabilité que vous sautiez le pistolet. Alors restez vigilant.
Une fois que votre appareil a atteint un nombre de flashs élevé, vous pouvez l'apporter (ou l'envoyer par courrier, ce pour quoi le DigiSpark est bon) à un ami, où en le branchant, ils verront à quel point le nombre de flashs est élevé. à. J'ai trouvé qu'il était difficile de le faire monter à plus de 8. Avec un vrai bouton attaché, j'ai réussi à le faire monter à plus d'une douzaine. Pour revenir à un nombre inférieur, vous pouvez l'appuyer à plusieurs reprises à tout moment avant ou après le premier flash. De plus, si vous reliez la broche d'entrée à la terre lors d'une mise sous tension, le compte sera réinitialisé à 1.
Notez que la carte DigiSpark d'origine a un délai de 10 secondes après la mise sous tension avant laquelle elle commencera à exécuter le code « Push-It » et à jouer au jeu. Il utilise ce temps pour essayer de parler à travers les broches USB afin de recevoir une éventuelle nouvelle mise à jour du code de téléchargement.
Si la carte Arduino que vous utilisez a une LED USB TX dessus, cette LED aura un petit flash rapide lorsque vous aurez effectivement «appuyé sur le bouton». Il y aura un clignotement plus important de cette LED chaque fois que la valeur de comptage dans l'EEPROM est mise à jour avec une nouvelle valeur. Cette rétroaction peut vous aider grandement à savoir quand ou à vous assurer que vous avez effectivement déclenché un événement de « bouton enfoncé ». Vous devrez peut-être vous assurer que vous ne touchez pas la terre du circuit (comme le métal autour d'un connecteur micro-USB) afin que votre silhouette induise effectivement du bruit sur la broche d'entrée ouverte. Il y aura des défis supplémentaires et quelque peu imprévisibles dus au fait que la broche d'entrée est flottante (pas tirée vers le haut ou vers le bas par une charge conductrice/résistive) et le bruit de signal variable passant par votre doigt.
Une onde carrée de 250 Hz est émise vers une broche à côté de la broche d'entrée, ce qui améliore considérablement la certitude d'un signal d'entrée injecté lorsque votre doigt couvre les deux broches.
J'ai trouvé que la réponse de la carte DigiSpark était assez systématiquement prévisible à une petite pression des doigts sur le coin de la carte où se trouvent D3-D5.
Quand je joue à 'Push-It', j'aime le faire avec la carte connectée à une batterie mobile USB 5v (voir photos). Ceux-ci peuvent généralement être trouvés à peu de frais dans des bacs à côté de ceux des adaptateurs USB AC et 12v automatiques; dans la plupart des départements d'électronique des grands magasins.
Étape 4: Expériences facultatives avec des composants externes
Remarque: Si vous attachez un vrai bouton, une ligne de code doit être mise en commentaire, comme indiqué dans le code.
Avec un haut-parleur, un côté à la terre, si vous touchez l'autre fil à D4, vous entendrez le son d'une onde carrée de 250 Hz. À D3, il y a une onde carrée de 500 Hz. Si vous connectez le haut-parleur entre D3 et D4, vous entendrez un composite des deux signaux.
Brancher une LED au lieu d'un haut-parleur comme ci-dessus est très intéressant. Il n'y a pas besoin de s'inquiéter de la tension, des niveaux de courant, des résistances ou même de la polarité d'ailleurs (dans le pire des cas, il ne s'allume pas, puis retournez-le simplement). Essayez, tout d'abord, avec le fil négatif (cathode) connecté à la masse et l'autre à D3 ou D4. La LED sera "à moitié" allumée, en raison des ondes carrées. De plus, aucune résistance n'est requise car la sortie des MicroControllerUnits est limitée en courant. J'ai effectué des mesures de courant résultant respectivement en 15 mA et 20 mA pour les MCU Attiny85 et Atmega328. Ces niveaux sont environ la moitié de la valeur limitée actuelle pour ces pièces en raison de la nature du cycle de service de 50 % des signaux d'onde carrée de commande. Les lectures du compteur sont en fait une moyenne du courant traversant le circuit testé.
Fait intéressant, si vous faites le pont entre D3 et D4 avec la LED (voir l'image ci-dessus et à gauche), elle s'allumera dans les deux sens et à environ la moitié de la luminosité comme avec un côté connecté à la terre. Je vous invite à vous demander pourquoi.
Conseillé:
Jeux à 4 boutons utilisant une seule entrée analogique : 6 étapes (avec photos)
Jeux à 4 boutons utilisant une entrée analogique : cette instructable se concentre sur l'utilisation d'une ligne d'entrée analogique pour plusieurs boutons qui peuvent être détectés indépendamment les uns des autres. Tous les jeux (8 en t
Contrôleur de jeu DIY basé sur Arduino - Contrôleur de jeu Arduino PS2 - Jouer à Tekken avec la manette de jeu DIY Arduino : 7 étapes
Contrôleur de jeu DIY basé sur Arduino | Contrôleur de jeu Arduino PS2 | Jouer à Tekken avec la manette de jeu DIY Arduino : Bonjour les gars, jouer à des jeux est toujours amusant, mais jouer avec votre propre contrôleur de jeu personnalisé DIY est plus amusant. Nous allons donc créer un contrôleur de jeu utilisant arduino pro micro dans cette instructables
Testez votre vitesse Internet à l'aide d'un Raspberry Pi + Ubidots : 9 étapes
Testez votre vitesse Internet à l'aide d'un Raspberry Pi + Ubidots : Raspberry Pi est devenu un appareil largement utilisé non seulement à des fins de prototypage et d'enseignement, mais également pour des projets de production industrielle au sein des entreprises. Outre la taille du Pi, son faible coût et son système d'exploitation Linux entièrement opérationnel, il peut également interagir avec
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Arduino: 5 étapes (avec photos)
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre
Entrée tactile capacitive ESP32 utilisant des "bouchons à trous métalliques" pour les boutons : 5 étapes (avec photos)
Entrée tactile capacitive ESP32 utilisant des "bouchons à trous métalliques" pour les boutons : alors que je finalisais les décisions de conception pour un prochain projet basé sur le kit ESP32 WiFi 32 nécessitant une entrée à trois boutons, un problème notable était que le kit WiFi 32 ne possède pas un seul bouton-poussoir mécanique, pourtant seul trois boutons mécaniques, f