Non je cherche juste à savoir comment reconnaître les différentes positions de l'interrupteur et comment on déclarer les différentes variables pour que l'interrupteur fonctionne parfaitement.
Je suis nouveau dans l'Arduino et je cherche comment programmer deux interrupteurs: - Quand Interrupteur 1 est en position 1 et Interrupteur 2 en position 1 alors déclencher une alarme. - Quand Interrupteur 1 est en position 1 et Interrupteur 2 en position 2 alors déclencher 1 fois une la led verte pendant 5 secs. - Quand Interrupteur 1 est en position 2 et Interrupteur 2 en position 1 alors déclencher 1 fois la led verte et 1 fois la led rouge pendant 5 secs. - Quand Interrupteur 1 est en position 2 et Interrupteur 2 en position 2 alors déclencher la led rouge pendant 5 secs.
Nous avons un projet qui est devenu réalité et qui sera présenté lors des futures olympiades des sciences de l'ingénieur la semaine prochaine. Le but du projet était de réalisé un robot sauteur similaire à celui-ci: Pour cela nous avons utilisé une carte arduino mega 2560, deux servomoteurs pour l'inclinaison avant le saut, deux moteurs cc pour faire avancer le robot, un vérin pneumatique et son distributeur pour propulser le robot, et un afficheur 7 segments pour montrer le déroulement des étapes. Nous avons programmé le robot, ce qui à donné le code suivant, en pièce jointe.
Le but de se programme est de permettre au robot de faire les mouvements suivants:
- Etape 0: La chambre 1 du distributeur se met en position de telle sorte qui la tige du vérin sorte - Etape 1: Le robot accélère - Etape 2: Le robot décellère - Etape 3: Le robot s'arrête - Etape 4: Les servomoteurs se mettent en position inital, angle de 180° - Etape 5: Les servomoteurs se placent en un angle donné, ex 45° - Etape 6: La chambre 2 du distributeur se met en position pour faire sortir la tige - Etape 7: La chambre 1 du distributeur se met en position pour faire rentrer la tige - Etape 8: Les servomoteurs se mettent en position initial
Les distributeur: distributeur pneumatique 5/2 de 24 VDC qui se contrôle avec une impulsion pour la chambre 1 et 2 Moteurs cc: Moteurs cc de 6-9 V Servomoteurs: couple de 4.5 kg/cm² alimenté sur 5 V Vérin: pneumatique, pas besoin de le contrôler car le distributeur s'en charge Afficheur 7 segments: TDSR 5150 Résistance: 8 de 270 kohm pour le sept segment et 1 de 10 kohm pour chaque moteurs cc Transistors: 1 BC337 pour chaque moteurs cc Alimentations: 9V pour carte arduino, 15 V pour distributeur 1 et 2, 9V pour moteurs cc 1 et 2, 5V pour servo 1 et 2 sur arduino.
Lorsque je téléverse le programme sur la carte, aucune erreur mais le programme ne marche pas, à quoi est-ce dû?
Quelles sont les résistance que je dois utiliser pour chacune des chambres du distributeur? Et les transistors? Et les roues leds?
Comment générer qu'une seule impulsion pour le distributeur 1 et 2? J'ai mis une valeur de 127.
Comment contrôler le robot avec ce programme en wifi (avec un wifi shield arduino) en appuyant sur un bouton pour mise en marche moteur, arrêt, angle servomoteur, propulsion du robot?
Bonjour, j'ai un programme pour contrôler des servomoteurs, deux plus exactement et je cherche comment intégrer deux afficheurs 7 segments dont j'ai aussi le code pour que lorsque que j'ai:
Code:
mon_servo.write(62);
les deux afficheurs 7 segments affichent "62"
Comment faire? 62 est qu'un exemple et dans mon code la variable est mon_servo et est complètement aléatoire, je veux donc que les afficheurs affichent la variable qui est comprise entre 0 et 90.
J'ai un digits et une carte arduino mega 2560 avec déjà dessus les pins 13,12,11,10,9 et 8 en PWM occupés. Il me faut 8 pins pour le digit, est ce que je peux le mettre sur le pins digitaux? (22,24,26,28,30,32,34 et 36).
Comment ça? La fonction millis? Je ne l'ai jamais utilisée, comment faire pour ce programme? Je veux juste qu'après que le moteur deccélère, il se stoppe complètement et ne redémarre surtout pas ou ne recommance pas la boucle.
J'ai essayé de mettre la boucle millis et delay mais il ne s'arrête toujours pas:
Code:
// déclarer la variable pour contenir la pin associée au moteur int pinMoteur = 9;
void setup() { // spécifier que la pin liée au moteur est une sortie pinMode(pinMoteur, OUTPUT); }
void loop() { unsigned long time = millis();
while( millis() - time < 5000) { // boucle pour faire accélérer le moteur for (int i = 0 ; i <= 255 ; i++) { //envoyer la valeur de 0 à 255 analogWrite( pinMoteur, i); // attendre 10 millisecondes pour donner le temps de réaliser l'accélération delay(10); }
// boucle pour faire décélérer le moteur for (int j = 0 ; j <= 255 ; j++) { //envoyer la valeur de 255 à 0 analogWrite( pinMoteur, 255 - j); // attendre 10 millisecondes pour donner le temps de réaliser l'accélération delay(10); } } }
Et quelle valeur de résistance je dois mettre dans le circuit (2.2 K ohm suffit?)?
J'ai ce programme pour contrôler un moteur courant continu de 9V, le programme le fait accélérer et déccélérer , jusqu'à la, tout va bien mais le problème ce que je veux qu'au bout de 5 secs, il s'arrête complètement et ne redémarre plus. Comment faire?
Code:
// déclarer la variable pour contenir la pin associée au moteur int pinMoteur = 9;
void setup() { // spécifier que la pin liée au moteur est une sortie pinMode(pinMoteur, OUTPUT); }
void loop() { // boucle pour faire accélérer le moteur for (int i = 0 ; i <= 255 ; i++) { //envoyer la valeur de 0 à 255 analogWrite( pinMoteur, i); // attendre 10 millisecondes pour donner le temps de réaliser l'accélération delay(10); }
// boucle pour faire décélérer le moteur for (int j = 0 ; j <= 255 ; j++) { //envoyer la valeur de 255 à 0 analogWrite( pinMoteur, 255 - j); // attendre 10 millisecondes pour donner le temps de réaliser l'accélération delay(10); } }
Ensuite, je voudrais savoir comment faire pour au lieu contrôler un moteur, en contrôler deux. Dans mon circuit, j'utilise un transistor NPS BC337, une résistance de 2.2 Kohm, une diode de roue libre, une pile de 9 V et une arduino mega.
le branchement est comme en pièce jointe. Et il marche très bien en réalité. Merci. Edwin
Oui mais non, le transistor le permettrait de brancher les moteurs sur la carte, un transistor pour chaque moteurs car les moteurs n'ont que deux fils, un rouge et un noir.