Machine_a_Dessiner_Arduino
Machine_a_Dessiner_Arduino
Machine_a_Dessiner_Arduino
Arduino
Dans ce projet, nous allons construire une machine à dessiner contrôlée par Arduino,
utilisant deux moteurs pas à pas pour déplacer un stylo sur un support. Le système
comprendra un L298N pour contrôler un moteur pas à pas et des transistors pour contrôler
le deuxième moteur. Un servo moteur sera utilisé pour lever et abaisser le stylo. Nous
utiliserons également des logiciels gratuits pour concevoir et envoyer les dessins à la
machine.
Matériel nécessaire
1. 1 x Arduino Uno/Nano.
2. 1 x L298N pour contrôler un moteur pas à pas bipolaire.
3. 4 x Transistors NPN (ex : BC547 ou 2N2222).
4. 4 x Résistances (1 kΩ) pour les bases des transistors.
5. 4 x Diodes de roue libre (1N4007).
6. 2 x Moteurs pas à pas (4 fils, bipolaires).
7. 1 x Servo moteur (pour lever/baisser le stylo).
8. 1 x Feutre ou stylo.
9. 1 x Carte en bois ou plastique pour servir de cadre.
10. Source d’alimentation externe pour les moteurs (5V ou 12V selon les moteurs).
Schéma de câblage
Le câblage implique deux parties principales :
1. **Moteur X** : Connecté à l'Arduino via un L298N (contrôle des déplacements
horizontaux).
2. **Moteur Y** : Connecté à l'Arduino via des transistors NPN (contrôle des déplacements
verticaux).
3. **Servo** : Connecté à l'Arduino pour lever et abaisser le stylo.
Le câblage sera réalisé de manière à ce que chaque moteur et chaque composant soit
alimenté et contrôlé efficacement.
Code Arduino
Voici un exemple de code pour contrôler la machine à dessiner. Ce code utilise les moteurs X
et Y pour dessiner un carré, avec le contrôle du servo pour lever et abaisser le stylo.
#include <AccelStepper.h>
#include <Servo.h>
void setup() {
// Initialisation des moteurs
motorX.setMaxSpeed(1000);
motorX.setAcceleration(500);
motorY.setMaxSpeed(1000);
motorY.setAcceleration(500);
// Initialisation du servo
penServo.attach(10);
penServo.write(90); // Lever le stylo (position neutre)
delay(1000);
}
void loop() {
drawSquare(100); // Dessiner un carré de 100 unités
while (true); // Stopper après avoir dessiné
}
motorY.moveTo(size); // Déplacement Y
motorY.runToPosition();
motorX.moveTo(0); // Retour X
motorX.runToPosition();
motorY.moveTo(0); // Retour Y
motorY.runToPosition();
void penDown() {
penServo.write(0); // Abaisser le stylo
delay(500);
}
void penUp() {
penServo.write(90); // Lever le stylo
delay(500);
}
Conclusion
Ce projet de machine à dessiner avec Arduino est une excellente opportunité pour
apprendre à combiner la mécanique et l'électronique. Avec les moteurs pas à pas, les
transistors et un servo moteur, tu peux créer des dessins automatisés en utilisant un code
simple. Les logiciels gratuits comme Inkscape et Universal Gcode Sender permettent de
concevoir et de gérer des dessins complexes pour ta machine.