Nous apprenons à Arduino à imprimer des télégrammes


Un petit projet sur Arduino qui imprime les notifications qui arrivent sur votre téléphone: messages d'une variété de messageries instantanées, nouvelles de Twitter et tout le reste. Un tel «appareil télégraphique» a été conçu comme un jouet intéressant sans utilisation sérieuse, mais il s'est avéré que recevoir des messages sous forme de télégrammes papier est extrêmement agréable. Sous la coupe - une description du fonctionnement de l'appareil et un tutoriel détaillé.

En bref sur la façon dont tout cela fonctionne


En fait, l'ensemble du processus d'impression se résume à trois opérations simples: mouvement le long de l'axe X (traction du ruban), mouvement le long de l'axe Y (mouvement du stylo) et le processus de laisser une marque sur le papier.

Regardez la video


Le mouvement le long de l'axe Y est effectué en utilisant le mécanisme lambda de P. L. Chebyshev , qui convertit le mouvement de rotation en approximativement rectiligne.

La bande est tirée à l'aide d'un casque en silicone du casque, mis en rotation par un moteur pas à pas. Idéalement, le ruban doit être tiré à travers deux rouleaux pressés l'un contre l'autre, mais une telle solution compliquerait considérablement la conception, de sorte que le choix s'est porté sur la plus simple des options de travail.

Dans des projets similaires (traceurs maison, imprimantes, etc ...), le processus de dessin est effectué par un mouvement de translation (ou proche de la traduction) du stylo de haut en bas. Un tel système est trop encombrant pour tenir sur le mécanisme lambda, j'ai donc opté pour une voie légèrement différente. Un solénoïde est installé dans le boîtier, auquel une petite plate-forme est fixée, soulevant le ruban de papier. Une telle solution est peu utile dans d'autres projets, mais elle s'intègre parfaitement ici. Tous les éléments sont situés dans un boîtier en contreplaqué de 64 × 64 mm.

L'appareil imprime littéralement tout ce qui lui arrive sur le port série. Une police de 128 caractères est cousue dans l'esquisse:


Pour ce faire, un programme Java a été écrit qui convertit une image en une description d'un tableau d'octets en C, si vous le souhaitez, la police peut être modifiée par vous-même.

J'ai également développé une petite application Android , dont la tâche est d'attraper toutes les notifications push affichées sur le téléphone, puis de les envoyer en arrière-plan à Arduino via Bluetooth.

Écran d'application


De quoi avons-nous besoin


  • Arduino Mini. Il s'agit d'une modification miniature de l'Arduino Uno avec une taille très compacte. Il n'est pas nécessaire de l'utiliser. Si vous ne voulez pas pousser tous les composants électroniques de contrôle dans le boîtier de l'appareil, alors n'importe quelle autre carte, par exemple Arduino Uno ou Leonardo, fera l'affaire. Vous pouvez également regarder en direction de l'Iskra Mini - un analogue complet de l'Arduino Mini.
  • Servo SG-90. Les servos les plus petits et les moins chers des existants.
  • Moteur pas à pas 28BYJ-48. Un moteur pas à pas très bon marché avec une précision de positionnement élevée - 4096 pas par tour. Habituellement vendu déjà avec le pilote ULN2003.
  • Solénoïde 5V. Ces appareils ne sont pas si souvent utilisés dans les produits faits maison, comme par exemple les servos. Leur essence est la suivante: ce sont de petits électro-aimants qui, quand du courant leur est appliqué, poussent le stock qui s'y trouve. Ils peuvent effectuer des mouvements de translation très rapides qui peuvent être contrôlés.
  • Module Bluetooth HC-06. Nécessaire pour communiquer avec le monde extérieur. Vous pouvez également envisager de vous connecter au wifi via esp8266 au lieu d'utiliser un module Bluetooth
  • Coussinets d'oreille en caoutchouc (inserts) pour écouteurs. Il est nécessaire pour la fabrication d'un mécanisme d'étirage du papier. Plus le coussin d'oreille est grand, mieux c'est.
  • Axe 3 mm. Le choix des matériaux est large: vous pouvez utiliser des brochettes en bois d'un diamètre de 3 mm ou des vis à chapeaux sciés.
  • Colle. Pour une plus grande précision, il est préférable d'utiliser 3 types de colle: PVA pour coller les pièces en bois, colle thermique et super-colle pour fixer les éléments restants.
  • Papier de verre. Même avec une fabrication très précise des pièces, elles nécessiteront un réglage, donc sans meulage, elles n'iront nulle part.
  • Contreplaqué 4 mm. Vous pouvez le trouver dans une quincaillerie ou un magasin de loisirs. Peut-être que d'autres options conviennent, par exemple le plexiglas.
  • Dessins. Vous pouvez les prendre ici .
    Et au format DXF - ici
  • Beaucoup de petites choses ...
    • Stylo capillaire ou feutre. Les stylos à bille et à gel, ainsi que les crayons, sont bien pires, car la trace qu'ils laissent sur le papier est beaucoup moins distincte.
    • Petites vis. Avec un diamètre ne dépassant pas 2 mm. Ils sont souvent utilisés dans toutes sortes de jouets chinois.
    • Tube rétractable. Nécessaire pour allonger l'arbre du moteur pas à pas. Le diamètre interne avant chauffage est de l'ordre de 6 mm.
    • Commutateur. Celui que vous aimez. Vous pouvez regarder en direction de petits boutons avec fixation.
    • Connecteur d'alimentation Cric baril de 2,1 mm.
    • Diode La dénomination et les caractéristiques ne joueront pas un grand rôle, vous pouvez abandonner certaines anciennes radios.
    • Commutateur ou relais à transistor . Plus d'informations à leur sujet seront écrites ci-dessous.


