Contrôler un vérin ARDUINO

a marqué ce sujet comme résolu.

Donc par exemple une condition IF comme j'ai fait ( pour l'heure) avec une boucle WHILE dedans, => tant que le capteur de fin de cours n'est pas activé on continu la PWM) ?

PS Vu que le code est mal fait, je vais le refaire en incluant deux capteur de fin de cours (enfin le mieux ça serait que le vérin intègre déjà ces capteurs, ça serait plus sur)

Merci pour ta réponse

j'ai tenter de refaire un code qui me semble pourvoir fonctionner, j'ai inclut deux capteur de début et fin de cours (type bouton poussoir/commutateur fin de cours)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <Wire.h>
#include <RTClib.h>

const int IN_gauche = 3; // driver gauche
const int IN_droite = 5; // driver droite
const int sd = 6;
const int capteur1 = 11; // capteur debut de cours
const int capteur2 = 12; // capteur fin de cours

boolean etat_verin; 

RTC_DS1307 RTC;

void setup() 
{
  Serial.begin(57600);
  Wire.begin();
  RTC.begin();

  etat_verin = HIGH; // le verin est relacher mais l'instalation sera mise après 5h et avant 17H pour ne pas fausser le programme 

  pinMode(IN_gauche, OUTPUT); // les drivers sont en sortie
  pinMode(IN_droite, OUTPUT);
  pinMode(sd, OUTPUT);
  pinMode(capteur1, INPUT); // capteur en entré
  pinMode(capteur2, INPUT);

  analogWrite(sd, 255); // le moteur est désaactivé
}

void loop() 
{
  DateTime now = RTC.now();

  if (now.hour() == 05 && now.minute() < 01 && etat_verin == LOW) // fonction pour relacher le verin 
 {
   etat_verin = HIGH; // pour etat poussé

   while(digitalRead(capteur1) == HIGH) // tant que le capteur n'est pas en etat LOW donc activé, on continu
   {
   analogWrite(sd, 0);
   analogWrite(IN_gauche, 191); // pwm à 50% des capacitées du moteur
   analogWrite(IN_droite, 64);
   } 
 } 

  if (now.hour() == 17 && now.minute() < 01 && etat_verin == HIGH) // fonction pour pousser le vérin
  {    
    etat_verin = LOW; // pour etat laché

    while(digitalRead(capteur2) == HIGH)
    {
    analogWrite(sd, 0);
    analogWrite(IN_gauche, 64); // pwm à 50% des capacitées du moteur
    analogWrite(IN_droite, 191);
    }       
  }

  else
  {
   analogWrite(sd, 255); // sinon on arète le moteur 
  } 
}

PS quel est le moyen le plus simple de faire un typon sur logiciel ou papier, par ce que j'ai du mal avec les croisements et l’intégration de fils de 0.75mm² pour la partie qui reçois les 5 ampères ?

Merci pour votre aide, précieuse =)

+0 -0

PS quel est le moyen le plus simple de faire un typon sur logiciel ou papier, par ce que j'ai du mal avec les croisements et l’intégration de fils de 0.75mm² pour la partie qui reçois les 5 ampères ?

Si tu veux j'avais fait un article sur les suites de design électronique gratuite : http://eskimon.fr/2365-les-suites-design-electroniques

+0 -0

J'utilise fritzing que j'ai connu grâce à ton tuto' sur l’électronique programmé, qui ma fait découvrir l'électronique et je t'en remercie en passent =)

Sinon fritzing en bien, facile à prendre en main, mais le problème c'est la création de composant (il n'y à pas le driver IR 2104), j'ai essayer de le remplacer pas un autre très similaire mais je ne suis pas sur qu'il est de la même dimension et je n'est pas trouvé comment on édit les dimensions (j'ai juste changer le nom nom broche)

De plus il faudra surement que j'utilise des cavaliers et leur dimensions ne sont pas marqué sur fritzing

Enfin bref peut être qu'un logiciel comme "eagle" serait plus "précis" ?

Autrement le code, tu ne vois rien qui cloche ?

Merci pour ta réponse =)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte