वर्तमान में, मेरा स्केच हर बार मुख्य लूप के चक्कर में एक इनपुट पिन की जाँच कर रहा है। यदि यह किसी परिवर्तन का पता लगाता है, तो यह प्रतिक्रिया करने के लिए एक कस्टम फ़ंक्शन को कॉल करता है। यहाँ कोड (आवश्यक के लिए छंटनी की गई है):
int pinValue = LOW;
void pinChanged()
{
//...
}
void setup()
{
pinMode(2, INPUT);
}
void loop()
{
// Read current input
int newValue = digitalRead(2);
// Has the input changed?
if (newValue != pinValue) {
pinValue = newValue;
pinChanged();
}
}
दुर्भाग्य से, यह हमेशा इनपुट (जैसे संक्षिप्त दालों) पर बहुत कम बदलावों के लिए ठीक से काम नहीं करता है, खासकर अगर loop()
थोड़ा धीरे चल रहा है।
क्या Arduino को इनपुट परिवर्तन का पता लगाने और मेरे फ़ंक्शन को स्वचालित रूप से कॉल करने का एक तरीका है?