Jeffrey Cross
Jeffrey Cross

Notes de construction: La boîte de comptage

Plus de quelques fois, j’ai jeté un coup d’œil la nuit pour trouver mon fils au lit avec une calculatrice dans une main et une lampe de poche dans l’autre, je dormais profondément après avoir poussé «1 + = =» et regardé les chiffres grimper jusqu’à ce qu’il gardez pas ses yeux ouverts. Alors, pour son quatrième anniversaire, j'ai décidé de lui construire une machine dédiée qui ne ferait que compter et compter à rebours.

Mon idée initiale était simple: un grand écran LED à sept chiffres à plusieurs chiffres, deux gros boutons d'arcade pour ajouter et soustraire et un commutateur rotatif à 10 positions au milieu. Tournez le commutateur rotatif pour choisir une valeur de 1 à 10, puis appuyez sur un bouton pour augmenter le nombre affiché sur les voyants. Appuyez sur l’autre bouton et il tomberait par le même.

Le circuit

Le circuit est arrivé en premier dans ce projet, car la taille du boîtier dépendrait de la taille du paquet électronique fini.

Au cœur de tout cela se trouve un ATmega328, l’un des processeurs Arduino les plus courants. Deux horloges à DEL à quatre chiffres affichent le numéro, pilotées par une puce de pilote d’afficheur à DEL Maxim MAX7219 capable de gérer 64 DEL, ou 8 chiffres à sept segments, en utilisant seulement 3 broches de sortie sur l’ATmega.

Après avoir construit le circuit sur une planche à pain et écrit un programme de test de base, j’ai eu ma première introduction à la commutation du rebond, du bruit électronique ou du broutage au niveau de la milliseconde lorsque les contacts d’un commutateur s’ouvraient ou se fermaient. Ce qui semble être une simple pression sur un bouton peut être lu par un microprocesseur comme des dizaines, des centaines ou plus. Heureusement, les boutons d'arcade que j'ai commandés se trouvaient être des interrupteurs à double course. Celles-ci permettent une solution matérielle relativement simple utilisant deux portes logiques NAND pour chaque commutateur. Un circuit intégré 74HC00 fournissait les 4 portes requises dans une puce.

Le commutateur rotatif était codé en binaire. Il suffisait donc de connecter ses 4 broches - une pour chacun des bits dont le nombre doit compter jusqu’à 10 - aux broches d’entrée de l’ATmega, en les lisant et en les combinant, puis en les convertissant en décimales.

Maintenant que le circuit pouvait compter, j'avais besoin d'un moyen de stocker la valeur actuelle de l'affichage. Vous ne voulez pas que votre Counting Box atteigne un nombre incroyablement élevé, mais vous la perdez lorsque vous éteignez l’appareil. Cela devrait être un travail facile pour la mémoire EEPROM interne d’ATmega, mais lorsque j’ai examiné les spécifications, il n’a été évalué que pour 100 000 cycles d’écriture. Avec un écran pouvant aller jusqu'à 99 999 999, cela semblait insuffisant. Au lieu de cela, j’ai trouvé la puce de mémoire EEPROM 24LC256 avec 1 000 000 cycles d’écriture - pas aussi élevée que la Counting Box pouvait l’atteindre, mais beaucoup plus proche. En réalité, la mémoire embarquée de l’ATmega serait probablement suffisante.

J'ai fait le prototypage et la programmation avec un Arduino Duemilanove, mais pour la construction finale, j'ai utilisé la même puce ATmega pour construire un circuit autonome sur un circuit imprimé. Je préfère un microcontrôleur autonome dans mes projets car il utilise moins d'espace que de construire une carte Arduino entière, coûte moins cher et laisse mon Arduino libre pour le projet suivant.

L’écran à LED se trouve sur sa propre carte, connectée par un câble ruban à la carte du processeur principal. Le nombre de 99 999 999 autorisé par les 8 chiffres est certainement excessif, mais l'utilisation des écrans à LED à 4 chiffres permet d'économiser beaucoup de câblage et de soudure par rapport à l'utilisation de chiffres individuels.

Pour l’alimentation, j’avais prévu d’utiliser des piles AA rechargeables.

Les logiciels

Le logiciel a 3 fonctions principales: le bouton de manipulation appuie pour augmenter et diminuer le nombre de la quantité sélectionnée, l’affichage du nombre et sa mémorisation dans la mémoire.

Des pressions de boutons apparaissent comme des interruptions, qui font à peu près ce que cela ressemble - interrompre toute autre action ayant lieu dans le programme. L’autre solution consiste à interroger en permanence le bouton pour voir s’il est appuyé, mais c’est inefficace par rapport au fait de demander au bouton de vous avertir quand il est appuyé. Lorsque vous appuyez sur un bouton, le programme lit la valeur du commutateur rotatif, ajoute ou soustrait ce montant à la variable, puis le divise en chiffres individuels à envoyer au MAX7219 pour affichage. Dans chaque boucle, le programme compare la valeur actuelle de la variable à la valeur de la variable de la boucle précédente. Si elles sont différentes, il enregistre la nouvelle valeur dans la puce de mémoire EEPROM.

Vous pouvez mettre à zéro la boîte de comptage en réglant le sélecteur de nombre sur 8 et en maintenant le bouton de diminution enfoncé lorsque vous l'allumez. De même, régler le sélecteur de numéro sur 3 et maintenir le bouton d'incrémentation lors de la mise sous tension affichera des statistiques telles que les nombres les plus élevés et les plus bas atteints et le nombre total de touches enfoncées pendant la durée de vie de la boîte. Pour économiser de l'énergie, l'ATmega se met en veille et l'écran LED s'éteint si aucun bouton n'est enfoncé pendant une minute. Appuyer sur l'un ou l'autre des boutons réveillera le système.

Construire la boîte

Une fois le circuit et le logiciel terminés, je les ai mis de côté. Ils pourraient certainement supporter une optimisation supplémentaire, mais leur seule exigence était qu’ils travaillent. La boîte, cependant, serait vue tous les jours et devait paraître aussi belle que possible. Il devait être amical pour les jeunes mains et suffisamment résilient pour résister aux chutes occasionnelles. Le bois était le matériau idéal, mais je n’ai pas les compétences requises pour travailler le bois avec précision ni pour faire ce que je voulais. Découpe laser à la rescousse!

Pour tracer le motif des joints sur les coins, j'ai utilisé un utilitaire en ligne appelé BoxMaker (boxmaker.rahulbotics.com). Entrez la largeur extérieure, la profondeur et la hauteur de votre boîte finie, l'épaisseur du matériau et le trait de scie (la largeur du matériau retiré par la coupe). Un fichier PDF de toutes les pièces requises est alors généré.

J'ai importé ce fichier PDF dans Adobe Illustrator, apporté quelques modifications mineures à l'espacement de symétrie entre les côtés gauche et droit et placé les éléments tels que la découpe de fenêtre et les boutonnières.

Avant de télécharger pour couper, j’imprimais les plans et les montions par pulvérisation sur une plaque de mousse de 1/4 ″, puis découpais et assemblais les morceaux. La mousse est beaucoup moins chère que la découpe au laser, cette étape est donc un meilleur endroit pour rechercher les erreurs (comme une languette où un emplacement devrait être, ou une boîte pas assez profonde pour contenir un bouton).

Non seulement la maquette s’emboîtait-elle, mais tous les composants s’y adaptaient. Une fois cette dernière vérification effectuée, j'ai transféré le dessin sur Ponoko (ponoko.com) pour qu'il soit découpé au laser dans du contreplaqué de bambou.

Deux semaines plus tard, un colis est arrivé avec le bois coupé. Les pièces étaient belles, mais elles n’allaient pas ensemble. J'avais spécifié une largeur de trait trop large (largeur d'une coupe) et, pour compenser cela, le programme BoxMaker avait ajusté les largeurs des encoches afin de combler les lacunes inexistantes. Avec un fichier et du papier de verre, j’ai pu élargir suffisamment les encoches pour assembler la boîte.

J'ai collé les joints, poncé un rayon sur tous les coins, puis j'ai fini le bois avec un brillant polyuréthane pour protéger et donner au bambou une lueur chaude et ambrée.

La fenêtre en acrylique rouge recouvrant les LED a été découpée au laser en même temps que le bois. J'espérais un ajustement serré qui ne nécessiterait pas de colle. J'ai donc fabriqué 6 versions différentes de la fenêtre, chacune d'une taille supérieure de quelques centièmes de pouce à la dernière, et j'ai utilisé celle qui convenait le mieux.

Lorsque j'ai commencé à tout mettre en place, je me suis rendu compte que la façon dont les piles AA s’intégraient bien dans la mallette me mettait mal à l'aise. Ils étaient laids, et les sortir pour les charger serait un problème. Pour les remplacer, j'ai utilisé une batterie lithium-ion et un chargeur USB, tous deux d'Adafruit (adafruit.com). La batterie de 3,7 V alimente un circuit élévateur de tension pour fournir les 5 V nécessaires.

Comme beaucoup d'entre nous, mon fils aime regarder à l'intérieur des choses et voir comment elles fonctionnent. Le changement d’alimentation de dernière minute m’a permis de placer le circuit vers l’extérieur où se trouvaient les piles, de sorte que la porte à l’arrière lui serve de fenêtre pour lui permettre de jeter un coup d’œil sur l’électronique se trouvant à l’intérieur. Pour protéger les fils fragiles, j'ai recouvert le circuit avec un morceau d'acrylique transparent coupé à la taille et maintenu par des écarteurs.

La porte à l'arrière de la boîte est maintenue par quatre aimants en néodyme de 3 mm époxydés dans des trous percés dans le panneau de la porte et le cadre. Les aimants sont suffisamment puissants pour que la porte soit sécurisée en utilisation normale, mais ils donnent lorsqu'ils sont ouverts en utilisant les découpes en demi-lune de chaque côté.

Utiliser la boîte à compter

En plus du plaisir évident de voir à quel point les chiffres peuvent être élevés, il est facile de créer des jeux à jouer avec la Counting Box. Posez des questions telles que «Comment pouvez-vous atteindre 49 en un minimum de pressions de bouton? Pouvez-vous le faire avec le sélecteur réglé à la même valeur pendant tout le temps? »La boîte de comptage peut également être utilisée pour aider à introduire des concepts mathématiques tels que le comptage de sauts. Des idées plus avancées telles que la multiplication et la division apparaissent rapidement lorsqu'il est évident qu’elles ne sont rien d’autre que des additions ou des soustractions répétées.

Je ne suis pas sûr de savoir qui a appris plus, moi-même en le construisant ou mon fils en jouant avec, mais de toute façon la Counting Box est très amusante.

Plus à hahabird.com.

MAKE Volume 33 contient notre section spéciale sur les logiciels destinés aux fabricants, qui couvre les applications de conception de cartes de circuit imprimé, de conception et d’impression 3D, de microcontrôleurs et de programmation pour enfants. Découvrez également notre nouveau robot Rovera à moteur Arduino et lancez-vous avec Raspberry Pi. Comme d’habitude, vous trouverez également des décideurs fascinants, comme les maniaques sur notre couverture, les pirates informatiques responsables des populaires événements Power Racing Series chez Maker Faire.

Essayez 22 grands projets de bricolage, tels que la boîte à effets pour guitare Optical Tremolo, le gâteau "Panjolele", la souris Wii Nunchuk, les astuces de menuiserie CNC, le griffoir pour chat, le lissage au laser de livres de bois flexibles, la préparation de saké, de plus en plus de poivrons «piments fantômes» incroyablement chauds.

En kiosque maintenant, par abonnement ou disponible dans le Maker Shed

Acheter maintenant!

Part

Laisser Un Commentaire