Table des matières:

Testez l'Arduino nu, avec le logiciel de jeu utilisant l'entrée capacitive et la LED : 4 étapes
Testez l'Arduino nu, avec le logiciel de jeu utilisant l'entrée capacitive et la LED : 4 étapes

Vidéo: Testez l'Arduino nu, avec le logiciel de jeu utilisant l'entrée capacitive et la LED : 4 étapes

Vidéo: Testez l'Arduino nu, avec le logiciel de jeu utilisant l'entrée capacitive et la LED : 4 étapes
Vidéo: 📚APPRENDRE ARDUINO : Les Bases de la Programmation🦾 | Pour les Débutants👨‍💻 2024, Juillet
Anonim
Testez Arduino nu, avec un logiciel de jeu utilisant une entrée capacitive et une LED
Testez Arduino nu, avec un logiciel de jeu utilisant une entrée capacitive et une LED
Testez Arduino nu, avec un logiciel de jeu utilisant une entrée capacitive et une LED
Testez Arduino nu, avec un logiciel de jeu utilisant une entrée capacitive et une LED

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.

  1. 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.
  2. 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

Récupérer et télécharger le code
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

En jouant
En jouant

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

Expériences facultatives avec des composants externes
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é: