Circuit de protection chargeur 18650


Depuis que j'ai mis la batterie 18650 dans le mauvais sens à deux reprises, j'ai commencé à réfléchir à la façon d'éviter cela. J'ai trouvé un tutoriel sur le web, où un développement est présenté, avec des améliorations étape par étape. L'adresse est la suivante :


Vince's thoughts

Je n'ai retenu que le dernier circuit de protection :



Je me suis fait une image isométrique, car je n'ai aucune idée de l'emplacement des pins du transistor MOSFET.



Voici une photo du circuit, vous pouvez voir le type de fils que j'ai utilisé et comment j'ai soudé les composants sur la platine



Une autre photo du même circuit. J'ai effectivement connecté le 18650 à l'envers en premier. Il n'y a pas eu de fumée. J'étais assez soulagé. J'ai dû mobiliser tout mon courage avant de mettre l'accu 18650 dans le mauvais sens. J'ai maintenant un nouveau multimètre, qui dispose également d'une fonction de mesure du courant. Dans le bon sens, le courant de charge était d'environ 14,3 mA, dans le mauvais sens, il n'y avait pas de courant du tout. Cela fonctionne donc maintenant. J'ai soudé une autre copie de ce câblage ce soir, de sorte que si j'ai deux ceintures de compas, je puisse protéger les deux en plaçant la batterie dans le mauvais sens dans le boîtier !





Ceinture-boussole


De nombreux animaux migrateurs, tels que les oiseaux et les poissons, sont réputés connaître les points cardinaux lorsqu'ils migrent, parfois sur de très longues distances, de nuit comme de jour, et souvent dans des conditions météorologiques très défavorables.

Pour les humains, ce type de connaissance peut s'avérer utile, par exemple lorsqu'ils cueillent des baies dans un endroit inconnu ou simplement lorsqu'ils perdent le sens de l'orientation.

Une ceinture boussole est une ceinture qui vous aide à savoir où se trouve le nord sans avoir à regarder une boussole. Elle est équipée de petits moteurs à vibration et d'un capteur qui détecte le champ magnétique terrestre. Lorsque vous la portez, le moteur orienté vers le nord vibre légèrement, donnant à la personne qui la porte un sens « intuitif » de l'orientation.

Pourquoi est-ce cool ? Imaginez que vous êtes dans la forêt en train de cueillir des champignons au crépuscule et que vous perdez vos repères. Avec cette ceinture, vous sentirez toujours le « picotement » du pôle Nord, ce qui vous aidera à rester sur la bonne voie sans carte ni boussole.


Voici comment j'ai fabriqué la mienne :

J'ai commandé les composants électroniques en ligne pour environ 60 dollars.

J'ai ensuite cousu et soudé les moteurs à vibration sur une ceinture en tissu extensible.

J'ai ajouté une boucle en plastique et utilisé un tube en tissu pour la protéger.


En tant que passionné d'orientation et ayant des connaissances de base en électronique, j'ai trouvé ce projet à la fois amusant et utile. Que vous exploriez de nouveaux sentiers ou que vous aimiez simplement les gadgets sympas, la ceinture Compass Belt peut être un excellent compagnon !


Réglage de la direction

Bouton de réglage pour ajuster la direction de 0 à 360 degrés


Modes de vibration

Double-cliquez pour passer d'une vibration continue à une vibration intermittente. Cliquez une fois pour passer de 1, 2, 3 ou 4 secondes. Appuyez longuement pour tester rapidement le fonctionnement de tous les vibrateurs.


Capteur intelligent

Un magnétomètre à calibrage automatique qui détecte si vous marchez, faites du vélo ou restez immobile.


Alimentation par piles pour des heures de navigation.

Deux piles offrent environ 3 heures d'utilisation.


Documentation du circuit


Résumé


Ce circuit est conçu pour interfacer un Arduino Mega 2560 ou un Arduino Due avec divers composants, notamment un convertisseur de niveau logique bidirectionnel, un potentiomètre d'ajustement, plusieurs moteurs à vibration, un IMU Fusion Adafruit BNO085 9-DOF Orientation et d'autres composants. Le circuit est alimenté par des piles 18650 et comprend un interrupteur à bascule pour le contrôle de l'alimentation. L'Arduino Mega 2560 ou l'Arduino Due est programmé pour contrôler les moteurs à vibration en fonction des données fournies par l'IMU et d'autres capteurs, fournissant un retour haptique sur la direction nord.


Liste des composants


Arduino Mega 2560 ou Arduino Due

Une carte microcontrôleur basée sur le processeur Atmel SAM3X8E ARM Cortex-M3.

Comprend plusieurs broches d'E/S, des sorties PWM et des interfaces de communication.


Convertisseur de niveau logique bidirectionnel

Utilisé pour assurer une interface sûre entre différents niveaux de tension, tels que 3,3 V et 5 V.


Potentiomètre d'ajustement

Résistance variable de 10 kOhms, utilisée pour régler les niveaux de tension.


Résistances

Deux résistances d'une valeur de 4,7 kOhms et une de 10 kOhms, utilisées pour limiter le courant et comme résistances de rappel pour le bus I2C.


Moteurs à vibration

Plusieurs petits moteurs utilisés pour fournir un retour haptique.


Adafruit BNO085 9-DOF Orientation IMU Fusion

Module capteur qui fournit des données d'orientation à l'aide d'une combinaison d'accéléromètre, de gyroscope et de magnétomètre.


2 batteries 18650 dans leur support

Alimentent le circuit en énergie.


Interrupteur marche/arrêt

Permet de contrôler l'alimentation électrique du circuit.


Bouton-poussoir

Permet à l'utilisateur de contrôler le comportement du circuit.


MT3608

Convertisseur élévateur CC-CC utilisé pour augmenter la tension de la batterie.


Détails du câblage


Arduino Mega 2560 ou Arduino Due

A2 : connecté au curseur du potentiomètre d'ajustement.

A1 : connecté à la broche 1 de la résistance (10 kOhms) et à la broche 2 du bouton-poussoir.

D20/SDA3 : connecté à HV4 du convertisseur de niveau logique bidirectionnel.

D21/SCL3 : connecté à HV3 du convertisseur de niveau logique bidirectionnel.

5V : connecté à HV du convertisseur de niveau logique bidirectionnel.

GND : connecté à GND du convertisseur de niveau logique bidirectionnel, de la résistance (10 kOhms), du potentiomètre ajustable, de l'Adafruit BNO085, du module Boost MT3608 et des moteurs à vibration.

VIN : connecté à L1 de l'interrupteur à bascule.

D34 à D53 : connectés aux bornes positives de divers moteurs à vibration.


Convertisseur de niveau logique bidirectionnel

GND : connecté à la borne GND de l'Arduino Mega 2560 ou de l'Arduino Due et d'autres composants.

HV : connecté à la borne 5V de l'Arduino Mega 2560 ou de l'Arduino Due.

HV3 : connecté à la broche 1 de la résistance (4,7 kOhms) et à D21/SCL3 de l'Arduino Mega 2560 ou de l'Arduino Due.

HV4 : connecté à la broche 1 de la résistance (4,7 kOhms) et à D20/SDA3 de l'Arduino Mega 2560 ou de l'Arduino Due.

LV : connecté à la broche 2 de la résistance (4,7 kOhms) et à la patte 2 du potentiomètre d'ajustage.

LV3 : connecté à SCL de l'Adafruit BNO085.

LV4 : connecté à SDA de l'Adafruit BNO085.


Potentiomètre à trimmer

Curseur : connecté à A2 de l'Arduino Mega 2560 ou Arduino Due.

Patte 1 : connectée à GND du convertisseur de niveau logique bidirectionnel.

Patte 2 : connectée à LV du convertisseur de niveau logique bidirectionnel.


Résistances

10 kOhms : broche 1 connectée à A1 de l'Arduino Mega 2560 ou Arduino Due, broche 2 connectée à GND.

4,7 kOhms : broche 1 connectée à HV3 et HV4 du convertisseur de niveau logique bidirectionnel, broche 2 connectée à LV du convertisseur de niveau logique bidirectionnel.


Moteurs à vibration

Bornes positives : connectées à D34 à D53 de l'Arduino Mega 2560 ou de l'Arduino Due.

Bornes négatives : connectées à GND de l'Arduino Mega 2560 ou de l'Arduino Due.


Adafruit BNO085 9-DOF Orientation IMU Fusion

3,3 V : connecté à LV du convertisseur de niveau logique bidirectionnel.

GND : connecté à GND de l'Arduino Mega 2560 ou de l'Arduino Due.

SCL : connecté à LV3 du convertisseur de niveau logique bidirectionnel.

SDA : connecté à LV4 du convertisseur de niveau logique bidirectionnel.


2 batteries 18650 dans un support

connectées en série, le pôle + de la première est connecté au pôle + de la seconde

Pôle - de la première batterie 18650 : connecté au VIN- du MT3608.

Pôle + de la deuxième batterie : connecté au VIN+ du MT3608.


Commutateur à bascule

L1 : connecté au VIN de l'Arduino Mega 2560 ou de l'Arduino Due.

COM : connecté au VOUT+ du MT3608.


MT3608

VIN- : connecté au pôle - de la première batterie 18650.

VIN+ : connecté au pôle + de la deuxième batterie 18650.

VOUT- : connecté à GND de l'Arduino Mega 2560 ou Arduino Due.

VOUT+ : connecté à COM de l'interrupteur à bascule.


Bouton-poussoir

Broche 1 : connectée à LV du convertisseur de niveau logique bidirectionnel .

Broche 2 : connectée à A1 de l'Arduino Mega 2560 ou Arduino Due et connectée à la broche 1 de la résistance de 10 k Ohms.


Documentation du code

L'Arduino Mega 2560 ou l'Arduino Due est programmé à l'aide d'un croquis qui comprend plusieurs bibliothèques pour gérer la ceinture haptique, la boussole et les entrées des boutons. Le code initialise le capteur IMU et configure les moteurs de vibration pour le retour haptique. La boucle principale lit l'état des boutons et met à jour le cap de la boussole en fonction des données du capteur ou de l'entrée série. La ceinture haptique est mise à jour pour fournir un retour d'information basé sur le cap de la boussole.


Principales caractéristiques du code

Bibliothèques : comprend des bibliothèques personnalisées pour gérer la ceinture haptique et la boussole, ainsi que les bibliothèques standard OneButton.h pour les clics sur les boutons, Wire.h pour la communication I2C et Adafruit_BNO08x.h pour le capteur BNO08x.

Configuration des broches : définit les broches pour les boutons et les moteurs à vibration.

Initialisation du capteur : initialise le capteur BNO08x et configure les rapports souhaités.

Boucle principale : lit en continu l'état des boutons, met à jour le cap de la boussole et contrôle la ceinture haptique en fonction du cap.


Github Ceinture-boussole

J'ai entendu dire que des vêtements intelligents étaient en cours de développement. Un site web, http://www.plusea.at/, propose des suggestions surréalistes de vêtements intelligents. Dans la vraie vie, par exemple, il existe une chemise intelligente qui détecte si le dos d'une personne n'est pas droit et qui vibre pour lui rappeler de se redresser. Il existe également des chaussettes intelligentes qui mesurent la température des pieds d'un diabétique et vibrent pour l'avertir d'un risque d'infection. Cette ceinture-boussole est donc un vêtement intelligent qui m'indique par vibration la direction du pôle Nord. Elle fonctionne également la nuit ou si je ne vois rien. Grâce à cette construction électronique, je me suis familiarisé pour la première fois avec le bus I2C. Pour mieux le comprendre, j'ai mis deux Arduino ensemble, par exemple, de sorte qu'un Arduino envoie un texte à l'autre et que l'autre Arduino confirme la réception du texte. J'ai également essayé de mettre deux capteurs distincts (MPU6050 et QC5883L) sur le même bus I2C que l'Arduino, et j'ai réussi à le faire fonctionner. Dans les constructions Arduino précédentes, j'ai toujours utilisé des batteries 9V pour alimenter l'Arduino, mais pour ce projet, j'ai trouvé que le Markina avait une bien meilleure unité d'alimentation avec 2 piles Lithium - 18650 comme source d'alimentation.

J'ai suivi les instructions de Kyle Corry. Cela semble me convenir, car je participe à des compétitions de course d'orientation, même de nuit. Instructables, Kyle Corry

Je n'aurais pas été capable d'écrire un tel programme, bravo à Kyle Corry ! Github, Kyle Corry

Mon adaptation ici n'est pas encore terminée. Comme le MPU9250 semble ne plus être produit, j'utilise le BNO055 (après avoir utilisé le QM5883L et le MAG3110 et, comme il s'agissait de capteurs de mauvaise qualité, j'ai opté pour le meilleur modèle). J'utilise également un shifter de niveau logique, bien que la plupart des tutoriels pour BNO055 ne l'utilisent pas. Je pense que, même si je ne connecte que GND et 3,3V de l'Arduino au capteur, il peut toujours y avoir 5V de l'Arduino à travers les broches A4 (SDA) et A5 (SCL) vers le capteur. Il y a un algorithme de compensation de l'inclinaison dans compass.cpp avec Xm=mag_xcos(thetaRad)-mag_ysin(phiRad)sin(thetaRad)+mag_zcos(phiRad)sin(thetaRad) ; et Ym=mag_ycos(phiRad)+mag_z*sin(phiRad) ; suivant le tutoriel de Paul McWortherPaul Mc Worther

Dans mon programme, la compensation de l'inclinaison ne semble pas fonctionner. Pour ma propre visualisation et pendant les tests, j'ai ajouté le programme python cuboid_draw_ursina_B.py, qui lit le port COM6 et dessine un cube 3D comme un arduino symbolisé sur l'écran et écrit l'orientation actuelle du capteur sur le même écran. "N", "NE", "E", "SE", "S", "SW", "W", "NW" J'ai donc vérifié avec une boussole en même temps, et cela semble fonctionner correctement. J'ai supprimé les lignes de code du programme de Kyle, qui sont liées à la calibration, parce que le BNO055 (Adafruit) a sa propre routine de calibration.



Matériaux utilisés



Arduino Nano Uno (Sertronics Berrybase)

BNO055 (magnetometer) Sertronics Berrybase

coin vibration motors (Aliexpress)

Button switch

10K resistor

USB cable Belt Battery pack

Breadboard

Logic level converter

glue

Soldering kit


Bibliothèques requises


Adafruit_BNO055

utility/imumaths.h

Adafruit_Sensor

Kalman Filter



Instructions : En portant la ceinture, faites une marque tous les 45 degrés en commençant directement devant vous. C'est là que les moteurs seront placés. Le moteur situé directement derrière vous indique le sud et ceux situés à droite ou à gauche sont le sud-est et le sud-ouest. Je désignerai tous les moteurs par leur direction cardinale, en supposant que le nord est à l'avant de la courroie. Fixez les moteurs vibrants sur la courroie aux endroits indiqués. Les moteurs vibrants que j'ai utilisés étaient dotés d'un dos adhésif, ce qui a facilité la tâche. Assemblez le circuit illustré dans le schéma suivant. Placez le circuit connecté, composé de l'Arduino Nano, du magnétomètre, de l'interrupteur à bouton, du convertisseur de niveau logique et de l'alimentation électrique basée sur des cellules 18650 rechargeables, dans une boîte appropriée, et fixez la boîte sur la ceinture. Remarque : le schéma montre que les moteurs vibrants partagent un fil de terre commun - cela facilite la connexion à l'Arduino mais n'est pas nécessaire. Sur la photo, l'alimentation n'est pas là, parce qu'au moment où j'ai fait cette instruction, elle était cassée, parce que j'ai mis par inadvertance le 18650 avec la mauvaise polarisation dans la boîte. De la fumée s'est élevée et ça sentait mauvais.



Enveloppez le circuit dans du ruban adhésif. Pour de meilleurs résultats, prenez du ruban adhésif de même largeur que la ceinture et enroulez-la entièrement, en laissant juste un câble USB exposé pour l'Arduino. Téléchargez cette esquisse sur l'Arduino après avoir installé les bibliothèques nécessaires. Branchez la batterie sur le port USB de l'Arduino et rangez-la dans une poche ou fixez-la à la ceinture. Appuyez sur le bouton pour basculer entre le mode discret (petite impulsion vers le nord uniquement en cas de changement de direction) et le mode permanent (vibration permanente vers le nord).



Les moteurs vibrants sont très fragiles, les câbles sont très fins et la moindre traction détruit la connexion. Il est donc nécessaire de protéger les moteurs vibrants contre les dommages mécaniques. Pour ce faire, je colle le moteur vibrant sur une base en plastique, qui protège les connecteurs du moteur vibrant. La base en plastique est en forme de U. J'utilise un fer à souder pour faire de petits trous sur le côté des profilés en U, à travers lesquels je tresse les fils. Je fais un nœud à l'extrémité des fils pour que la tension ne soit pas transmise aux points de soudure. Je soude ensuite le moteur vibrant au câble d'alimentation et au câble de mise à la terre.



J'ai coupé les pointes d'un vieux gant et j'ai cousu ces pointes à intervalles réguliers sur l'élastique, créant ainsi des « nids » pour les moteurs vibrants. J'ai ensuite utilisé du ruban adhésif en téflon pour coller les moteurs à l'intérieur de la protection et les câbles fermement à la base en plastique. Le ruban adhésif en téflon me permet de démonter l'un des moteurs ultérieurement en cas de défaillance. (Un scotch normal est très collant et lorsqu'on déroule du scotch, il faut utiliser des ciseaux, et il est alors facile de couper involontairement les câbles) J'ai mis quelques tours supplémentaires de ruban chirurgical sur le Téflon. Le ruban chirurgical n'est pas aussi collant, mais il est tout de même solide.



Voici à quoi ressemble la carte de test avec le capteur MLX90393, l'Arduino Uno et un changeur de niveau de tension. On voit également l'extrémité de la ceinture en élastique, où j'ai cousu la boucle, et le « nid » du premier moteur vibrant. Vous pouvez également voir que j'ai protégé la courroie avec une chambre à air de vélo. Le câble noir est le câble de mise à la terre qui relie chaque moteur vibrant. L'appareil est alimenté par deux piles rechargeables 18650. J'ai beaucoup de ces cellules 18650 car les lampes pour la orientation nocturnes fonctionnent avec elles, j'ai aussi un chargeur décent pour elles à cause de cela. L'unité d'alimentation a un interrupteur à bascule « Normal » - « Hold » et sa position doit être « hold ». De l'autre côté se trouve un bouton-poussoir blanc, et lorsque vous appuyez dessus, les lumières LED du bloc d'alimentation s'allument. La plupart du temps, les LED ne s'allument pas, puis je branche brièvement le câble USB, et il devrait s'allumer. Le bord du module d'alimentation a des broches 3V d'un côté, et des broches 5V de l'autre. Dans cette configuration, je connecte les broches 5V au côté 5V de l'arduino. En fait, ce bloc d'alimentation fonctionne également comme chargeur, il suffit de brancher le câble USB. Notez que les cellules doivent être insérées dans le bon sens, sinon l'appareil se cassera avec un bruit sourd et de la fumée. C'est pourquoi j'ai scotché les cellules 18650 avec du ruban adhésif blanc sur le côté positif, et de même pour l'unité avec du ruban adhésif blanc. J'ai déjà détruit deux appareils de ce type. Je pense qu'il est préférable d'utiliser un changeur de niveau de tension, car le niveau de tension interne de la plupart des capteurs est de 3,3V plutôt que de 5V, et 5V peut briser les capteurs.



breadboard avec les composants de base : BNO055, logic level converter, interrupteur continu-intermittent et Arduion Nano. Ces composants sont clairement disposés de manière à faciliter la reproduction du circuit électronique.



Le boîtier électronique s'est ouvert en position horizontale, avec l'Arduino nano, le convertisseur de niveau logique, l'alimentation et le capteur IMU, qui est maintenant à l'horizontale. Je ne pense pas qu'il soit possible de modifier le code pour que le BNO055 puisse être en position verticale, il n'est pas fait pour cela, la calibration interne du BNO055 ne fonctionnera pas.



Le moteur vibrant est fixé à une ceinture en cuir de manière simple. Pour rendre la vibration plus perceptible, j'ai mis de l'ouate sous le moteur vibrant. Si les moteurs vibrants étaient collés directement sur la courroie en cuir, les vibrations ne seraient pas aussi bien ressenties.



Configuration complète d'une ceinture boussole haptique basée sur une ceinture en cuir, et le boîtier électronique directement fixé en position verticale à la ceinture en cuir. En position verticale, le boîtier oscille beaucoup et provoque de nombreuses distorsions, mais il est plus facile à mettre en place, car tout est d'une seule pièce. C'est simple, mais dans la pratique, cette version n'est pas très bonne.



La ceinture de la boussole haptique avec l'élastique textile sur les hanches, et ouverte. J'ai coupé la carte à pain, de sorte que le BNO055 puisse être en position horizontale. La vibration des moteurs peut être clairement ressentie sur la peau parce que l'élastique textile maintient les moteurs de vibration doucement sur la peau. Le fait que le boîtier contenant l'électronique soit horizontal signifie que l'électronique est moins susceptible d'être secouée lors d'une course rapide dans les buissons et qu'il y a moins d'erreurs de signal. Cela signifie qu'il y a moins de mouvements brusques de basculement du capteur, par exemple lorsque vous sautez d'un rocher ou que vous trébuchez et tombez. Il est également préférable que toute l'électronique soit séparée de la ceinture de boussole haptique proprement dite.



