Branchements d'électrovannes, code arduino et interfaçage de puissance Uln2003

Bonjour !
Je suis en terminale SI et dans le cadre de notre PPE je travaille avec mon groupe sur un projet de distributeur de boisson (alias " machine à cocktails"). Nous sommes débutants en Arduino.

La machine se compose de cinq électrovannes et d’un moteur pas à pas (qui déplace le verre sous les vannes).
Pour ce faire nous avons une Arduino mega 2560 et le motor shield 1298p.
Notre shield a été modifié pour que le pas à pas soit alimenté par une alim externe, donc la connexion VIN a été coupée(https://www.dropbox.com/s/tiuuwoz2pjfookd/MotorShield_R3_Back_modif.jpg) , et occupe les broches 12, 13, 3 et 11 (dirA, dirB, pwmA, pwmB).

Maintenant il s’agit de brancher les électrovannes, et c’est là que je vais implorer votre aide.
Nous utilisons un ULN2003a (http://www.ti.com/lit/ds/symlink/uln2003a.pdf) pour réaliser l’interfaçage avec nos électrovannes qui fonctionnent en 20V.
J’ai fait plusieurs tentatives de montages, et finalement je ne sais pas si le problème vient de mon code, de ma déclaration de constantes de broches, ou de mes branchements.

const int vanne= 8; //broche 
const int tpsvanne=1000;
void setup(){
pinMode(vanne,OUTPUT);//la vanne en sortie
}
void loop(){
  analogWrite(vanne,HIGH); 
  delay(tpsvanne);
  analogWrite(vanne,LOW);
  delay(2000);
}

D’ailleurs, est-ce bien une sortie analogique sur laquelle on doit brancher les électrovannes ? Comment (et peut-on) utiliser les ports restants sur le motorshield ?
Merci d’avance !

Nicolas_Rosa:
D’ailleurs, est-ce bien une sortie analogique sur laquelle on doit brancher les électrovannes ? Comment (et peut-on) utiliser les ports restants sur le motorshield ?
Merci d’avance !

une electrovanne dans ce cas ça ce gere en tout ou rien

essaye déjà ça :

const int vanne= 8; //broche 
const int tpsvanne=1000;
void setup(){
pinMode(vanne,OUTPUT);//la vanne en sortie
}
void loop(){
  digitalWrite(vanne,HIGH); 
  delay(tpsvanne);
  digitalWrite(vanne,LOW);
  delay(2000);
}

Merci pour la réponse !

une electrovanne dans ce cas ça ce gere en tout ou rien

Le tout ou rien implique forcément une sortie digitale ? Ou est-ce que les instructions digitalwrite et analog write n'ont rien à voir avec le type de ports utilisés ?

analogWrite() utilise les pin PWM, donc commande pas utilisable sur tous. En revanche tous les pins sont digitaux, même les analogiques donc digitalWrite() est utilisable sur tous les pins