Horloge électronique maison, base élément - partie 2
Bonjour geektimes! Dans la première partie de l' article, les principes d'obtention de l'heure exacte sur les montres maison ont été examinés. Allons de l'avant et considérons comment et à quel moment il est préférable de dériver.1. Périphériques de sortie
Nous avons donc une certaine plate-forme (Arduino, Raspberry, contrôleur PIC / AVR / STM, etc.), et la tâche consiste à y connecter des indications. Il existe de nombreuses options que nous envisagerons.Indication de segment
Ici, tout est simple. L'indicateur de segment se compose de LED ordinaires qui sont connectées de manière triviale au microcontrôleur via les résistances de trempe.
Attention, trafic!Avantages: simplicité de conception, bons angles de vision, prix bas.Moins: la quantité d'informations affichées est limitée.Il existe deux types de modèles d'indicateurs, avec une cathode commune et une anode commune, à l'intérieur, elle ressemble à ceci (schéma du site Web du fabricant).
Il y a un article 1001 sur la façon de connecter une LED à un microcontrôleur, Google pour vous aider. Les difficultés commencent lorsque nous voulons fabriquer une grosse montre - après tout, regarder un petit indicateur n'est pas particulièrement pratique. Ensuite, nous avons besoin de ces indicateurs (photo d'eBay):
ils sont alimentés en 12V, et ils ne fonctionneront tout simplement pas directement à partir du microcontrôleur. Ici la puce CD4511 vient à notre secours, juste à cet effet. Il convertit non seulement les données d'une ligne à 4 bits aux chiffres souhaités, mais contient également un commutateur à transistor intégré pour fournir une tension à l'indicateur. Ainsi, dans le circuit, nous aurons besoin d'une tension de «puissance» de 9 à 12 V et d'un convertisseur abaisseur séparé (par exemple, L7805) pour alimenter la «logique» du circuit.Indicateurs matriciels
En fait, ce sont les mêmes LED, uniquement sous la forme d'une matrice 8x8. Photos d'eBay:
vendues sur eBay sous forme de modules simples ou de blocs finis, par exemple, 4 pièces. Leur gestion est très simple - la puce MAX7219 est déjà soudée aux modules , assurant leur fonctionnement et leur connexion au microcontrôleur avec seulement 5 fils. Il existe de nombreuses bibliothèques pour Arduino, ceux qui le souhaitent peuvent voir le code.Avantages: prix bas, bons angles de vision et luminosité.Moins: basse résolution. Mais pour la tâche de sortie, le temps suffit.Indicateurs LCD
Les indicateurs LCD sont graphiques et textuels.
Les graphiques sont plus chers, mais ils vous permettent d'afficher des informations plus diverses (par exemple, un graphique de la pression atmosphérique). Les textes sont moins chers et plus faciles à travailler, ils vous permettent également d'afficher des pseudographies - il est possible de charger des caractères personnalisés dans l'affichage.Il n'est pas difficile de travailler avec l'indicateur LCD du code, mais il y a un certain inconvénient - l'indicateur nécessite beaucoup de lignes de contrôle (de 7 à 12) du microcontrôleur, ce qui n'est pas pratique. Par conséquent, les Chinois ont proposé une combinaison d'un indicateur LCD et d'un contrôleur i2c, qui s'est finalement avéré très pratique - seulement 4 fils suffisent pour se connecter (photo d'eBay).
Les indicateurs LCD sont assez bon marché (si vous le prenez sur eBee), grands, ils sont faciles à connecter et vous pouvez afficher une variété d'informations. Le seul point négatif n'est pas les angles de vision très larges.Indicateurs OLED
Ils constituent une continuation améliorée de la version précédente. Varie de petit et bon marché avec une diagonale de 1,1 "à grand et cher. Photos d'eBay.
En fait, ils sont bons pour tout le monde sauf le prix. Quant aux petits indicateurs, de 0,9 à 1,1", puis (en plus d'étudier comment travailler avec i2c) une application pratique c'est difficile pour eux de trouver.Indicateurs de décharge de gaz (IN-14, IN-18)
Ces indicateurs sont maintenant très populaires, apparemment en raison du "son chaud de la lumière du tube " et de la conception originale.
(photo de nocrotec.com)Le schéma de leur connexion est un peu plus compliqué, car Ces indicateurs utilisent une tension de 170V pour l'allumage. Un convertisseur de 12V => 180V peut être réalisé sur la puce MAX771 . Pour fournir la tension aux indicateurs, le microcircuit soviétique K155ID1 est utilisé, qui a été créé spécialement pour cela. Le prix d'émission pour l'autoproduction: environ 500 roubles pour chaque indicateur et 100 roubles pour K155ID1, tous les autres détails, comme ils l'écrivaient dans de vieux magazines, ne sont "pas rares". La principale difficulté ici est que les deux IN-xx et K155ID1 ont longtemps été abandonnés, et vous ne pouvez les acheter que sur les marchés de la radio ou dans quelques magasins spécialisés.2. Sélection de la plateforme
Nous avons compris plus ou moins avec l'indication, il reste à décider quelle plateforme matérielle est la meilleure à utiliser. Il y a plusieurs options ici (je ne considère pas celles faites maison, car je n'ai pas besoin de cet article pour ceux qui peuvent fabriquer une carte et souder un processeur).Arduino
L'option la plus simple pour les débutants. La carte finie est peu coûteuse (environ 10 $ sur eBay avec la livraison gratuite), elle possède tous les connecteurs nécessaires pour la programmation. Photo d'eBay:
sous Arduino, il existe un grand nombre de bibliothèques différentes (par exemple, pour les mêmes écrans LCD, modules en temps réel), Arduino est compatible avec le matériel avec divers modules supplémentaires.Le principal inconvénient: la complexité du débogage (uniquement via la console du port série) et un processeur plutôt faible par rapport aux normes modernes (2 Ko de RAM et 16 MHz).Le principal avantage: vous pouvez faire beaucoup de choses, pratiquement sans vous soucier de la soudure, acheter un programmateur et des cartes de câblage, il suffit de connecter les modules les uns aux autres.Processeurs STM 32 bits
Pour ceux qui veulent quelque chose de plus puissant, il existe des cartes prêtes à l'emploi avec des processeurs STM, par exemple, une carte avec STM32F103RBT6 et un écran TFT. Photo d'eBay:
Ici, nous avons déjà un débogage complet dans un IDE à part entière (j'aimais surtout Coocox IDE), cependant, vous aurez besoin d'un programmeur-débogueur ST-LINK séparé avec un connecteur JTAG (le prix est de 20 à 40 $ sur eBay). Alternativement, vous pouvez acheter la carte de débogage STM32F4Discovery, sur laquelle ce programmateur est déjà intégré, et elle peut être utilisée séparément.Tarte aux framboises
Et enfin, pour ceux qui veulent une intégration complète avec le monde moderne, il existe des ordinateurs à carte unique avec Linux, tout le monde connaît probablement déjà le Raspberry PI. Photo d'eBay:
Il s'agit d'un ordinateur à part entière avec Linux, d'un gigaoctet de RAM et d'un processeur à 4 cœurs à bord. Un panneau de 40 broches est affiché sur le bord de la carte, vous permettant de connecter différents périphériques (les broches sont accessibles à partir du code, par exemple en Python, sans parler de C / C ++), il existe également un USB standard sous forme de 4 connecteurs (vous pouvez connecter le WiFi). Il existe également une norme HDMI.La carte aura par exemple suffisamment de puissance non seulement pour afficher l'heure, mais aussi pour contenir un serveur HTTP pour définir les paramètres via l'interface Web, charger les prévisions météorologiques via Internet, etc. En général, la portée d'un vol fantastique est grande.Il n'y a qu'une seule difficulté avec Raspberry (et les processeurs STM32) - ses broches utilisent une logique 3 volts, et la plupart des périphériques externes (tels que les écrans LCD) fonctionnent "à l'ancienne" à partir de 5V. Bien sûr, vous pouvez le connecter comme ça, en principe, cela fonctionnera, mais ce n'est pas la bonne méthode, et c'est un peu dommage de gâcher les frais de 50 $. La bonne façon est d'utiliser le «convertisseur de niveau logique», qui ne coûte que 1 à 2 $ sur eBay.Photo d'eBay:
il suffit maintenant de connecter notre appareil via un tel module, et tous les paramètres seront convenus.ESP8266
La méthode est plutôt exotique, mais plutôt prometteuse en raison de la compacité et du faible coût de la solution. Pour très peu d'argent (environ 4-5 $ sur eBay), vous pouvez acheter un module ESP8266 contenant un processeur et le WiFi à bord.Photo d'eBay:
Au départ, ces modules étaient destinés à servir de pont Wi-Fi pour l'échange de ports série, mais les passionnés ont écrit de nombreux microprogrammes alternatifs pour travailler avec des capteurs, des appareils i2c, du PWM, etc. l'afficher via i2c sur l'écran. Pour ceux qui veulent connecter beaucoup de périphériques différents, il existe des cartes NodeMCU spéciales avec un grand nombre de conclusions, le prix de la question est d'environ 500 roubles (bien sûr sur eBay):
Le seul point négatif est que l'ESP8266 a très peu de mémoire RAM (selon le firmware, de 1 à 32 Ko), mais la tâche le rend encore plus intéressant. Les modules ESP8266 utilisent une logique 3 volts, donc le convertisseur de niveau ci-dessus est également utile ici.Sur cette excursion d'introduction à l'électronique artisanale peut être complétée, l'auteur souhaite toutes les expériences réussies.Au lieu d'une conclusion
J'ai fini par utiliser Raspberry PI avec un indicateur de texte configuré pour fonctionner avec des pseudographies (qui sortaient moins cher que l'écran graphique de la même diagonale). Capturez l'écran de l'horloge de bureau lors de la rédaction de cet article.
L'horloge affiche l'heure exacte prise sur Internet et la météo, qui est mise à jour à partir de Yandex, tout cela est écrit en Python, et cela fonctionne depuis quelques mois. Dans le même temps, le serveur FTP est lancé sur l'horloge, ce qui permet (avec la redirection de port sur le routeur) de mettre à jour le firmware sur eux non seulement depuis la maison, mais aussi depuis n'importe quel endroit où il y a un accès Internet. En prime, les ressources de Raspberry seront, en principe, suffisantes pour connecter une caméra et / ou un microphone avec la possibilité de surveiller à distance un appartement, ou de contrôler divers modules / relais / capteurs. Vous pouvez ajouter toutes sortes de "petits pains", tels que des indicateurs LED pour le courrier entrant, etc.PS: Pourquoi eBay?Comme vous pouvez le voir, les prix ou les photos d'ebay ont été donnés pour tous les appareils. Pourquoi donc? Malheureusement, nos magasins vivent souvent selon le principe "acheté pour 1 $, vendu pour 3 $, et je vis par ces 2%". À titre d'exemple simple, l'Arduino Uno R3 coûte (au moment de la rédaction) 3600 roubles à Saint-Pétersbourg et 350 roubles sur eBay avec livraison gratuite depuis la Chine. La différence est vraiment un ordre de grandeur, sans aucune exagération littéraire. Oui, vous devez attendre un mois pour récupérer le colis par la poste, mais je pense que cela vaut la différence de prix. Mais au fait, si quelqu'un en a besoin en ce moment et de toute urgence, il doit y avoir un choix dans les magasins locaux, puis chacun décide pour lui-même. Source: https://habr.com/ru/post/fr383629/
All Articles