Étape 1: Mesure de capacité avec l’Arduino Uno
Il y a beaucoup d’exemples de la façon de le faire sur internet, mais je vais proposer une manière incroyablement simple à elle. Commençons par la théorie.
code de l’Arduino
const int OUT_PIN = A2 ;
const int IN_PIN = A0 ;
Capacité entre capacité de //Stray IN_PIN et de la terre est toujours présente. Capacité supplémentaire peut être ajoutée à capacité plus élevée de //allow à mesurer. const char IN_STRAY_CAP_TO_GND = 24.48 ; au départ, il s’agissait de 30.00 const char IN_EXTRA_CAP_TO_GND = 0.0 ; const char IN_CAP_TO_GND = IN_STRAY_CAP_TO_GND + IN_EXTRA_CAP_TO_GND ; const int MAX_ADC_VALUE = 1023 ;
void setup() {pinMode (OUT_PIN, OUTPUT); //digitalWrite (OUT_PIN, LOW); //This est l’État par défaut pour les sorties pinMode (IN_PIN, OUTPUT); //digitalWrite (IN_PIN, basse) ;
Serial.Begin(9600) ; }
void loop() {//Capacitor l’essai entre OUT_PIN et IN_PIN //Rising bord élevé sur OUT_PIN pinMode (entrée, IN_PIN); digitalWrite (OUT_PIN, HIGH); int val = analogRead(IN_PIN) ;
Effacer tout pour la prochaine mesure digitalWrite (OUT_PIN, basse) ; pinMode (IN_PIN, sortie) ;
Calculer et imprimer le résultat
float capacité = (float) val * IN_CAP_TO_GND / (float) (MAX_ADC_VALUE - val) ;
Serial.Print (F ("valeur capacitive =")) ; Serial.Print (capacitance, 3) ; Serial.Print (F ("pF (")) ; Serial.Print(Val) ; Serial.println(F(")")) ;
tandis que (millis() % 500! = 0) ; }
Merci