الجمعة، 13 أبريل 2018

السيطرة على دايود ضوئي عن طريق زر واحد - control led by one push butten



كود البرمجة


int buttonPin = 2; // the number of the pushbutton pin
int ledPin = 13; // the number of the LED pin
boolean on=false;

int buttonState = 0; 

void setup() {
pinMode(ledPin, OUTPUT); 
pinMode(buttonPin, INPUT); 
}

void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) { 
if(on==true){
on=false;
} else{
on=true;
}
}

if (on == true) { 
digitalWrite(ledPin, HIGH); 
}
else {
digitalWrite(ledPin, LOW);
}

delay(500); 

}


تشغيل واطفاء دايود ضوئي عن طريق زر واحد بطريقة milliSeconds

هل لديك تطبيق حيث تريد عدة أزرار لإدخالات المستخدم المختلفة؟ ربما لديك جهاز توقيت وتريد زر واحد للدقائق وآخر لساعات.

ولكن هناك مشكلة - لديك فقط مساحة لزر واحد!

المواد المطلوبة

اردوينو من اي نوع كان
اسلاك التوصيل
مقاومة 220 اوم
دايود ضوئي



كود البرمجة


int optionOne_milliSeconds = 100;
int optionTwo_milliSeconds = 2000;        
//The Pin your button is attached to
int buttonPin = 2;
//Pin your LEDs are attached to
int ledPin_Option_1 = 13;
int ledPin_Option_2 = 12;
void setup(){
  pinMode(buttonPin, INPUT_PULLUP);    
  //set the LEDs pins as outputs
  pinMode(ledPin_Option_1, OUTPUT);
  pinMode(ledPin_Option_2, OUTPUT);
  Serial.begin(9600);                                    
} // close setup
void loop() {
  while (digitalRead(buttonPin) == LOW ){
    delay(100);  
    Serial.print("ms = ");
    Serial.println(pressLength_milliSeconds);
  if (pressLength_milliSeconds >= optionTwo_milliSeconds){
    digitalWrite(ledPin_Option_2, HIGH);    
  }
  else if(pressLength_milliSeconds >= optionOne_milliSeconds){
    digitalWrite(ledPin_Option_1, HIGH);  
  }