Étape 2: Programmer le micro-contrôleur
//-=-=-=-=-=-=-=-=-=-
#define SENSE_PIN 2
#define PULSE_PIN 3
#define FAN_PIN 5
#define FAN_DELAY 180000
#define FAN_RUN_TIME 180000
detectState booléen volatil ;
void setup() {}
pinMode (13, sortie) ;
pinMode (PULSE_PIN, sortie) ;
pinMode (entrée, SENSE_PIN) ;
pinMode (FAN_PIN, sortie) ;
digitalWrite (SENSE_PIN, basse) ;
}
void loop() {}
testBeam() ;
Delay(1000) ;
}
void testBeam() {}
/*
Réveil, pulse l’émetteur IR pendant l’écoute d’un faible interruption sur le phototransistor.
Si c’est faible au cours de l’impulsion, quelque chose bloque le faisceau, donc activer le ventilateur.
*/
detectState = true ;
attachInterrupt (0, & beamInterrupt, changent) ;
digitalWrite (PULSE_PIN, élevé) ;
Delay(200) ; MS
detachInterrupt(0) ;
digitalWrite (PULSE_PIN, basse) ;
Si {(detectState)
digitalWrite (13, HIGH) ;
Delay(FAN_DELAY) ;
digitalWrite (FAN_PIN, élevé) ;
Delay(FAN_RUN_TIME) ;
digitalWrite (FAN_PIN, basse) ;
digitalWrite (13, faible) ;
}
Delay(20) ;
}
void beamInterrupt() {}
detectState = false ;
}
//-=-=-=-=-=-=-=-=-=-=-
Si vous utilisez un Arduino Uno, Mini ou autre USB compatible Arduino, vous avez besoin simplement de le brancher dans, sélectionnez le Conseil approprié dans les outils -> Conseil d’administration du menu et cliquez sur le bouton "Upload". Il devrait prendre seulement quelques secondes. Si votre tableau comporte des en-têtes programmation série-style, vous aurez besoin d’utiliser un adaptateur série FTDI plutôt. Vous utilisez probablement une carte basée sur le Duemillanove. Si vous n’êtes pas sûr de ce qu’il faut sélectionner dans Outils -> Conseil d’administration, le fabricant de votre carte mère peut probablement vous dire.
À des fins de prototypage, vous aurez envie de modifier les valeurs pour FAN_DELAY et FAN_RUN_TIME au-dessus de quelque chose de beaucoup plus petite. N’oubliez pas que ces valeurs sont en millisecondes (un millième de seconde). Quand vous pouvez rompre le faisceau et démarrer le ventilateur, changer le programme vers les valeurs ci-dessus ou tout ce qui convient le mieux à vous (et votre chat.)