Variante de la bande élastique en textile, avec une chambre à air de vélo comme protection et une boucle de fermeture rapide en plastique. L'électronique se trouve dans le boîtier électronique à l'intérieur d'une poche de hanche. Les conducteurs vont de la ceinture à la poche de hanche. Pour protéger cette partie avec de petits conducteurs électriques, un tube de silicone est découpé en spirale avec un couteau, puis enroulé autour des conducteurs électriques afin qu'ils ne s'emmêlent pas dans les buissons et sur les branches des arbustes. À ce stade, je souhaite encore laisser l'électronique sur la planche à pain, car je ne sais pas encore si je veux conserver le capteur BNO055 ou s'il est possible de passer à un circuit avec un magnétomètre plus simple et moins cher, sans capteur d'accélération (c'est-à-dire un capteur d'accélération en grandeur réelle). (c'est à dire un capteur IMU pleine échelle)



Coupe du câble plat

Je ne suis pas satisfait des fils simples reliant l'arduino à chaque moteur vibrant. Cela crée un désordre. La solution du câble plat semble être la plus propre. La distance de la boucle devrait refléter davantage les vraies directions, mais comme la taille de l'homme n'est pas vraiment ronde, mais ressemble plus à une ellipse, il faut ajuster les distances entre les points du moteur. Au cas où d'autres personnes ayant une taille plus grande voudraient utiliser la ceinture-boussole, j'utilise un tour de taille de 110 cm. Le fait est que je veux faire 2 ceintures vibrantes, donc je fais tout de manière à obtenir 2 câbles plats coupés de manière identique. Tout est symétrique autour de la marque centrale. Toutes les extrémités des câbles sont équipées de connecteurs Dupont, et - ce qui est très important - je teste tous les câbles pour m'assurer qu'il n'y a pas de défauts et que chaque fil est conducteur d'un connecteur à l'autre.



La bande textile souple avec la boucle cousue, un mètre et le câble plat sont posés sur le sol. Je marque le point central. Sur la bande textile souple, il y a des « nids » d'essai pour les moteurs vibrants, posés au loin.



L'extrémité de la partie femelle de la boucle. En fait, la boucle est plus large que la distance normale entre deux moteurs de vibration, il y aura donc des erreurs.



Les extrémités des câbles plats sont fixées au sol avec du ruban adhésif, de sorte que le câble plat est tendu. Le nombre de fils sur le câble plat est de 26, je laisse donc les 3 fils extérieurs sans coupe. Le point de coupe est d'abord marqué au feutre selon le tableau des longueurs de coupe. Ensuite, une fois que toutes les marques sont faites, elles doivent également être vérifiées (des deux côtés, elles doivent être symétriques).



Une fois que tous les fils individuels sont marqués, j'utilise un couteau pour couper le câble plat autour de l'endroit marqué. Je passe par tous les points marqués.



C'est la dernière étape. Une fois la découpe effectuée, continuez la découpe de manière à ce que les deux câbles plats symétriques coupés se détachent. Enfin, faites les coupes à l'aide de pinces coupantes.



Les moteurs vibrants sont livrés avec des connecteurs mâles JST-SH. J'achète donc les connecteurs femelles appropriés. Ceux-ci doivent être soudés. Les broches des connecteurs sont très petites.



Il est préférable de n'utiliser qu'une petite quantité d'étain pour que les fils restent aussi souples que possible. Le point de soudure est plus fragile et supporte moins bien la flexion.



Je n'ai pas de pince à sertir spécialisée pour les connecteurs JST-SH. J'ai donc suivi les conseils d'un « youtubeur », qui n'a fait que souder sans sertisseuse. Cette photo montre comment j'ai serré la fiche avec du scotch. Avec cette petite fiche, il était très important de n'utiliser qu'une très petite quantité d'étain sur le fer à souder. S'il y a trop d'étain, le fer à souder remplira également le bouchon métallique d'étain, ce qui ne fonctionnera pas. Je presse la partie métallique à l'aide d'une petite pince, de manière à ce qu'elle s'insère exactement dans la petite fente du bouchon. Après le travail, il faut le tester. Je mets également une petite goutte de colle époxy à l'endroit où le câble électrique sort de la prise.



J'ai gratté le câble de mise à la terre avec un fer à souder chaud sous une loupe. J'ai fermement serré le câble plat avec le support et les pinces. J'ai inséré un morceau de tôle dans l'espace entre le câble de mise à la terre et l'autre câble pour servir de base. Ensuite, je gratte soigneusement la gaine du câble avec un fer à souder chaud, en veillant à ne pas casser les brins. Passez également le fer à souder sous les fils. J'ai préalablement dénudé les câbles de connexion. Lors de la soudure, serrez fermement les fils et soudez sous une loupe. Une fois que vous avez réussi le premier point de soudure, les suivants sont beaucoup plus faciles à réaliser car vous n'avez plus qu'à déplacer le câble.



Il est évident que les soudures se cassent facilement si un câble est constamment exposé à de légères flexions d'avant en arrière, ce qui sera certainement le cas avec une ceinture de compas. C'est pourquoi j'ai collé solidement toutes les soudures avec de la colle époxy (colle à deux composants). J'ai d'abord enroulé du scotch autour de la prise pour former une sorte de « gouttière ». Ensuite, toutes les extrémités du câble avec les fiches sont fermement collées à la table avec du scotch pour que rien ne bouge. Ensuite, je mélange la colle époxy et je remplis tous les joints de soudure aussi bien que possible avec de la colle époxy.J'attends ensuite une journée pour que tout prenne. Le lendemain, j'enlève le scotch et j'enroule du ruban isolant autour des deux conducteurs.



un schéma du circuit. La photo montre un Adafruit BNO08x, mais j'ai en fait un BNO085 slimeVR. Les interfaces sont les mêmes. Les diodes de protection sont utilisées pour éliminer le pic de tension soudain dans la charge inductive lorsque le courant d'alimentation est interrompu. En effet ici le pic de courant est apparemment assez petit, l'Arduino n'a pas encore cassé.



Link to the Isometric drawing as pdf

la photo montre comment le câble plat est fixé à l'aide de deux pinces. Ci-dessous, une brosse métallique, que j'ai utilisée pour enlever le plastique fondu du fer à souder. Le fer à souder stable est soutenu par un autre col de cygne pliable. Je regarde d'abord au-delà de la loupe pour m'assurer que le fer à souder est à peu près sur la cible, puis je regarde à travers la loupe.



le fil jaune est attaché à la deuxième pince à col de cygne par le bas. Le fer à souder repose sur le deuxième col de cygne. Veillez à enduire le point de soudure de liquide de soudure. J'essaie de ménager l'étain, car le fil étamé est fragile, et il est donc préférable d'étamer une longueur aussi courte que possible. La soudure à l'aide de pinces magnétiques flexibles à col de cygne accélère le travail, car vous aurez besoin de plus de deux mains.



La photo montre comment j'ai enroulé du ruban adhésif autour des fils de sortie des moteurs vibrants pour les maintenir bien ensemble. Il peut également y avoir une gaine thermorétractable à cet endroit.



L'image montre l'ensemble du câble plat. À ce stade, il est important de tout tester pour s'assurer que tous les points de soudure conduisent l'électricité. Je pense que cette solution est beaucoup plus soignée que la précédente avec des fils séparés, ressemblant à des spaghettis.



Je me suis procuré des panneaux de particules de 3 mm d'épaisseur chez un menuisier local. L'épaisseur du panneau doit être de 3 mm, car c'est l'épaisseur du moteur à vibrations. La hauteur appropriée est de 45 mm, car la largeur de la bande textile flexible est de 50 mm, et je pense que le support du moteur à vibrations doit être un peu plus étroit. Je perce 4 petits trous d'un diamètre de 3 mm, que j'utilise ensuite pour coudre ce support à la bande textile extensible. Pour le moteur, je perce un trou de 10 mm, qui s'insère ensuite parfaitement dans le trou. Vous pouvez percer plusieurs plaques en même temps, et alors sous la pile de plaques il y a 2 plaques supplémentaires. En procédant ainsi, aucun éclat ne se détache de la plaque inférieure et tous les chanfreins des trous de perçage sont propres et lisses. Pour les fiches JST-SH, un perçage de 8 mm est suffisant. Le moteur vibrant a une petite languette de sortie, et pour cette languette, je dois limer une petite cavité d'une dimension d'environ 2mm x 2mm x 1mm, sinon le moteur ne s'ajuste pas bien.



Il est important de placer la gaine thermorétractable AVANT de souder le connecteur. Ensuite, je soude tous les connecteurs, puis je mets de la colle époxy sur tous les points de soudure, et enfin je tire la gaine thermorétractable sur le connecteur, lorsque l'époxy est encore humide.



Cette photo montre les 20 supports de moteur en une seule image.



Il n'y a pas de trous dans le moteur vibrant pour le coudre quelque part, et le moteur est mieux adapté pour être fixé à un boîtier de téléphone portable. C'est pourquoi j'ai pensé qu'il valait mieux fabriquer ce type de fixation. La fente supérieure entre le bord supérieur et le trou supérieur s'est avérée nécessaire, car l'extrémité de la tube thermorétrécissable ne serait pas entrée dans le support autrement.



Cette photo montre comment la gaine thermorétractable transparente est moulée autour du boîtier du moteur vibrant pour le protéger hermétiquement de tous les côtés. J'ai chauffé la gaine thermorétractable avec une bougie, et j'avais un peu peur que le moteur ne survive pas à la chaleur, mais il a bien résisté à la chaleur de la bougie, du moins pendant un court moment. J'ai mis du ruban adhésif ordinaire autour du moteur pour éviter que le câble du moteur ne se plie à un angle trop prononcé. Sur cette photo, vous pouvez voir comment la gaine rétractable noire du câble d'entrée est pliée en forme d'accordéon afin qu'elle puisse supporter un léger étirement.



Avant de coudre les moteurs vibrants sur la ceinture en tissu extensible, j'ai marqué avec une aiguille et du ruban adhésif le point de la ceinture en tissu extensible (B=80mm) où se trouve le moteur vibrant. Bien sûr, une craie de tailleur serait préférable, mais je n'en avais pas. En effet, pendant la phase de couture, je dois constamment repositionner la courroie lorsque je couds à l'aiguille et au fil. Le câble plat lui-même est 160 mm plus long que la ceinture, de sorte que même un orienteur robuste peut l'enfiler.



Sur cette photo, tous les moteurs vibrants sont cousus dans une bande textile extensible. Le câble plat est plus long et lorsqu'on étire correctement ce ruban textile jusqu'à la puissance, il permet une puissance de 110 cm. Mais les chaussettes tricotées ne s'étirent pas autant que je l'aurais souhaité, elles sont plutôt rigides. Elles se tordent en quelque sorte vers le haut lorsqu'elles sont étirées, comme si elles étaient articulées autour du boîtier du moteur, ce qui n'est pas tout à fait approprié.



J'ai fermé la couture inférieure de la ceinture textile élastique sur toute sa longueur. J'ai ensuite cousu la partie supérieure à quelques endroits seulement avec du fil, et j'ai également trouvé des attaches velcro rondes que j'ai collées sur la ceinture textile élastique, ce qui me permet d'ouvrir plus facilement cette ceinture élastique si le câble est endommagé. J'ai cousu les extrémités de la ceinture et j'ai laissé de petits trous en haut et en bas pour que les extrémités forment une boucle et que le câble ruban sorte par le trou du bas. Il se trouve que j'avais chez moi du fil d'aluminium de 4 mm recouvert de plastique noir, d'une longueur d'environ 30 cm. J'ai plié le fil d'aluminium en forme de trombone et je l'ai tressé dans les passants de la ceinture pour former une boucle.



J'ai fait un essai avec la ceinture à la taille dans le logement. Cela fonctionne, mais la ceinture pourrait être plus serrée. D'un autre côté, elle est très confortable et robuste, mais aussi encombrante. Les moteurs de vibration sont étouffés par les supports, de sorte que les vibrations sont faibles, à moins que je ne mette en marche la vibration permanente. Il est préférable d'avoir la ceinture directement sur la peau, un pullover entre la ceinture et la peau amortit trop les vibrations et je ne sens rien. Comme il y a maintenant 20 pièces de moteur, la direction change beaucoup plus rapidement lorsque l'on tourne, même très légèrement. Parfois, le logiciel semble s'embrouiller lorsque la direction est entre deux moteurs voisins. Il semble qu'un moteur se soit déjà déconnecté et qu'il faille le vérifier.



Cette photo montre la bande avec les moteurs vibrants cylindriques. Elle est maintenant protégée par un filet jaune, mais cette protection n'est pas encore complète sur cette photo. La bande de filet jaune n'est plus fixée que par des morceaux ronds de Velcro. Le dos de la bande est adhésif et colle assez facilement au tissu. Au moment où j'écris ces lignes, je pense qu'il serait préférable d'acheter encore du tissu soyeux dans un magasin de tissus pour protéger tous les côtés de la ceinture.



J'ai acheté un autre jeu de moteurs vibrants (7x25mm) avec des fiches JST ZH déjà installées. J'ai cousu un tube de couleur grise avec du ruban textile extensible. Encore une fois, sur cette ceinture, j'ai déterminé avec précision les positions sur la taille, mais celle-ci a une boucle si longue que j'ai dû jouer un peu avec la ligne de taille. Lorsque j'ai cousu ces tubes, j'ai d'abord fait un nœud à une extrémité du fil à coudre, mais comme cela prend beaucoup de temps, j'ai préféré faire quelques points de suture en me fiant au fait que le fil tiendrait de toute façon et j'ai simplement fait quelques nœuds à la fin des points, ce qui m'a semblé suffisant. Je n'ai pas cousu les extrémités du tube car les moteurs s'insèrent assez étroitement dans le tube. J'ai cousu ces morceaux de tubes gris aux extrémités de la ceinture jaune. J'ai ensuite inséré les moteurs vibrants dans ces tubes gris, j'ai connecté les moteurs au câble ruban à l'aide de fiches et j'ai testé. Contrairement à la courroie à boutons, celle-ci n'a eu aucun problème de rupture de connexion, et les tests ont montré que tous les moteurs fonctionnaient parfaitement. Ce que j'ai appris de cette expérience, c'est qu'en pratique, le connecteur JST-ZH se soude beaucoup mieux que le JST-SH en raison de sa plus grande taille. Je n'utiliserai plus jamais le JST-SH.



La veroboard, que j'ai découpée au couteau. Ceci montre de gauche à droite le convertisseur de niveau logique, le potentiomètre de 10kOhm, la résistance de 10kOhm, le bouton-poussoir avec le bras long, le convertisseur buck et l'interrupteur à glissière sur le levier long. De plus, j'ai déjà soudé les fils intermédiaires. Pour la soudure de cette carte, j'ai eu des problèmes avec le fer à souder. Un vieux et bon fer est cassé. J'ai acheté deux nouveaux fers à souder bon marché, mais avec eux je n'ai pu faire que quelques soudures correctes. Après cela, l'étain ne collait plus à la panne. J'ai ensuite acheté un fer à souder plus cher, qui a mieux fonctionné, mais malheureusement la pointe n'est pas très aiguisée, il est difficile de déposer de petites quantités d'étain avec. Un autre problème était que les bandes de cuivre sur la plaque se détachaient pendant le processus de soudure.



L'illustration de la ceinture de la boussole montre, de gauche à droite, un boîtier de piles 18650 avec deux piles connectées en série pour produire 8V. Le boîtier est fixé au couvercle de la boussole. Les fils partent du bas de l'Arduino jusqu'à l'interrupteur à glissière de la plaque d'interrupteur pour connecter le 8V au connecteur « Vin » de l'Arduino Mega 2560. Au milieu se trouve l'Arduino Mega 2560, et à gauche la plaque d'interrupteur avec le transformateur logique, le potentiomètre, le bouton poussoir et l'interrupteur à glissière. Les fils SDA et SCL du bus I2C vont de l'Arduino au convertisseur logique. Notez que les bandes de cuivre sous le convertisseur logique sont interrompues, c'est le but du convertisseur logique, d'isoler la haute tension 5V du niveau de basse tension. En mesurant, vous pouvez voir que les signaux SCL et SDA du côté Arduino sont à 5V, mais la fiche technique du BNO085 indique clairement que rien d'autre que 3.3V n'est acceptable pour ce capteur. Les fils 5V SDA et SCL sont tous deux connectés à 5V avec des résistances « pull-up » 2. Au niveau 3.3V, le capteur BNO085 possède des résistances internes de 2.2kOhm, il n'est donc pas nécessaire d'utiliser des résistances pull-up.La plaque de commutation possède un potentiomètre pour ajuster la boussole, le potentiomètre est connecté au connecteur A2 sur l'Arduino. Le bouton-poussoir peut être utilisé avec une simple pression courte pour ajuster la durée de l'intervalle de vibration, un double clic pour basculer entre la vibration intermittente et continue, et une pression longue pour tester la fréquence de vibration, de sorte que chaque moteur de vibration est déclenché une fois brièvement, en commençant à une extrémité et en allant jusqu'à l'autre extrémité. Le capteur BNO085 transmet les données de la boussole via le bus I2C de l'Arduino. Pour que l'adresse du bus I2C soit 0x4B, le connecteur SDO du BNO085 est connecté à 3,3V. Pour plus de clarté, les fils allant au moteur vibrant ne sont pas représentés sur cette figure.



Sur cette photo, vous pouvez voir le boîtier imprimé en 3D ouvert de l'avant. Arduino au milieu, les connecteurs pour les moteurs vibrants à gauche. Ici vous pouvez voir que le fil de terre a un petit « coude » dans le faisceau de fils, parce que le connecteur GND est en haut de la rangée de connecteurs. En haut à droite, vous pouvez voir le capteur BNO085 slimeVR IMU, qui est attaché aux fils avec un connecteur afin que le capteur puisse être facilement retiré et échangé entre différents systèmes. J'ai mis le connecteur aussi parce que j'ai peur que la température de la soudure puisse casser ce précieux dispositif. Le fil blanc est le fil SCL, le fil jaune est le fil SDA, mais les couleurs des fils sont différentes de celles du diagramme. En bas, au centre, vous pouvez voir le compartiment à piles, et en haut, vous pouvez voir la plaque d'interrupteur soudée. Les fils de l'Arduino sont tous connectés avec un connecteur Dupont, de sorte que toute l'alimentation peut également être complètement déconnectée. Les fils et le BNO085 sont « collés » sur les bords avec de la gomme bleue, de façon à ce que tous les éléments puissent être temporairement retirés du boîtier. Le BNO085 est maintenant placé dans le trou situé dans le coin supérieur gauche, mais si vous souhaitez utiliser le boîtier en position verticale, le BNO085 peut être placé dans le trou situé dans le coin supérieur droit. Le capteur doit toujours être à peu près horizontal pour donner la bonne direction à l'air.



Ici, vous pouvez voir la ceinture boussole dans son intégralité, devant le boîtier électronique, à partir de la gauche, le câble plat va vers la courroie du moteur vibrant, qui est protégée par un tissu jaune. Le boîtier lui-même est entouré d'un ruban textile extensible que j'ai confectionné moi-même, ou bien il peut être mis dans une poche de pantalon. Entre l'étui et la ceinture proprement dite, il y a une boucle d'environ 30 cm, de sorte que l'étui peut également être placé dans une poche de pantalon, une pochette de ceinture ou même un sac à dos. Cet étui a deux attaches en caoutchouc, l'une pour la position horizontale, l'autre pour la position verticale. Je trouve que la position horizontale est meilleure pour la course, car l'étui oscille moins. Au début, j'ai essayé d'attacher l'étui directement à la courroie du moteur vibrant, mais cela prend trop de place et la vibration des moteurs vibrants sous l'étui est déformée, et le frottement entre l'étui et les moteurs pourrait peut-être déchirer les connecteurs et les fils.



Habillé avec le ceinture boussole recouverte d'un tissu synthétique jaune. Ce tissu est fin et lisse, il sèche donc rapidement et peut être enlevé si vous voulez le mettre dans la machine à laver. La course d'orientation fait transpirer et le corps est constamment en contact avec des branches et des brindilles humides et sales. Le tissu ne doit pas être feutré, c'est-à-dire que de minuscules extrémités de fibres dépassent du tissu et agissent comme de petits crochets pour s'accrocher aux petites fissures des objets, aux câbles cachés et aux petites prises, ce qui fait que les petites courbures du câble ou de la prise se retrouvent coincées dans le duvet du tissu. Le boîtier électrique doit être fixé à l'aide de sa propre bande textile extensible. Les deux sangles sont confortablement serrées sur le corps, de sorte que l'ensemble fonctionne également en course d'orientation. Le câble entre l'étui et la ceinture est maintenant inutilement lâche, il pourrait être raccourci à l'aide d'une sangle en caoutchouc. Le boîtier électronique ne doit pas voler, car le capteur mesurant sa propre position dans l'espace tridimensionnel donnerait alors un faux signal. En principe, le capteur compense toute inclinaison, mais en règle générale, il doit être en position horizontale.



Essai d'impression 3D


quand j'ai fait les expériences avec mon Arduino pour un arrosage automatisee des fleurs, je voulais que la même quantité d'eau aille toujours dans les quatre pots de fleurs. J'imaginais que ce serait facile à faire, mais ce n'est pas le cas. Pour une raison quelconque, l'eau va toujours trop dans un pot de fleur et l'autre pot de fleur n'a rien. J'imaginais que si je faisais des trous de même taille, cela fonctionnerait. Tout d'abord, j'ai réalisé une version d'essai à partir de blocs de plastique en les collant, et en piquant avec une aiguille j'ai fait des trous de la même taille que possible, une idée un peu similaire aux dispositifs de perfusion hospitaliers. Cela ne fonctionnait pas, il y avait toujours un trou un peu plus grand et l'eau n'allait que dans un seul pot. C'est pourquoi j'ai décidé que si j'essayais l'impression 3D, les trous devaient être précis. Cela n'a toujours pas fonctionné. Ce à quoi cela ressemblait à l’intérieur ressemblait à la moitié.



Voilà à quoi ressemblait le modèle stl de l'extérieur. J'ai enregistré le fichier "stl" de ce modèle 3D sur le serveur Cloud, car le fichier était trop gros, je n'ai pas pu l'envoyer en pièce jointe à un e-mail. Lorsque j'ai dessiné le modèle avec le programme Unigraphics, aujourd'hui le nom du programme est "Siemens NX", c'était aussi un bon exercice de modélisation 3D pour moi. Par exemple, je devais me rappeler qu'une imprimante 3D ne peut pas avoir de saillies arbitraires, car elle imprime toujours une couche de plastique sur une autre couche, et lorsque ce plastique est un peu chaud, il peut s'agglutiner un peu et perdre sa forme. Siemens NX est très adapté à la modélisation de surfaces spéciales ondulées et courbes.



J'ai trouvé le service d'impression 3d sur le site www.tori.fi. www.tori.fi est principalement une vente en ligne de biens d'occasion, à l'image de ce qu'étaient autrefois les pages jaunes. Le modèle 3D m'a coûté environ 15 euros et il est arrivé par courrier assez rapidement. Quoi qu’il en soit, cette expérience d’impression 3D n’en valait pas la peine car mon principe ne fonctionne pas vraiment. Le distributeur d'eau doit avoir une forme différente. Une forme fonctionnelle est sur le site:


Ribbit flow splitter


LIDARdétection et estimation de la distance par la lumière » ou « par laser »





J'ai acheté un LIDAR très bon marché comme un achat impulsif. En partie parce que j'avais déjà vu sur un blog youtube qu'on pouvait les connecter à un arduino. Et même si la construction d'un robot semble être un gros projet jusqu'à présent, je peux toujours avoir des rêves. Je rêve donc de fabriquer avec ces servomoteurs, l'arduino et d'autres capteurs un buggy néphrite, qui serait capable de rouler, et dont l'œil serait bien sûr un lidar, de sorte que le robot ne s'écraserait pas contre les portes, mais s'arrêterait toujours gentiment. Il s'agit donc encore d'un rêve. L'obstacle à la réalisation de ce rêve est le manque de temps et peut-être aussi le manque de patience. J'aurais probablement besoin de plusieurs semaines d'affilée pour me concentrer sur ce projet, mais je ne peux pas y consacrer tous mes week-ends, j'ai beaucoup d'autres passe-temps et d'autres tâches ménagères. Quoi qu'il en soit, ce petit projet pourrait être un petit pas en avant sur la longue route qui me mènera à la fabrication de mon propre robot. C'est le lien vers l'endroit où j'ai acheté cet appareil merveilleux.


laser radar 360 degree laser radar scanning distance measuring sensor diy wireless transmission infrared data transmission

Lorsque j'ai acheté ce LIDAR, j'imaginais encore que je le connecterais directement à un Arduino, du moins c'est ce que le blogueur suisse a fait, où il avait un convertisseur complètement différent, que j'ai également acheté, mais qui attend toujours son destin en traînant dans le tas de mes autres trucs électroniques. Mais en fait, cette connexion directe au port USB de l'ordinateur est déjà facile, du moins pour moi, parce que l'outil de programmation Visual Studio Code et python sont préinstallés et me sont relativement familiers. Le module d'extension nécessaire pour le port USB de l'ordinateur peut être trouvé sur le lien suivant. Selon wikipedia, TTL signifie Transistor-Transistor Logic, le nom signifie que les transistors, en fait 2 circuits en série, amplifient et exécutent des fonctions logiques. Je ne pense pas que cela signifie quoi que ce soit, mais c'est un convertisseur entre le port USB et le signal série RS232. Je me souviens encore que l'abréviation RS232 est apparue avec l'ordinateur C64. Lien :



High Quality FT232RL FT232 FTDI USB 3.3V 5.5V to TTL Serial Adapter Module Mini

Le site de vente de Lidar contient également une référence permettant de trouver les bons extraits de programme pour décoder le signal. Ce groupe de discussion Discord est devenu public parce qu'un Américain a posté des photos secrètes et d'autres informations sur la guerre en Ukraine, se vantant apparemment de tout ce qu'il savait. Sur ce canal spécifique nommé mb_1e2tydlidar-s4b, il y a un homme appelé VIDICON qui a fait des recherches approfondies sur ce lidar. Apparemment, le vendeur n'a fourni aucune documentation sur cet appareil. Ce qui n'est pas inhabituel pour les vendeurs chinois. VIDICON dispose apparemment des analyseurs de signaux appropriés pour déterminer progressivement ce que signifient tous les octets du paquet de données émis par l'appareil. J'ai beaucoup de respect pour la présence de gourous comme VIDICON dans ce monde. Au fait, même si le code vient de github, pour moi ce n'était pas exactement un one-to-one, mais j'ai dû expérimenter un peu, quel type de baud-rate il fonctionne avec, s'est avéré être 153600. Heureusement, mon ordinateur avait déjà python installé avec VS Code, mais j'ai dû ajouter les modules supplémentaires pygame, serial, math et enum. Je ne me souviens plus, quelque chose de similaire comme sudo apt-get install -y enum était nécessaire ou peut-être l'équivalent sur une machine Windows.



discord discussion channel radar_mb_1r2t_ydlidar-s4b

Not black Magic link

MiniCubeRoot link

Le programme tel qu'il est listé ici n'est pas exactement le même que le programme github, mais en plus de la vitesse de transmission, j'ai changé la commande pygame set_at, qui ne produit qu'un très léger point à l'écran, et je l'ai remplacée par un rectangle pygame.draw.rect, qui est beaucoup plus visible. J'ai aussi essayé pygame.draw.circle, mais c'est trop lent, ça fait beaucoup de lignes horizontales à l'écran. J'ai aussi changé le facteur d'agrandissement, distancef = distance / 40 puis quand je veux que plus de détails soient mis en évidence, le profil de mon propre visage par exemple, alors je mets ce facteur à 3. Cependant, je ne suis pas très familier avec pygame et tout le programme est comme de l'hébreu pour moi, en particulier cette classe State(Enum). Il va falloir que je me familiarise avec.




Schéma de connexion de LIDAR au port USB de l'ordinateur




tester le LIDAR en me promenant dans mon appartement







Arduino microcontrôleur



page Web relative à "Sulautetut" = "embarqué"?

Automatisation d'irrigation Arduino

Cela semble être un type de projet Arduino assez courant. Je suis terriblement paresseuse pour arroser mes fleurs, souvent oubliées pendant des semaines, et je veux que la fleur soit arrosée automatiquement avec une pompe chaque fois que l'eau vient à manquer. La configuration comprend un Arduino Uno, une pompe à eau, un tuyau d'arrosage, un capteur de niveau d'eau et une carte adaptateur Arduino, ainsi qu'un relais bleu.



Code de programme Arduino



J'ai pris un exemple de programme sur Internet en guise de démarrage. J'ai essayé de me trouver un défi. Il y a une commande de retard dans l'exemple de programme d'origine, qui empêche la pompe de démarrer dès que le capteur détecte que le niveau d'eau est devenu sec. Mais à ce stade, le cycle du programme est interrompu. Dans ma version de programme, le cycle de programme n'est jamais interrompu, mais le changement de signal du capteur ne provoque aucune réaction immédiate, mais 2 compteurs différents sont déclenchés puis augmentés à chaque cycle de programme, jusqu'à ce qu'un seuil de temps se déclenche à nouveau. Le premier compteur démarre lorsque l'état du capteur passe de humide à sec. Le compteur attend alors plus longtemps avant que la pompe ne démarre, car peu importe que la fleur soit sèche pendant une courte période, mais il est plus important que la batterie de la pompe ne s'épuise pas car la pompe démarre tout le temps, et puis en cours d'exécution seulement quelques secondes. Par contre, dès que la pompe a démarré et commence à remplir le pot d'eau, il faut éteindre la pompe rapidement lorsque le capteur détecte l'eau, sinon la plaque sous le pot de fleur déborderait et l'eau se renverserait au sol et causer des dommages. Par conséquent, le deuxième compteur arrête sa pompe immédiatement lorsque le capteur détecte de l'eau dans la plaque sous le pot de fleurs. Pour la première fois, j'ai utilisé un relais, donc en principe Arduino peut également connecter les bons appareils secteur, comme une lampe, une prise, des radiateurs, une radio, etc. c'est très excitant d'entendre le clic du relais ! Mais cela semble toujours un peu dangereux, donc tous les appareils à ce stade ne fonctionnent que sur batterie. ajout ultérieur : Le problème avec le premier circuit et programme est que le réservoir peut être vide. Par conséquent, lorsque la pompe démarre, il est nécessaire d'empêcher la pompe de fonctionner en continu et la batterie se déchargerait inutilement, même s'il n'y a aucun espoir que la pompe ajoute de l'eau aux fleurs. Parce que dans ce cas, la pompe tourne à vide et ne pompe que de l'air. Par conséquent, lorsque la pompe est démarrée, un compteur séparé démarre, et lorsque le compteur a atteint la valeur limite, la pompe s'éteint et en même temps la LED rouge s'allume. Ensuite, à partir de la LED rouge, je peux voir que je dois ajouter de l'eau dans le réservoir d'eau. Après cela, j'appuie sur un bouton de réinitialisation. Le bouton de réinitialisation éteindra le voyant rouge et mettra le compteur de temps de fonctionnement de la pompe à zéro. Ainsi, la prochaine fois que le capteur indiquera que la fleur est sèche, la pompe recommencera à tourner. Mais à moins que de l'eau ne soit ajoutée au réservoir, la pompe ne fonctionnera pas car ce serait un gaspillage d'énergie de la batterie. Ce compteur doit être tel que, dans le temps imparti, le réservoir soit vidé dans tous les cas.

un petit programme utilitaire python pour surveiller les ports série

même dans ce projet si petit, le débogage était le plus long de tous. J'ai été vraiment gêné par la fonctionnalité du moniteur série intégré d'Arduino que je ne peux pas effacer l'écran avec la commande "clear". Sur Internet, j'ai trouvé un petit utilitaire Python qui affiche le signal du port série dans la fenêtre du terminal et après chaque cycle, la fenêtre du terminal est effacée avec la commande "clear". Il est beaucoup plus facile de suivre le flux des événements.

Chargeur USB pour un générateur de hub d'un vélo



À l’origine, j’avais un vélo de dames avec un système électrique bien équipé. Il avait un phare avant à LED et un éclairage rouge arrière à LED aussi avec une fonction de feu debout. La phare n'est nécessaire qu'en hiver, mais en hiver, les routes sont commes chemins avec pleins de nids de poules à cause de la neige et de la glace, de sorte que le feu arrière s'est éteint dans les vibrations continuants, après seulement quelques mois. De plus, je remplace toujours le générateur de moyeu pour l'été par un moyeu sans générateur, qui fonctionne avec moins friction. Bien sûr, je dois aussi retirer le phare. Mais malheureusement je l'ai cassé lors de cette opération changeante. L'astuce est que dans cette lumière LED se trouvent tous les circuits électroniques intégrés qui convertissent le courant du générateur de hub (AC ~6V) en un courant DC (=5V) adapté à la lumière LED. Je pensais d'abord acheter une LED connectée directement à un générateur de pôles, mais je n'ai rien trouvé sur Internet (il y avait beaucoup de lumières LED mais rien qui indique clairement qu'elle peut être connectée à un générateur de hub) . Mais j'ai trouvé cette guide sur le chargeur USB pour le velo. Et il y a pas mal de lumières LED avec chargement USB. Je pourrais aussi recharger mon smartphone sur les tours longs à vélo. J'ai commandé des pièces en ligne (Farnnell, Conrad) et les ai soudées sur la table de la cuisine. Et j'ai également commandé une lumière LED USB à Deal Extreme. Un hiver, j'ai pédalé avec, mais maintenant je l'ai encore perdu la lumière LED. Je dois donc chercher à nouveau une lumière. PS: Maintenant, j'ai trouvé un type sur Ebay: "Union LED Headlight Sidelight Sensor Lux for Hub Dynamo"


Lien vers les instructions de DIY pour un chargeur velo USB


schémas électriques pour LED de vélo

L'écran de mon smartphone s'est brisé

J'étais parfois fier de mon smartphone Lumina. Mais cela n'a pas pris longtemps et il est tombé au sol. Et comme la côté du beurre d'un sandwich va toujours vers le sol, le écran tombé vers le sol. C'est arrivé peut-être 2 semaines après l'achat, je ne supportais pas d'en acheter un nouveau smartphone tout suite. Heureusement, un collègue a indiqué que on peut acheter les ecrans séparément en ligne, et tous les outils nécessaires sont fournis ensemble. C'est ce que j'ai fait par necessitée. Oui, il y a eu quelques moments d'horreur. Il a besoin d'un ventilateur de chaleur pour desserrer ces bands adhésifs. Et il faut être vraiment patient pour ne pas utiliser la violence.


instruction pour changer l'écran Lumia

Un grand merci au youtuber, j'ai pu démonter le smartphone




Heureusement, j'avais encore un autre téléphone disponible pendant cette période, j'ai donc pu regarder les instructions encore et encore tout en abordant les divers problèmes.





Les connecteurs sont en fait constitués de broches microscopiquement petites. Après la réparation, j'ai dû appuyer le smartphone à la place d'un connecteur interne, pour récupérer l'image sur l'écran. Le moteur de vibration est de la taille d'un russin. La batterie est collée avec un band adhésif double, et seulement en la chauffant avec un pistolet à air chaud et en utilisant en même temps l'outil en plastique pour la sortir, elle se détachait très lentement. De plus, l'écran était vraiment serré et le décoller a pris peut-être une demi-heure. Et bien sûr, le nouvel écran doit à nouveau être collé avec du band adhésif double face, donc je dois couper des bandes de 2 mm dans un rouleau de ruban normal.






Dans la bibliothèque, je suis tombé sur le livre de Tero et Kimmo Karvinen Sulautetut = systèmes embarqués. La lecture du livre n’a pas suscité d’enthousiasme immédiat, mais c’était un peu comme le début d’un feu qui couvait lentement dans mon esprit. Plus tard, j'ai remarqué que le collège du soir organisait un cours là-dessus. Le cours a attiré suffisamment de participants, mais j'ai acheté ce kit de démarrage. Voyons où cela mènera.


Timelapse ESP 32 CAM



J'ai fait des vidéos en différé sur mon smartphone. Le problème évident est que le délai ne peut pas être réglé, et un autre est que la caméra doit toujours être debout là tout le temps, et que quelqu'un pourrait la voler. La configuration nécessite : 1. ESP32CAM (par exemple Alibaba) 2. tout type de bloc d'alimentation 5V (j'ai acheté chez Tokman) 3. Câble USB, coupez-le et utilisez uniquement le connecteur mâle (Clas Ohlson) 4. Deux fils, un connecteur femelle côté adapté à ces sorties en forme d'aiguille ESP32 CAM, l'autre côté pinces crocodile. 5. Lecteur de carte SD + câble USB compatible 6. Carte SD. J'ai trouvé des instructions en ligne sur la façon de faire une petite boîte pour ESP32 avec une imprimante 3D. Je n'ai pas ça, mais ça marche aussi avec une boîte en plastique de mon kit de réparation de vélo. J'ai collé diverses pièces de bois à l'intérieur de la boîte avec de la colle, de sorte que l'ESP32 s'intègre parfaitement à l'intérieur. Je dois encore tailler de petites encoches dans les morceaux de bois avec un couteau, car sinon le Rst et le bouton flash interféreraient.



Au fond du boitier j'ai fait un trou pour le 5V et pour le câble de masse, leurs fiches sont malheureusement un peu trop longues. Le capot avant a le trou pour la caméra, cela peut être fait avec une perceuse ou un couteau. L'ESP 32 doit être assez serré, sinon il s'affaissera et l'image sera faussée.



J'avais peur qu'il pleuve pendant le tournage, alors j'ai mis de l'ESP 32 à l'intérieur du pare-brise d'une bougie. Le vent a toujours été assez fort, le pare-brise peut également empêcher l'ESP32 CAM de s'envoler par le vent.



Une fois la prise de vue terminée, je prends l'ESP 32 CAM à l'intérieur de la maison et l'arrête, soit via Wifi, soit en déconnectant simplement le câble 5V, en sortant la carte SD et en lisant la carte SD via ce lecteur de carte. Ce lecteur de carte était un reste d'un vieil appareil photo pixel, que j'avais parfois. Mais le câble était spécial, avec un connecteur USB mini-A étroit.



Instruction pour timelapse ESP32CAM

Programme Python pour créer une vidéo de la série d'images de caméra

Ce guide est maintenant un peu comme pour moi.
Rappelles toi:
Le Wifi mobile doit être activé. Settings -> Wireless and Networks -> tethering and Portable hotspot-> Portable Wifi hotspot
L'ordinateur doit être connecté au Wi-Fi du mobile Ctrl + X -> Wifi -> afficher les réseaux disponibles -> Connecter

Fonctionne uniquement avec le navigateur Firefox à l'adresse http://192.168.43.209/
(puis pas de https)
Lance le programme Arduino. Le programme doit également avoir correctement le ssid et le mot de passe Wifi.
Téléchargez le programme Timelapse

Connecte l'ESP32CAM à un ordinateur avec un câble USB. L'appareil ne cassera pas même s'il est connecté à l'alimentation en même temps.

Vérifie le port COM3 ou COM7

Outils-> tous les paramètres dans le bon sens.

Au moins

Wifi101/WiFiNINA Firmaware updater
Board ESP32 Wrover module
Upload speed 115200
Flashmode QIO
Partition scheme Huge APP (3MBNo OTA /1MB
Core debug Level .None
Programmer AVR ISP
Appuyez sur télécharger dans Arduino.

Maintenez enfoncés les boutons en acier inoxydable et flash. Lorsque le téléchargement démarre, c'est-à-dire lorsque .... ---- ....---- apparaît sur l'écran de commande du programme, relâchez le premier bouton. Ensuite, les LED devraient s'allumer.

Cela ira rarement la prochaine fois. Ce n'est que lorsque les LED s'allument que les choses commencent à s'arranger.

À ce stade, je bascule entre COM 7 et COM 3. Curieusement, le programme affiche toujours le module ESP32 Wover sur COM7 ou COM3. Au moment où j'écris ceci, c'était COM7.

J'ouvre toujours le moniteur série. et j'appuie sur la réinitialisation. Dans ce contexte, la taille de la carte SD doit également être mise en évidence.

SD Card Type: SDHC
SD Card Size: 32000MB

Total space: 31936MB
Used space: 0MB
.........
WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.43.209' to connect

Ensuite, seul le navigateur Firefox peut être ouvert et y entrer son adresse.
Ensuite, je branche les fils 5V et GND et débranche le câble USB, et j'essaie de voir si le flux fonctionne toujours.
J'ai réglé le timelapse sur 3000-6000 ms.
Résolution CIF (400x296) quand je la mettais de plus près, il y avait des perturbations désagréables dans l'image.

Je conduis mon ordinateur, mon téléphone portable et la caméra ESP 32 à l'endroit où je veux faire un retard vidéo. Ensuite, je règle l'ESP CAM horizontalement, j'utilise la fonction d'image fixe et je m'assure que l'image est correcte. Il peut également être nécessaire d'appuyer sur le V-flip. Ce n'est qu'alors que j'appuie sur l'image timelapse.

Vous pouvez ensuite le laisser tourner, plusieurs fois je le laisse de côté pendant une heure. Je rentre avec mon ordinateur. Le rayon de l'antenne Wifi peut atteindre 10m.





Il existe maintenant un autre ESP32 : il n'a pas de appareil de programmation intégré, mais un dispositif externe appelé CP2102 USB to TTL Serial Converter Module Il est également livré avec une antenne Wifi, grâce à laquelle la portée est déjà de 15m ou plus. Dans la phase de programmation, les câbles doivent être comme indiqué. Le programme sera transféré depuis l'IDE Arduino en même temps qu'avant. Mais une fois le programme transféré, vous devez d'abord déconnecter le câble qui relie GPIO0 et GND. Ensuite, j'appuie sur réinitialiser, puis je peux lire l'adresse de l'appareil à partir du moniteur série Arduino, qui est http://192.168.43.40. Après cela, je peux également retirer les câble de RX et TX. L'appareil n'a besoin que de 5 V et de GND pour fonctionner. J'ai d'abord mis les paramètres du téléphone portable - Partage de connexion et point d'accès portable - Point d'accès Wifi portable - ... ON. Ensuite, j'ai mis d'abord dans le navigateur Web du smartphone "Nouvel onglet incognito" dans le coin supérieur droit, où se trouvent trois points. Ensuite, dans le champ d'adresse du navigateur, j'entre l'adresse de l'appareil à came ESP32. Si l'appareil est allumé, vous devriez déjà avoir vu l'image de la caméra. Sinon, j'appuie toujours sur le bouton de réinitialisation. Et pui s je peux commencer une série de retards sur mon téléphone portable. C'est comme ça que ça devrait fonctionner.



Quand j'installe ESP32 pour la programmation, je dois y aller à Arduino IDE Tools manage Libraryet là je devrais pouvoir trouver bitluni ESP32Lib



File- Preferences



https://dl.espressif.com/dl/package_esp32_index.json/
http://arduino.esp8266.com/stable/package_esp8266com_index.json/

Upload speed 115200
Flashmode QIO
Partition scheme Huge APP (3MBNo OTA /1MB
Core debug Level .None
Programmer AVR ISP r this, I will be able to select in tools  Board  Board ESP32 Wrover module
]]>