Fabrication de pièces


Cette étape dépend de votre envie et de vos capacités. Vous pouvez le couper sur la machine ou couper toutes les pièces manuellement. Au fait, il n'est pas du tout nécessaire de répéter exactement le projet. Par exemple, vous ne pouvez pas essayer de pousser toute l'électronique de commande dans l'appareil. Ou, après avoir compris le principe du travail, faire quelque chose de similaire littéralement «sur le genou», et tout fonctionnera de toute façon.



Pour ceux qui prévoient de tout faire manuellement
Pour faire tous les détails, vous aurez besoin: d'une scie sauteuse (scie sauteuse), d'une perceuse (perceuse), d'une imprimante, de papier de verre et, si nécessaire, de limes.

L'algorithme est le suivant. Imprimez les dessins, collez-les sur du contreplaqué. Percez ensuite tous les trous nécessaires dans les contours internes. Les contours des rainures doivent être découpés, reculant un peu d'espace (~ 0,2-0,5 mm) vers l'intérieur, de sorte que les pointes (après un petit traitement de la lime) entrent dans les tractions. Après cela, nous avons découpé les contours internes, déchiré / poncé le papier collé et broyé. Il n'y a rien de compliqué, l'essentiel est de travailler avec soin et de ne pas se précipiter.

Assembler l'affaire


Bien qu'il n'y ait rien de compliqué: il suffit de prendre les pièces et de les coller. Assurez-vous qu'il ne reste plus de colle sur les pièces.



Installez le support de bobine


Lors du collage de cet élément, je recommande d'utiliser une perceuse pour maintenir l'alignement. Tout d'abord, les parois latérales sont collées au corps, puis un couvercle est monté dessus. Faites attention à la perpendicularité - le mécanisme lambda dépend de la position du trou sur le couvercle de ce support.



Mettre le mécanisme lambda



Nous sommes donc arrivés à la première étape cruciale - l'assemblage du mécanisme lambda. Vous devez d'abord faire une épaule pour le servo. Chaque servo est livré avec plusieurs balançoires en plastique. Il est nécessaire d'en prendre un et de le couper comme indiqué sur la figure ci-dessous. Et puis collez-le dans l'épaule vierge.



Ensuite, nous fabriquons une épaule avec un «porte-stylo». Le trou pour l'instrument d'écriture est mieux vérifié à l'avance. Très probablement, il sera de l'ordre de 8 à 9 mm. Collez deux anneaux en haut et en bas. Pour les empêcher de sortir, vous pouvez insérer un stylo ou une perceuse d'un diamètre approprié dans le trou. Une fois la colle sèche, nous rectifions les surfaces intérieure et extérieure de l'anneau jusqu'à ce que sa surface devienne suffisamment uniforme. Sur le côté, nous forons un trou pour la vis de serrage.


Vous pouvez maintenant procéder à l'assemblage du mécanisme lambda. Vous devez d'abord coller le servo sur l'adhésif thermofusible de sorte que la distance entre son axe et le trou sur le support de bobine soit exactement de 20 mm. Ensuite, tournez le servo-entraînement dans le sens antihoraire jusqu'à ce qu'il s'arrête, après quoi nous assemblons toute la structure selon la photo:



Vous pouvez vérifier l'opérabilité de ce mécanisme si vous connectez le servo à Arduino et chargez l'esquisse à partir des échantillons: Servo → Sweep (Par défaut, le servo est connecté à la broche 9). Au cas où, je donne le code de croquis ci-dessous.

