Table des matières:
- Fournitures
- Étape 1: Configuration du Raspberry Pi
- Étape 2: Comprendre le fonctionnement de la configuration
- Étape 3: Backend du Pi
- Étape 4: Frontend du Pi
- Étape 5: L'Arduino
- Étape 6: Tout connecter
Vidéo: Treuil contrôlé par Art-Net : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Bonjour à tous, dans cette instructable, je vais expliquer comment j'ai créé mon treuil contrôlé par art-net. "Ton quoi?" Je vous entends demander, laissez-moi vous expliquer très rapidement. Il y a quelques années, nous avons organisé une fête avec la maison des jeunes du quartier, et en tant que scénographie, nous avons eu l'idée de faire un toit mobile.
Avec 9 treuils (takels) nous avons soulevé un tissu blanc géant et à travers le protocole dmx nous les avons contrôlés. Mais à l'époque, les treuils que nous utilisions étaient contrôlés en 3 phases. Donc, pour le faire monter et descendre, nous avons dû créer un système de relais contrôlé par un méga Arduino central contrôlé à l'aide de dmx. Le relais où commutent des tensions de 230V et 12 ampères.
Pour le dire en termes plus compréhensibles, nous avons dû créer un énorme désordre de fils et de relais qui était super instable, peu fiable et assez dangereux en fait.
Nous nous sommes donc dit qu'il devait y avoir une meilleure façon de le faire. Nous avons commencé à réfléchir et sommes arrivés à la conclusion que la meilleure façon de le faire serait d'utiliser un système modulaire de treuils, contrôlés via le protocole Art-Net, de sorte que nous n'aurions besoin que d'une source de tension et d'un câble Ethernet.
C'est donc exactement ce que j'ai créé et je vais essayer de vous expliquer comment je l'ai fait. L'ensemble de la configuration repose sur un raspberry pi qui contrôle le processus de configuration. Une fois installé, le contrôle est confié à un ordinateur léger (Chamsys, etc.) qui contrôlera les treuils à partir de là.
Je suppose que vous avez des connaissances de base sur python, arduino et raspberry pi ainsi que sur le protocole et les contrôleurs art-net.
Fournitures
Ce dont vous aurez besoin:
- Tarte aux framboises
- Arduino
- Blindage Ethernet Arduino
- Bouclier moteur Arduino
- Tout écran OLED
- câble Ethernet
- commutateur Ethernet
- Moteur à courant continu avec encodeur intégré
Étape 1: Configuration du Raspberry Pi
Ok, donc la façon dont cela fonctionnera est que le raspberry pi exécutera un serveur Apache et MariaDB. Le serveur apache est d'héberger le site web, la MariaDB est de garder une base de données où nous stockerons les données des treuils.
Je ne vais pas vous expliquer tout le processus de configuration du pi avec ssh, si vous n'êtes pas familier, voici un bon tutoriel.
Donc, tout d'abord, nous allons nous assurer que le raspberry pi est configuré, dans votre terminal:
Pour installer Apache
sudo apt installer apache2 -y
Pour installer mariaDB
sudo apt-get install mariadb-server
Ce sont toutes les extensions python dont nous aurons besoin
pip3 installer mysql-connector-python
pip3 installer flask-socketio pip3 installer flask-cors pip3 installer gevent pip3 installer gevent-websocket pip3 installer netifaces
Pour l'écran oled, nous avons besoin d'un processus de configuration un peu plus difficile qui peut être trouvé ici.
Ok c'est le pi tout fait!
Étape 2: Comprendre le fonctionnement de la configuration
Donc, la façon dont vous voulez configurer le treuil est de lui donner une position de départ et une position de fin. Un certain canal lui sera assigné et avec ce canal, vous ne pourrez vous déplacer qu'entre la stat choisie et la position finale.
Pour sélectionner ces positions, vous devrez déplacer le treuil vers elles, une fois que vous y serez, vous tournerez un certain canal à la valeur de 56. Lorsque ce canal exact atteint cette valeur, il saura qu'il s'agit de sa position de début / fin de fin, s'il doit monter ou descendre ou s'il doit changer ses valeurs artnet. Le déplacement du treuil se fait également en réglant un certain canal sur 56. "Et pourquoi 56" je vous entends vous demander, eh bien, je devais choisir quelque chose:).
La position est calculée par l'encodeur qui se trouve sur le moteur à courant continu.
Étape 3: Backend du Pi
Le backend du système se trouve sur mon github. J'ai écrit ma propre bibliothèque pour le protocole art-net, alors n'hésitez pas à l'utiliser. Je ne vais pas vous expliquer tout ligne par ligne, mais je vais vous donner une idée globale de tout cela.
Le code exécute un serveur flask qui communique avec le serveur Apache exécuté sur le pi. Il utilise le module flask-socketio pour envoyer et recevoir des données au frontend. La bibliothèque art-net utilise le module socket de python pour envoyer des paquets UDP vers et depuis l'arduino.
Chaque méthode qui commence par @socketio.on('F2B_***') attend un appel F2B du frontend. Une fois reçu, il exécutera l'action correspondante. Qu'il s'agisse d'envoyer un commando artnet ou d'obtenir des données de la base de données et de les renvoyer au front.
La méthode oled_show_info() est utilisée pour afficher l'ip de l'ip (à la fois sur les interfaces wlan et ethernet).
alors exécutez simplement le code avec
python3 app.py
Étape 4: Frontend du Pi
Pour pouvoir éditer le frontend du pi, vous devez d'abord vous donner accès au répertoire /var/www/html/. C'est là qu'Apache récupère ses fichiers à afficher sur son site Web. Pour obtenir l'accès, exécutez:
sudo chmod 777 /var/www/html/
Maintenant que tout est fait, récupérez le code pour le frontend de mon github et placez-le dans le répertoire /var/www/html/.
Le frontend utilise le même principe que le backend mais maintenant il envoie les commandes F2B_*** lorsqu'un bouton est enfoncé ou que le curseur est déplacé.
Et voilà le frontend terminé !
Étape 5: L'Arduino
Pour utiliser l'arduino, vous devrez utiliser le blindage Ethernet et le blindage moteur. Il suffit de les pousser doucement sur l'arduino. Assurez-vous de ne pas pousser le blindage du moteur trop loin sur le blindage Ethernet ou vous risqueriez de court-circuiter les 2 broches du moteur sur la connexion Ethernet !
Le code de l'arduino peut également être trouvé sur mon github. Téléchargez le fichier artnet_winch.ino et tout devrait être bon.
Assurez-vous de définir les bonnes broches pour les bonnes broches de votre moteur. Les broches du blindage du moteur sont choisies avec les broches d'en-tête sur le dessus du blindage. Ces broches sont choisies dans le //--- motor config. Aswel que les broches de l'encodeur qui doivent être connectées aux bonnes broches de l'arduino.
Assurez-vous également que votre adresse MAC du shield est correcte. Cela peut être trouvé sur un autocollant sous le bouclier et édité dans la variable MAC. L'adresse IP que vous utilisez pour le pi doit être dans la même plage que le PI, cela peut normalement être trouvé sur l'écran oled.
Le code a l'air un peu lourd mais n'est pas si difficile à comprendre. Fondamentalement, le bouclier Ethernet lit constamment les paquets udp entrants. Si ce paquet est un paquet Artnet, il le décode et en obtient les informations dont il a besoin. Les différents paquets artnet sont bien décrits sur le site Web d'Art-Net, donc si vous êtes intéressé, vous pouvez lire ce qu'ils font tous.
S'il reçoit un paquet ArtPoll, il répondra avec un ArtPollReply. ceci est utilisé dans la fonction d'appel dans le backend pour trouver quels appareils sont sur le réseau.
S'il reçoit un paquet ArtDMX, il décodera le paquet et utilisera les données fournies pour exécuter certaines commandes de configuration ou déplacer le treuil en position.
La fonction move_takel transforme la valeur DMX donnée (entre 0 et 255) en une position entre les positions de début et de fin (0 étant la fin et 255 le début). Si la position de l'encodeur n'est pas égale à la valeur transformée, le treuil se déplacera vers le haut/bas selon l'endroit où vous vous trouvez.
Je travaillais sur une boucle de rétroaction entre le PI et l'arduino afin qu'il puisse suivre sa position, mais mon arduino a manqué de mémoire pour stocker le programme:).
Tout monter
Pour son montage j'ai attaché le moteur à un support en métal et mis une sorte de tube dessus. Ensuite, attachez simplement un cordon sur le tube et utilisez un rouleau de ruban adhésif comme poids. C'est très basique et vous pouvez être très créatif dans la façon dont vous voulez le monter.
Étape 6: Tout connecter
Une fois que l'arduino et le pi sont tous configurés, branchez simplement les deux câbles Ethernet dans votre commutateur et cela devrait être tout!
Vous pouvez le tester en surfant sur l'IP WLAN indiquée sur l'écran Oled et vous devriez voir le site. Appuyez sur rechercher des appareils pour voir si vous pouvez trouver l'appareil. S'il ne montre rien, c'est que votre arduino n'est pas bien connecté ou que l'IP que vous avez choisie n'est pas dans la même plage que celle du PI.
Une fois que vous voyez l'appareil, appuyez simplement sur la configuration. Dans le menu de configuration, vous pouvez déplacer le treuil à l'aide des flèches et tester si ses positions de début et de fin sont correctes avec le curseur.
Assurez-vous que votre contrôleur est également branché sur le shield et que son IP est à portée de celle du PI et de l'arduino.
C'est ça!
Conseillé:
Text to Speech Cliquez sur un UChip alimenté par ARMbasic et d'autres SBC alimentés par ARMbasic : 3 étapes
Text to Speech Cliquez sur un UChip alimenté par ARMbasic et sur d'autres SBC alimentés par ARMbasic : Introduction : Bonne journée. Je m'appelle Tod. Je suis un professionnel de l'aérospatiale et de la défense qui est aussi un peu un geek dans l'âme.Inspiration: Originaire de l'ère des BBS commutés, des microcontrôleurs 8 bits, des ordinateurs personnels Kaypro/Commodore/Tandy/TI-994A, quand R
Peinture traditionnelle chinoise NeoPixel Wall Art (alimenté par Arduino): 6 étapes (avec photos)
Peinture traditionnelle chinoise NeoPixel Wall Art (Powered by Arduino): Vous vous sentez un peu ennuyeux pour votre mur? Créons un art mural magnifique et facile alimenté par Arduino aujourd'hui ! Il vous suffit de passer votre main devant le cadre et d'attendre la magie ! Dans ce tutoriel, nous allons discuter de la façon de créer le vôtre
Cadre LED Pixel Art avec art d'arcade rétro, contrôlé par l'application : 7 étapes (avec images)
Cadre d'art de pixel LED avec art d'arcade rétro, contrôlé par l'application : créez un cadre d'art à LED contrôlé par une application avec 1024 LED qui affiche des pièces d'art de jeu d'arcade rétro des années 80. pouce d'épaisseur - Transparent Light Smoke from Tap Plastics
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : projet de AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC.Instructable par AJ Sapala, Fanyun Peng, Ray LC.Nous avons créé un fauteuil roulant avec des roues contrôlées par une carte Arduino, qui est à son tour contrôlée par un raspberry pi exécutant openCV via Processing
Treuil Knex à manivelle : 8 étapes
Treuil Knex à manivelle : j'ai décidé de le construire parce que j'ai essayé de trouver un moyen de tirer une ligne droite pour soulever des objets et les moteurs knex n'ont tout simplement pas assez de couple