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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
| /****************************************************
*****************************************************
!! TOLERANCE A INDIQUER MANUELLEMENT !!
*****************************************************
*****************************************************/
float Tol_Min = 0.3; float Tol_Max = 0.3; // Tolérances à modifier manuellement
float TA0 = 0; // Variable sans la tolérance à tester
float Tol_A0 =3.0; // Variable fixe qui sert de base pour la tolérance.
/*****************************************************
Déclaration des Pins d'entrées analogiques
******************************************************/
const int AI_A0 = A0, AI_A1 = A1, AI_A2 = A2, AI_A3 = A3, // PIN d'entrées analogiques sur les quels
AI_A4 = A4, AI_A5 = A5, AI_A6 = A6, AI_A7 = A7, // sont reliés des composants
AI_A8 = A8, AI_A9 = A9, AI_A10 = A10, AI_A11 = A11;
/****************************************************
Déclaration des Variables des data d'entrées
*****************************************************/
int sensorValue_A0 = 0, sensorValue_A1 = 0, sensorValue_A2 = 0, //Déclaration des variables en INT
sensorValue_A3 = 0, sensorValue_A4 = 0, sensorValue_A5 = 0,
sensorValue_A6 = 0, sensorValue_A7 = 0, sensorValue_A8 = 0,
sensorValue_A9 = 0, sensorValue_A10 = 0, sensorValue_A11 = 0;
/****************************************************
Déclaration des Variables flottantes pour mesures
*****************************************************/
float V_A0 = 0, V_A1 = 0, V_A2 = 0, V_A3 = 0, // Déclaration des variables en flotantes pour les port :
V_A4 = 0, V_A5 = 0, V_A6 = 0, V_A7 = 0, // A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11
V_A8 = 0, V_A9 = 0, V_A10 = 0, V_A11 = 0;
/***********************************************
************************************************
SETUP DU PROGRAMME
************************************************
************************************************/
void setup()
{
Serial.begin(19200); // Initialise la comunication série à 9600 Bauds.
}
/***********************************************
************************************************
DEBUT DU PROGRAMME
************************************************
************************************************/
void loop() {
analogReadResolution(12); //règle la résolution sur 12 bits
// *****************************************
// Port A0
//******************************************
sensorValue_A0 = analogRead(AI_A0); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A0 = sensorValue_A0; //Incrémente sensorValue dans la variale V_A0
TA0 = V_A0*(3.3/4096);
Serial.print("A0_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A0,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A0_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A0*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A0_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A0*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A0_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.print(((V_A0*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
// Serial.println(((V_A0*(6.0/4096))+0.1),4); //la précision).
if(TA0 > Tol_A0 + Tol_Max || TA0 < Tol_A0 - Tol_Min )
{ Serial.println("\t N_OK "); }
else
{ Serial.println("\t OK ");}
// *****************************************
// Port A1
//******************************************
/*
sensorValue_A1 = analogRead(AI_A1); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A1 = sensorValue_A1; //Incrémente sensorValue dans la variale V_A0
Serial.print("A1_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A1,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A1_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A1*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A1_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A1*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A1_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A1*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A2
//******************************************
sensorValue_A2 = analogRead(AI_A2); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A2 = sensorValue_A2; //Incrémente sensorValue dans la variale V_A0
Serial.print("A2_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A2,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A2_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A2*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A2_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A2*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A2_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A2*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A3
//******************************************
sensorValue_A3 = analogRead(AI_A3); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A3 = sensorValue_A3; //Incrémente sensorValue dans la variale V_A0
Serial.print("A3_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A3,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A3_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A3*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A3_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A3*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A3_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A3*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A4
//******************************************
sensorValue_A4 = analogRead(AI_A4); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A4 = sensorValue_A4; //Incrémente sensorValue dans la variale V_A0
Serial.print("A4_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A4,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A4_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A4*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A4_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A4*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A4_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A4*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A5
//******************************************
sensorValue_A5 = analogRead(AI_A5); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A5 = sensorValue_A5; //Incrémente sensorValue dans la variale V_A0
Serial.print("A5_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A5,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A5_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A5*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A5_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A5*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A5_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A5*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A6
//******************************************
sensorValue_A6 = analogRead(AI_A6); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A6 = sensorValue_A6; //Incrémente sensorValue dans la variale V_A0
Serial.print("A6_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A6,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A6_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A6*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A6_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A6*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A6_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A6*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A7
//******************************************
sensorValue_A7 = analogRead(AI_A7); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A7 = sensorValue_A7; //Incrémente sensorValue dans la variale V_A0
Serial.print("A7_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A7,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A7_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A7*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A7_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A7*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A7_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A7*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A8
//******************************************
sensorValue_A8 = analogRead(AI_A8); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A8 = sensorValue_A8; //Incrémente sensorValue dans la variale V_A0
Serial.print("A8_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A8,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A8_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A8*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A8_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A8*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A8_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A8*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A9
//******************************************
sensorValue_A9 = analogRead(AI_A9); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A9 = sensorValue_A9; //Incrémente sensorValue dans la variale V_A0
Serial.print("A9_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A9,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A9_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A9*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A9_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A9*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t\t A9_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A9*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A10
//******************************************
sensorValue_A10 = analogRead(AI_A10); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A10 = sensorValue_A10; //Incrémente sensorValue dans la variale V_A0
Serial.print("A10_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A10,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A10_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A10*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A10_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A10*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t A10_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A10*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
// *****************************************
// Port A11
//******************************************
sensorValue_A11 = analogRead(AI_A11); //Lis les valeurs analogiques du port AO et donne ces valeurs à sensorValue
V_A11 = sensorValue_A11; //Incrémente sensorValue dans la variale V_A0
Serial.print("A11_HEXA = " ); //affiche "A0_HEXA="
Serial.print(sensorValue_A11,HEX); //Affiche la valeur actuel du potentiomètre (sur une résolution de 12 bits)
Serial.print("\t\t A11_3.3V = "); //Affiche "VA0_3.3V ="
Serial.print(V_A11*(3.3/4096),4); //Affiche la valeur de V_A0 en 3.3V (le nb après la "," augmente la précision).
Serial.print("\t A11_6V = "); //Affiche "VA0_6V = "
Serial.print(V_A11*(6.0/4096),4); //Affiche la valeur de V_A0 en 6V (le nb après la "," augmente la précision).
Serial.print("\t A11_6V_Corr = "); //Affiche "A0_6V_corr = "
Serial.println(((V_A11*(6.0/4096))+0.1),4); //Affiche la valeur de V_A0 en 6V + une correction. (le nb après la "," augmente
//la précision).
*/
delay(1); //Attente de 2MS pour laisser le temps de convertir et de traiter les datas
} |