Balayage servo
#include <Servo.h> #define MIN_ANGLE 150 #define MAX_ANGLE 180 Servo servo; void setup() { servo.attach(9); } void loop() { for(int i=MIN_ANGLE; i<=MAX_ANGLE; ++i) { servo.write(i); delay(15); } for(int i=MAX_ANGLE; i>=MIN_ANGLE; --i) { servo.write(i); delay(15); } } 


À ce stade, vous pouvez sélectionner la plage d'angles de travail du servo en définissant les valeurs MIN_ANGLE et MAX_ANGLE (cette plage est d'environ 150 ° ... 180 °), cela sera nécessaire à l'avenir. Si le mécanisme ne fonctionne pas correctement, essayez de desserrer les vis ou de poser les rondelles.

Nous mettons la diapositive en papier


Maintenant, nous avons presque un travail de bijoux à faire: faire une diapositive le long de laquelle le ruban de papier se déplacera, ainsi qu'une plate-forme qui sera montée sur un solénoïde. Les rails longs doivent être collés à la base de sorte que leurs extrémités viennent en butée contre le rack pour la bobine, et la distance entre eux doit être de 13 mm.



Ensuite, un bâton court supérieur est collé à ces lattes. L'assemblage de cette unité est plus facile à réaliser sur de la super-colle. Essayez de ne pas laisser l'excès de colle, cela peut interférer avec l'étirement du papier.

La zone doit être poncée jusqu'à l'épaisseur minimale possible (≤ 1,5 mm), et un bord doit être en forme de coin afin que le papier y circule plus facilement. Vous pouvez immédiatement prendre et créer ce site à partir d'une règle en bois relativement mince ou d'une carte en plastique inutile. De plus, un support rond y est collé au centre. Ensuite, un solénoïde est collé à l'intérieur du boîtier de sorte que son arbre soit situé au centre du trou. Après cela, collez doucement le tampon sur la tige du solénoïde sur la super-colle. Cela devrait ressembler à ceci:




Au début du test, essayez simplement d'appliquer 5V au solénoïde. Si le site a augmenté - alors tout va bien. Si cela ne se produit pas, essayez d'inverser la polarité. Si cela ne vous aide pas, essayez de pousser la tige du solénoïde de votre propre main. S'il bouge ou bouge avec beaucoup d'efforts, cela signifie que de la colle supplémentaire est arrivée.

La connexion du solénoïde à la carte de commande ne s'effectue pas directement : pour cela, vous devez utiliser un relais électromagnétique ou un interrupteur à transistor. Vous pouvez rechercher des solutions toutes faites, par exemple, ici . Il sera également utile de lire cet article . J'ai utilisé le relais soviétique RES49. Voici un schéma de la connexion du solénoïde à travers un transistor TIP120.


L'utilisation d'une diode dans le circuit est obligatoire. Il remplit une fonction de verrouillage ici, sans lui, la carte Arduino redémarrera constamment. Les caractéristiques de la diode ne jouent pas un grand rôle, elle peut être retrouvée et retirée de n'importe quelle ancienne carte.

Mécanisme de traction


Pour que le mécanisme de brochage fonctionne, il est nécessaire d'assurer un frottement minimal du ruban de papier sur la surface du boîtier. Vous pouvez réduire les frottements si vous frottez abondamment la piste avec de la paraffine ou, au pire, collez une bande de ruban transparent dessus.


Nous procédons à la procédure de fabrication. Nous coupons la tige de la longueur requise (28 mm), après quoi nous décrivons l'endroit où le coussin d'oreille du casque sera situé, enroulons plusieurs tours de ruban électrique sur la tige - afin que notre «rouleau» y soit bien ajusté.

Ensuite, après avoir mordu les «oreilles» du moteur pas à pas pour le montage sur le fil, nous l'avons mis dans une niche. Ensuite, à l'aide d'un tube thermorétractable, nous fixons l'axe à l'arbre du moteur. Si tout a fonctionné, nous fixons le moteur avec un adhésif thermofusible. Essayez de rendre l'arbre perpendiculaire à la piste et parallèle au plan horizontal. Le coussin d'oreille et l'arbre du moteur sont mieux collés immédiatement à l'axe avec une super-colle.



Pour vérifier, nous connectons le moteur pas à pas via le pilote à la carte de commande et nous chargeons l'esquisse à partir des échantillons: Stepper → stepper_oneStepAtATime. Il suffit de changer la valeur de la variable stepsPerRevolution de 200 à 4096 et de supprimer le retard (500).

Au cas où, je donne le code avec les corrections ci-dessous.

stepper_oneStepAtATime
 #include <Stepper.h> const int stepsPerRevolution = 4096; Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { } void loop() { myStepper.step(1); delay(5); } 


