Il s'agit d'un remix de https://www.thingiverse.com/thing:2147179
Pourquoi faire une telle chose alors que votre Snapmaker Artisan a déjà des capteurs de filament intégrés ? Parce que quand on utilise OctoPrint, OctoPrint ne peut pas utiliser les capteurs d'origine de la Snapmaker (bordel de merde) et il faut ajouter des capteurs externes en les connectant directement à OctoPi.
Mes solutions vous permettent de surveiller les deux filaments et de recevoir un email immédiat lorsque le filament est épuisé. Vous avez suffisamment de temps (environ un mètre de filament restant) pour aller à la machine et insérer le nouveau filament juste après l'ancien, sans faire de pause, d'arrêt ou toute autre distraction dans le processus d'impression.
MATÉRIEL
1) Imprimez tout une fois sauf le couvercle (x2) et le corps (x2).
2) Insérer l'électronique dans les corps et fermer les couvercles.
3) Coller la balle sur l'un des corps (voir photos).
4) Monter le tout sur le boîtier de l'Artisan à l'aide de vis M3x20 (j'en avais une d'origine de Snapmaker, cherchez dans vos affaires).
5) Connecter le premier capteur (par exemple celui avec le matériau principal) aux broches de la carte. Sur le Raspberry Pi, il s'agit des broches 1 (VCC), 9 (GND) et 7/GPIO4 (OUT). Bien sûr, vous pouvez utiliser d'autres broches selon leur fonction.
6) Connectez le second capteur (par exemple celui avec le matériau de ) aux broches de la carte. Sur le Raspberry Pi, il s'agit des broches 17 (VCC), 20 (GND) et 18/GPIO24 (OUT). Vous pouvez bien sûr utiliser d'autres broches selon leur fonction.
PLUGIN
Rappelez-vous que si vous avez acheté le capteur recommandé (YL-99), ce capteur est normalement ouvert (cela signifie que lorsque le filament est absent, le capteur est ouvert).
Quel plugin utiliser ?
L'auteur recommande https://github.com/nickmitchko/Octoprint-Filament-Reloaded mais il ne prend pas en charge deux capteurs.
Le plugin https://github.com/LuckyX182/Filament_sensor_simplified ne e également qu'un seul capteur mais il est recommandé à des fins de test (lorsque vous branchez vos capteurs pour la première fois). Il dispose d'un bouton "test" qui peut vous assurer que vous avez installé le matériel comme il se doit.
Après avoir testé avec succès, enlevez le plugin et installez https://github.com/vitormhenrique/OctoPrint-Enclosure (n'ayez pas peur qu'il soit obsolète, il fonctionne toujours très bien). J'ai configuré ceci en ajoutant une sortie et deux entrées :
SORTIE
Type de sortie : Script Shell
Label : Alarme de changement de filament
Script : /home//sendEmail -q -f "[email protected]" -t [email protected] -u "Imprimante 3D : fin de filament" -m "Vous devez changer de filament MAINTENANT." -s smtp.server.com -o tls=no -o message-charset=utf-8 -xu [email protected] -xp secret
Vous pouvez obtenir ce script à partir de https://github.com/zehm/sendEmail
INPUT1
Étiquette : Capteur du premier filament
Type d'entrée : Entrée GPIO
Type d'action : Contrôle de sortie
Numéro d'entrée IO : 4
Résistance d'attraction d'entrée : Pullup d'entrée
Déclenchement d'événement : Montée
IO contrôlées : Alarme de changement de filament
INPUT2
Étiquette : Deuxième capteur de filament
Type d'entrée : Entrée GPIO
Type d'action : Contrôle de sortie
Numéro d'entrée IO : 4
Résistance d'attraction d'entrée : Pullup d'entrée
Déclenchement d'événement : Montée
IO contrôlées : Alarme de changement de filament