| 
		
			
			| :: مهندس متميز :: 
					تاريخ التسجيل: Oct 2015 
						المشاركات: 620
					      | 
			
			
			 | 
نشاط [ مشتاق الله ] قوة السمعة:0  |  | 
			
			
			 28-04-2017, 08:26 PM
			
			
			
المشاركة 2 |  | 
	
	| 
				
                  
 
			
			بسم الله الرحمن الرحيم 
 بفضل الله اليك محاولة الكود , اذا كان هناك تعديل مطلوب فيرجى الاسترسال فى الشرح للمطلوب ,
 مع مراعاة ان مثلا الكود 1100  = pin4, pin3, pin2, pin1
 
 
 
	و ما توفيقى الا باللهكود: #include <Arduino.h> 
char counter = 0;
char data = 0;
long start_time = 0;
 void setup() { 
 //configure output pin as 0
 pinMode(10, OUTPUT); digitalWrite(10, 0); 
 //configure input pins to be inputs 
 pinMode(1, INPUT_PULLUP); 
 pinMode(2, INPUT_PULLUP); 
 pinMode(3, INPUT_PULLUP); 
 pinMode(4, INPUT_PULLUP); 
 } 
 void loop()  { 
 data = 0;
 data = ((digitalRead(1) << 0) | (digitalRead(2) << 1) | (digitalRead(3) << 2) | (digitalRead(4) << 3));
 
 if ((data == 0b1100) && (counter == 0))       { counter = 1; start_time = millis(); }// first code received is 1100 
  
 else if ((data == 0b0110) && (counter == 1))  { counter = 2; } // second code received is 0110 
 
 else if ((data == 0b0011) && (counter == 2))  { counter = 3; digitalWrite(10, 1); }// third code received is 0011 // turn on the output pin 10 
 else if ((data == 0b0111) && (counter == 3))  { digitalWrite(10, 0); counter = 0; } // turn off output pin 10, code received is 0111 
 if ( ((millis() - start_time) > 10000) && (counter !=0) ) { counter = 0; }
} الحمد لله الذى بنعمته تتم الصالحات
 
 
 
 
 |