Après avoir chargé l'esquisse, le moteur pas à pas doit commencer une rotation douce et lente. Vous pouvez essayer de glisser un morceau de ruban adhésif sous le rouleau. Elle devrait également commencer un mouvement fluide et lent. Si cela ne se produit pas, il est possible que la rugosité de surface soit élevée, ce qui est corrigé avec du papier de verre à grain fin.

Axe pour bobine


C'est peut-être l'étape la plus facile parmi d'autres. Nous prenons un axe d'environ 25 mm de long, une partie restante non utilisée et les collons ensemble. Vous devrez peut-être mettre une rondelle entre le support pour la bobine et la partie pour laquelle je n'ai pas trouvé de nom.



Maintenant, quelques mots sur la bande de papier. Sa largeur optimale est de 11 mm. Vous pouvez proposer plusieurs technologies pour sa fabrication. Par exemple, prenez un rouleau de ruban adhésif (rouleau de papier calque, papier millimétré, etc ...) et coupez-le. J'ai aimé l'option de couper la feuille A4 en bandes, qui sont ensuite soigneusement collées dans le ruban de la longueur souhaitée.

Tout mettre ensemble


Si tous les mécanismes fonctionnent déjà, il est maintenant temps de commencer l'étape la plus difficile - de les faire fonctionner ensemble. Vous devez d'abord assembler / souder le circuit ci-dessous.


J'ai placé toute l'électronique dans le boîtier de l'appareil comme suit (un jour j'apprendrai à souder normalement, mais pas cette fois):


Nous installons également un interrupteur et un connecteur d'alimentation. Comme interrupteur, j'ai utilisé le MT-1 soviétique. Je recommande de prendre quelque chose de plus petit, car l'utilisation d'un interrupteur à bascule si grand dans un si petit boîtier est un luxe inadmissible, il est préférable de prendre cet endroit avec quelque chose de plus utile.

Quelques photos de l'appareil fini



Nous procédons au débogage du programme. Pour ce faire, prenez le croquis ICI et chargez-le dans le tableau.

J'ai essayé de le commenter autant que possible, alors j'espère que ce sera aussi clair que possible. Lorsque le programme démarre, l'appareil imprime le mot «BONJOUR», puis imprime littéralement tout ce qui vient au module Bluetooth. Votre tâche au stade du débogage consiste à sélectionner les valeurs DOT_UP_DELAY, DOT_DOWN_DELAY, SERVO_MAX, SERVO_STEPS, SERVO_DELAY et LINE_TAB dans l'esquisse afin que l'inscription "HELLO" au démarrage du programme soit la plus belle possible.

Une fois la qualité d'impression souhaitée atteinte, vous pouvez essayer d'envoyer un message via Bluetooth. Pour ce faire, vous pouvez télécharger n'importe quelle application sur votre téléphone avec l'expression «terminal Bluetooth» dans son nom, vous connecter à l'appareil (très probablement, il sera affiché sous le nom hc-06) et commencer à lui envoyer des messages. Gardez à l'esprit que la taille de la mémoire tampon du port série sur l'Arduino est de 64 octets. Cela signifie que si vous envoyez un message trop long, il n'imprimera pas exactement ce que vous voulez.

J'ai également écrit une petite application Android qui capture les notifications push affichées sur votre téléphone et les envoie à l'impression. Il peut également être utilisé comme un simple terminal Bluetooth. Les versions Android de 4.3.0 sont prises en charge. Vous devez vous rappeler d'autoriser l'accès de l'application aux notifications système, sinon rien ne fonctionnera.

Comment autoriser l'application à accéder aux notifications


Il s'agit d'une version bêta de l'application, si nécessaire je vais la modifier et étendre les fonctionnalités.

Partie décorative


Cette étape n'est pas obligatoire du tout et, dans certains cas, elle est plus susceptible de nuire. Tout est à votre goût ici. Dans mon cas, par exemple, j'ai vieilli toutes les pièces en bois avec une patine et recouvert d'une fine couche de vernis, et j'ai également fait de petits panneaux "Mini Telegraph", "ON / OFF" et une plaque de signature.

Pour résumer


C’est tout. J'espère que vous avez apprécié ce petit projet. Peut-être que certaines idées ou solutions vous ont semblé intéressantes. Avec un haut degré de probabilité, je modifierai
ce projet. Je serai heureux de toute question, conseil et suggestion dans les commentaires. Si vous parvenez à faire quelque chose de similaire, il sera très intéressant pour moi de le regarder, si vous avez des questions, vous pouvez écrire ici .

Liste des articles pouvant être utiles.


Liste
Une compréhension approfondie de ce avec quoi vous travaillez aidera à éviter de nombreuses erreurs désagréables.
(Certains articles sont en anglais, mais avec de belles images en couleur)

Source: https://habr.com/ru/post/fr407057/


All Articles