Table des matières:

Alternative à 3 $ à Makey Makey: 4 étapes (avec photos)
Alternative à 3 $ à Makey Makey: 4 étapes (avec photos)

Vidéo: Alternative à 3 $ à Makey Makey: 4 étapes (avec photos)

Vidéo: Alternative à 3 $ à Makey Makey: 4 étapes (avec photos)
Vidéo: Дэвид МакКей: возобновляемые источники энергии — проверка реальностью 2024, Novembre
Anonim
$3 Alternative à Makey Makey
$3 Alternative à Makey Makey
$3 Alternative à Makey Makey
$3 Alternative à Makey Makey

Le Makey Makey est un excellent petit appareil qui émule un clavier USB et vous permet de créer des touches à partir de tout élément quelque peu conducteur (papier d'aluminium, bananes, pâte à modeler, etc.), qui peut ensuite être utilisé comme contrôleur pour des jeux et des projets éducatifs. Le Makey Makey a deux inconvénients: (1) le coût et (2) le besoin d'une connexion à la terre.

Ce projet est une alternative bon marché utilisant une carte STM32F1 à 2 $ et une détection capacitive. Il n'a que 10 entrées contre 12 pour le Makey Makey, mais il a l'avantage qu'en plus d'émuler un clavier, il peut émuler une manette de jeu USB (joystick numérique).

Les pièces:

  • Carte "pilule noire" STM32F103c8 (1,90 $ sur Aliexpress; plus d'informations ici)
  • planche à pain (moins de 1 $ sur Aliexpress) et câbles de raccordement; ou juste un tas de connecteurs dupont femelle-mâle (0,70$ sur Aliexpress pour un pack de 40)
  • trombones, pinces crocodiles, etc.

Outils:

  • ordinateur
  • Adaptateur UART vers USB pour la programmation initiale de la carte (un Arduino Uno ou Mega fera l'affaire, tout comme une unité CH340 bon marché)
  • fer à souder pour souder les en-têtes à la carte (vous pouvez également utiliser un tas de clips de test sans soudure, mais ils tombent parfois)

Le logiciel est un exemple de croquis inclus avec ma bibliothèque ADCTouchSensor qui permet une détection capacitive avec une seule broche sur la carte STM32F1 par capteur (elle est basée sur la bibliothèque de martin2250 pour AVR).

Avertissement: par temps sec, ou lorsque l'électricité statique est un problème (par exemple, sur un tapis), ne touchez pas les connecteurs métalliques exposés de peur de causer des dommages électrostatiques à la carte STM32F1. Je m'attends à ce que la résistance des pommes de terre, des bananes, de la pâte à modeler, etc. aide à protéger la planche, mais si vous utilisez du papier d'aluminium nu, vous pourriez avoir des problèmes. D'autre part, le conseil d'administration n'est que de 1,90 $.

Idées d'activités pédagogiques:

  • Expérimentez pour découvrir quels éléments sont conducteurs et peuvent être utilisés comme surfaces de contrôle. (Par exemple, mine de crayon contre crayon; pâte à modeler contre bougie.)
  • Écrivez des jeux Scratch qui utilisent une manette faite maison.
  • Modifiez le code Arduino alimentant le projet pour autoriser les clics/mouvements de souris, d'autres touches, plus de quatre directions de joystick, etc.

Étape 1: Installer Bootloader sur la carte de développement

Installer Bootloader sur la carte de développement
Installer Bootloader sur la carte de développement
Installer Bootloader sur la carte de développement
Installer Bootloader sur la carte de développement
Installer Bootloader sur la carte de développement
Installer Bootloader sur la carte de développement

Soudez les deux en-têtes à trois broches au milieu du système de développement Black Pill (B0-/center/B0+; B1-/center/B1+), et les longs en-têtes le long des bords (si vous êtes pressé, ou si vous voulez pour éviter les épingles inutiles qui peuvent dérouter les enfants, vous avez juste besoin d'épingles pour A0-A10 et G).

Vous avez besoin d'un pont UART vers USB compatible avec les appareils 3.3v. Vous pouvez commander un ch340 auprès d'Aliexpress pour 0,66 $, mais j'avais une imitation d'Arduino Mega et j'ai trouvé une astuce intéressante en ligne. Si, sur un Arduino, vous court-circuitez la broche de réinitialisation à la terre avec un fil court, cela devient un pont UART vers USB - aucun croquis n'est nécessaire. La seule astuce est que l'étiquetage RX et TX s'inverse: la broche "RX" de l'Arduino transmet et sa broche "TX" reçoit. L'Arduino fonctionne à 5v et la Black Pill à 3,3v, mais les broches PA9 et PA10 sur le stm32f103 sont tolérantes à 5V, donc cela ne devrait pas poser de problème.

Sur les en-têtes que vous avez soudés, placez un cavalier de B0+ au centre et de B1- au centre.

Effectuez les connexions suivantes:

  • PA9 vers UART bridge RX ("TX" si vous utilisez l'astuce Arduino)
  • PA10 vers UART bridge TX ("RX" si vous utilisez l'astuce Arduino)
  • G à la masse du pont UART

Vous pouvez utiliser une planche à pain ou des cavaliers mâle-femelle, ou si vous voulez le faire avant de souder les en-têtes, vous pouvez utiliser des clips de test (comme sur la photo).

Téléchargez le binaire du chargeur de démarrage. Vous voulez générique_boot20_pb12.bin.

Sous Windows, installez le démonstrateur Flash Loader de ST. Sous Linux (et peut-être OS X et même Windows si vous préférez les outils en ligne de commande), utilisez plutôt ce script python, mais mes instructions seront pour Windows. Connectez votre pont UART à votre ordinateur.

Allumez la Black Pill via son port USB (si vous utilisez l'ordinateur, il se plaindra probablement d'un périphérique USB non reconnu; ignorez cela). Démarrez le démonstrateur Flash Loader. Choisissez le port COM de votre pont UART. Choisissez "Supprimer la protection" si disponible. Choisissez une version flash de 64 Ko plutôt que 128 Ko. Et téléchargez le binaire du chargeur de démarrage.

Débranchez tout puis déplacez le cavalier de B0+/center à B0-/center. Vous disposez maintenant d'un chargeur de démarrage que vous pouvez utiliser avec l'IDE Arduino.

Étape 2: Configurer l'IDE Arduino

Configurer l'IDE Arduino
Configurer l'IDE Arduino

Je suppose que vous avez installé le dernier IDE Arduino.

Dans Outils | Conseils | Boards Manager, installez la prise en charge de l'Arduino Zero (il suffit de mettre Zero dans la recherche, de cliquer sur l'entrée trouvée, puis d'installer). Oui, vous ne travaillez pas avec un Zero, mais cela installera le bon compilateur gcc.

Ensuite, téléchargez le noyau stm32duino. Sous Windows, je recommande de télécharger le fichier zip, car lorsque j'ai extrait les fichiers (certes, avec svn), j'ai eu quelques problèmes d'autorisations avec les fichiers du répertoire des outils Windows qui devaient être corrigés. Mettez la branche dans Arduino/Hardware/Arduino_STM32 (vous aurez donc des dossiers comme Arduino/Hardware/Arduino_STM32/STM32F1, etc.) Sous Windows, installez les pilotes en exécutant drivers\win\install_drivers.bat.

Étape 3: Installer le croquis du contrôleur capacitif

Installer l'esquisse du contrôleur capac-t.webp
Installer l'esquisse du contrôleur capac-t.webp
Installer l'esquisse du contrôleur capac-t.webp
Installer l'esquisse du contrôleur capac-t.webp
Installer l'esquisse du contrôleur capac-t.webp
Installer l'esquisse du contrôleur capac-t.webp

Dans Arduino IDE, choisissez Sketch | Inclure la bibliothèque | Gérer les bibliothèques. Recherchez "ADCTouchSensor" et installez la version 0.0.6 ou une version plus récente. Répétez et recherchez "USBHID" et installez ma bibliothèque USBHID_stm32f1.

Choisissez Fichier | Exemple | ADCTouchSensor | Contrôleur Capacitif.

Assurez-vous d'avoir les paramètres suivants sous Outils:

  • Carte: Générique STM32F103C8
  • Méthode de téléchargement: chargeur de démarrage STM32duino

Branchez la carte dans l'ordinateur et cliquez sur le bouton "télécharger" flèche droite. Vous devrez peut-être réinitialiser la carte (appuyez sur le bouton de réinitialisation) une fois que le message de téléchargement apparaîtra dans la console.

Étape 4: Connexions et boutons

Connexions et boutons
Connexions et boutons
Connexions et boutons
Connexions et boutons
Connexions et boutons
Connexions et boutons

Avec l'appareil débranché, faites passer les fils des broches STM32F1 à vos surfaces de contrôle. Connectez-vous avec des pinces crocodiles, des trombones ou simplement en collant des cavaliers dans des objets. Vous pouvez utiliser une planche à pain ou des cavaliers femme-homme. Pour Tetris sur ordinateur, nous avons utilisé le mode clavier et les touches fléchées; pour Pac Man sur tablette, nous avons utilisé un câble USB OTG et un mode joystick.

L'esquisse CapacitiveController calibre les capteurs capacitifs lorsqu'elle est allumée. Assurez-vous que pendant que vous l'allumez, vous ne touchez pas les surfaces de contrôle, les fils ou les broches. Et si vous modifiez une surface de contrôle, vous devez recalibrer en débranchant et en rebranchant ou en appuyant sur le bouton de réinitialisation blanc sur la carte.

La plupart des applications ici fonctionneront, ainsi que de nombreuses autres. Vous pouvez également voir combien de projets Makey Makey vous pouvez adapter.

Quelques bonnes surfaces de contrôle:

  • fruits et légumes
  • pâte à modeler
  • papier d'aluminium (sauf dans des conditions statiques élevées)
  • boutons/connexions fortement crayonnés sur papier (les lignes de connexion ne doivent pas être trop longues - sur la photo, le bouton le plus bas n'a pas fonctionné)
  • expérimentez avec beaucoup d'autres ! (vous pouvez également essayer de modifier la ligne 25 in if (sensors->read() > 25) dans le code source pour certaines surfaces)

Connexions en mode clavier:

  • Laisser A10 déconnecté
  • A0: espace
  • A1: haut
  • A2: à gauche
  • A3: vers le bas
  • A4: à droite
  • A5: w
  • A6: un
  • A7: s
  • B0: d
  • B1: f

Connexions en mode manette de jeu/joystick:

  • Connectez A10 à la masse (G) pour définir le mode joystick
  • A0: bouton 1
  • A1: haut
  • A2: à gauche
  • A3: vers le bas
  • A4: à droite
  • A5-A7, B0, B1: boutons 2-6

Indice:

Si vous utilisez des cavaliers mâle-femelle, vous pouvez effectuer la connexion à la terre A10 en mode joystick en coinçant les extrémités mâles de deux cavaliers l'une dans l'autre, formant ainsi un cavalier femelle-femelle.

Conseillé: