Table des matières:

Prima - un robot qui joue du piano : 13 étapes
Prima - un robot qui joue du piano : 13 étapes

Vidéo: Prima - un robot qui joue du piano : 13 étapes

Vidéo: Prima - un robot qui joue du piano : 13 étapes
Vidéo: Costa Concordia : comment la croisière de rêve a-t-elle virée au cauchemar ? | Sous-titré 2024, Juillet
Anonim
Prima - un robot qui joue du piano
Prima - un robot qui joue du piano

L'idée d'un robot jouant d'un instrument m'a toujours fasciné et j'ai toujours voulu en construire un moi-même. Cependant, je n'ai jamais eu beaucoup de connaissances sur la musique et les instruments de musique, donc je n'ai jamais pu comprendre comment je commencerais avec ça. Jusqu'à récemment, je me suis intéressé à faire de la musique, j'ai commencé à apprendre des trucs de production musicale, et après avoir obtenu un clavier MIDI, j'ai réalisé que ce n'était pas un instrument difficile à jouer et que je peux réellement construire un robot qui peut en jouer. C'est ainsi que la création de Prima a commencé.

Je n'étais pas sûr du succès de ce projet, alors je n'ai pas pris la peine de le documenter. Mais comme il s'est avéré que cela fonctionnait très bien, j'ai décidé de partager les détails avec la communauté Instructables. Ce ne sera pas un journal de construction étape par étape, mais plutôt une ligne directrice pour vous aider à démarrer. Je vais expliquer comment fonctionne chaque partie de ce robot, partager les images d'eux et le code de l'Arduino. J'espère que cela suffira si vous souhaitez reproduire ce projet.

Et, la conception a été inspirée par cette instructables, criez à JimRD !

Alors, commençons

Étape 1: Aperçu de l'ensemble du projet

Prima est un robot qui peut jouer du clavier/piano ou de tout instrument similaire à base de touches. Il a un Arduino Uno comme cerveau, un écran LCD pour la sortie visuelle et un capteur à ultrasons pour un démarrage sans contact. Tout adaptateur secteur qui fournit 5 volts 2 ampères devrait pouvoir l'alimenter.

Il a les caractéristiques suivantes -

  • Programmable - Peut être programmé pour jouer n'importe quelle composition limitée à une octave.
  • Tempo réglable - Le tempo qu'il suivra en jouant de l'instrument peut être défini dans le code.
  • Démarrage sans contact - L'utilisateur peut déclencher le jeu en faisant simplement glisser sa main sur le capteur, ce qui sera très utile si l'utilisateur est occupé à jouer d'un autre instrument et souhaite que Prima joue avec lui après un certain temps. Joueur humain brouillant avec un joueur robot - même cela peut également être réalisé, à l'aide de cette fonctionnalité.

Étape 2: vidéo

Image
Image

Vous pouvez le regarder jouer au clavier dans la vidéo.

Étape 3: Création du modèle 3D

Faire le modèle 3D
Faire le modèle 3D
Faire le modèle 3D
Faire le modèle 3D

Après avoir finalisé ce qu'il devrait être capable de faire, j'ai conçu le corps sur TinkerCAD afin que je puisse commencer à le construire avec une idée claire de ce que je faisais.

Cette approche m'a beaucoup aidé à obtenir un robot d'apparence soignée qui fonctionne exactement comme il a été conçu. Bien que j'aie dû modifier un peu la conception d'origine lors de sa construction, le modèle 3D m'a quand même fait gagner beaucoup de temps et d'efforts. Vous pouvez voir le modèle 3D plus en détail ici.

Étape 4: Pièces et outils

Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils

Pour la partie électronique, il vous faudra -

  • Arduino Uno (Quantité - 1)
  • Écran LCD 16x2 (Quantité - 1)
  • Adaptateur I2C pour l'écran LCD (Quantité - 1)
  • Micro Servo TowerPro SG90 (Quantité - 2)
  • Capteur à ultrasons HC-SR04 (quantité - 1)
  • Interrupteur à bascule (quantité - 1)
  • Avertisseur sonore (Quantité - 1)
  • Conseil Vero/Dot Board/Perf Board
  • Fils de liaison mâle à mâle et mâle à femelle

Pour faire le corps -

  • Feuille de PVC de 5 mm
  • Rayon de cycle (Quantité - 2)
  • Des vis
  • Tube porte-recharge pour stylo
  • Peinture en aérosol (si vous voulez le peindre)

Les outils dont vous aurez besoin -

  • Super colle
  • Pistolet à colle chaude
  • Fer à souder
  • Anti-coupe (A. K. A coupe-papier)

Étape 5: Circuits

Circuits
Circuits
Circuits
Circuits
Circuits
Circuits

La partie circuit était assez facile. J'explique comment j'ai fait chaque segment -

Segment LCD - J'ai utilisé un adaptateur I2C pour l'écran LCD afin que l'Arduino puisse communiquer avec lui via I2C, ce qui n'était pas nécessaire mais simplifiait le circuit et diminuait le nombre de fils. Vous pouvez utiliser un écran LCD standard en modifiant un peu le code.

Segment d'alimentation - J'ai fait un circuit simple sur veroboard qui se compose d'un interrupteur à bascule, d'un buzzer, d'une LED (que j'ai décidé de ne pas utiliser par la suite) et d'un bus d'alimentation commun 5V. Bus d'alimentation comme dans, les broches 5V et de masse des servos, le capteur sonar, l'écran LCD et l'Arduino sont tous connectés les uns aux autres respectivement. Une broche du bouton-poussoir est connectée à la ligne 5V+, et l'autre broche est connectée à la broche VCC de l'alimentation. La ligne de masse est connectée directement à la broche de masse de l'alimentation. Ainsi, Prima peut être activé/désactivé à l'aide de l'interrupteur. Le buzzer et la LED sont connectés en parallèle, et leur broche VCC va à la broche 13 de l'Arduino. Leur masse est reliée à la masse du bus d'alimentation commun.

Modification du connecteur des servos - Étant donné que les cavaliers ont souvent tendance à se déconnecter du connecteur du servo, j'ai coupé le VCC et le fil de terre des deux servos et les ai soudés directement au bus d'alimentation. Pour les broches de signal, cependant, j'ai utilisé des cavaliers pour les connecter à Arduino.

Capteur sonar - Soudé deux fils respectivement au VCC et à la broche de masse du capteur sonar, qui vont au bus d'alimentation commun, et utilisé des cavaliers pour connecter le déclencheur et la broche d'écho à l'Arduino.

Arduino - Alimenté par le connecteur jack cylindrique.

Qui va à qui -

Broche de déclenchement du capteur sonar -> Broche A2 de l'Arduino

Broche d'écho du capteur sonar -> Broche A3 de l'Arduino

Broche SDA de l'adaptateur I2C -> Broche A4 de l'Arduino

Broche SCL de l'adaptateur I2C -> Broche A5 de l'Arduino

VCC du buzzer -> broche D13 de l'Arduino

Broche de signal du servo en appuyant sur la touche -> Broche D9 d'Arduino

Broche de signal du servo d'axe X -> Broche D8 d'Arduino

Toutes les broches VCC et de masse sont connectées au bus d'alimentation commun.

Étape 6: Montage du capteur de sonar

Support de capteur de sonar
Support de capteur de sonar

L'image est explicite, il suffit de super-coller une étagère en forme de L sur le "mur" et de coller à chaud le capteur sonar sur l'étagère.

Étape 7: fabrication du rail de l'axe X

Faire le rail de l'axe X
Faire le rail de l'axe X
Faire le rail de l'axe X
Faire le rail de l'axe X

J'ai emprunté le concept du rail de l'axe X aux machines CNC. Ce ne sont que deux rayons de vélo placés parallèlement l'un à l'autre, et les "murs" ont des trous à travers lesquels passent les rayons du vélo. Aux autres extrémités des parois, les rayons du cycle sont collés à chaud sur les parois afin qu'ils ne bougent pas. Les rayons du cycle sont suffisamment solides pour supporter la plate-forme de l'axe X.

Étape 8: Plate-forme de l'axe X

Plate-forme de l'axe X
Plate-forme de l'axe X
Plate-forme de l'axe X
Plate-forme de l'axe X
Plate-forme de l'axe X
Plate-forme de l'axe X
Plate-forme de l'axe X
Plate-forme de l'axe X

C'est la partie qui va latéralement pour atteindre certaines touches et qui a un servo auquel est attaché un bras qui appuie sur la touche.

Il est doté de deux tubes porte-recharges de stylo collés à chaud au fond de celui-ci à travers lesquels passent les rayons du cycle lui permettant de glisser dessus. J'ai obtenu ce tube d'un stylo, vous pouvez utiliser tout ce qui correspond aux rayons, comme de la paille.

Ensuite, au milieu de la feuille de PVC inférieure, il y a une autre feuille de PVC qui se tient droite. Il a un trou découpé dans la partie inférieure qui s'adapte au corps du servo et le servo est inséré à travers celui-ci. Le servo a été fixé à l'aide de colle chaude.

Le servo est relié à un bras. Lorsque le robot doit appuyer sur une touche, le servomoteur fait pivoter le bras vers le bas, ce qui entraîne une pression sur une touche et le fait ensuite pivoter dans sa position initiale.

Étape 9: Déplacement de la plate-forme de l'axe X

Déplacement de la plate-forme de l'axe X
Déplacement de la plate-forme de l'axe X
Déplacement de la plate-forme de l'axe X
Déplacement de la plate-forme de l'axe X
Déplacement de la plate-forme de l'axe X
Déplacement de la plate-forme de l'axe X

Le servo "X axis mover" est attaché à une plate-forme surélevée qui se trouve sur le côté gauche du robot. La plate-forme de l'axe X a une étagère sur le dessus où un bras est articulé à l'aide d'une vis. A l'autre extrémité du bras, un autre bras est articulé à l'aide de vis et celui-ci est relié au palonnier. Toutes les articulations sont mobiles et le servomoteur peut entraîner la plate-forme de l'axe X sur les rails de l'axe X en faisant pivoter son klaxon vers la gauche/droite, ce qui obligerait les bras à pousser/tirer la plate-forme sur les rails.

Les joints sont réalisés à l'aide de vis.

Étape 10: Coder

Après avoir fini de construire le corps et le circuit, téléchargez le code sur Arduino. Mettre le robot en parallèle avec le clavier/piano La plate-forme de l'axe x commencera d'abord à se déplacer vers la gauche et s'arrêtera à un certain point. Déplacez le robot jusqu'à ce que la touche C du piano rencontre ce point. C'est une étape cruciale, car sans positionner le robot de cette façon, il ne jouera pas correctement la mélodie. Allumez ensuite le robot, il devrait commencer à jouer une mélodie en quelques secondes.

Le code est assez basique et peut être amélioré. Si vous voulez que le robot joue votre propre mélodie, il vous suffit de la mettre dans le code, ce qui est assez simple.

Étape 11: Peignez-le

Si vous voulez le peindre comme le mien (je suggère fortement de le faire, il a l'air bien mieux peint), commencez par toutes les parties du corps, assurez-vous qu'elles sont correctement coupées. Ensuite, lavez-les avec du savon pour qu'ils soient exempts d'huile et de saleté. Les gens poncent généralement la surface avant de la peindre, mais ici, ce n'est pas nécessaire. Vaporisez d'abord une couche dessus, laissez-lui le temps de sécher (quelques heures), puis peignez une autre couche. Vous pouvez commencer à assembler les pièces et à les coller ensemble une fois la peinture sèche.

J'ai utilisé de la peinture en aérosol pour peindre le mien

Étape 12: Placement et organisation de l'électronique

Placer et organiser l'électronique
Placer et organiser l'électronique
Placer et organiser l'électronique
Placer et organiser l'électronique

J'ai vissé l'Arduino sur la feuille de PVC de base et collé à chaud le circuit d'alimentation et l'écran LCD sur la carte de base. Organisé les fils avec de la colle chaude.

Étape 13: Conclusion: Merci d'avoir lu les Instructables

C'est ainsi que j'ai construit Prima. J'espère que le journal de construction était clair et facile à comprendre. Si vous avez des questions, n'hésitez pas à les laisser dans la section commentaires, j'essaierai de vous répondre le plus tôt possible.

Plans futurs avec ce projet -

  • Faire un logiciel pour programmer Prima plus facilement.
  • Ajout d'une fonction de tapotement du tempo afin que vous puissiez simplement appuyer sur un bouton pour ajuster le tempo.
  • Échanger les servos avec des servos plus silencieux et plus rapides

Si vous construisez ceci, déposez des photos en commentaire, j'adorerais voir les vôtres !:)

Conseillé: