:: مهندس متميز ::
تاريخ التسجيل: 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; }
}
و ما توفيقى الا بالله
الحمد لله الذى بنعمته تتم الصالحات
|