سلام .
همین اول بگم من مبتدی هستم
حالا سوالم
میخوام آردوینو رو جوری برنامه ریزی کنم که یک پبن با فشار دادن یک کلید وصل و با فشار دوباره همون کلید قطع بشه.
کسی میدونه از کدوم فرمان باید استفاده کنم؟
اگر زحمت کد هم بکشین ممنون میشم.
سلام .
همین اول بگم من مبتدی هستم
حالا سوالم
میخوام آردوینو رو جوری برنامه ریزی کنم که یک پبن با فشار دادن یک کلید وصل و با فشار دوباره همون کلید قطع بشه.
کسی میدونه از کدوم فرمان باید استفاده کنم؟
اگر زحمت کد هم بکشین ممنون میشم.
سلام
همه یه روز ی تازه شروع کردن دوست من
من معمولا تو کد نویسی این کا رو با flag تعریف می کنم
فرض کن که سوئیچ به پین شماره 3 وصله و قصد داری با این سوئیچ رفتار پین مثلا 8 رو کنترل کنی:
نمونه کدت یه همچین چیزی میشه
البته این کد برای جواب دادن نهایی یه سری delay و اینا میخواد که بدون خطا کار کنهکد:int flag = 0; void setup() { // put your setup code here, to run once: pinMode(3, INPUT); pinMode(12, INPUT); } void loop() { // put your main code here, to run repeatedly: if (digitalRead(3) == LOW) buttonAction(); } void buttonAction() { if (flag == 0) { digitalWrite(8, HIGH); flag = 1; } if (flag == 1) { digitalWrite(8, LOW); flag = 0; } }
من فقط برات نوشتم که بدونی روند کد نویسیمون چجوریه
اگر هم با آردوینو آشنایی کافی نداری به این لینک یه سر بزن
وبلاگ آردوینو | تازه ترین های آردوینو و دنیای فن آوری
بعد یک عالمه گشت و گذار به این کد رسیدم. احساس میکنم شبیه اون چیزیه که میخوام
#include <Bounce2.h>
#define BUTTON_PIN 2
#define LED_PIN 13
int ledState = LOW;
// Instantiate a Bounce object :
Bounce debouncer = Bounce();
void setup() {
// Setup the button with an internal pull-up :
pinMode(BUTTON_PIN,INPUT_PULLUP);
// After setting up the button, setup the Bounce instance :
debouncer.attach(BUTTON_PIN);
debouncer.interval(500);
// Setup the LED :
pinMode(LED_PIN,OUTPUT);
digitalWrite(LED_PIN,ledState);
}
void loop() {
// Update the Bounce instance :
debouncer.update();
// Call code if Bounce fell (transition from HIGH to LOW) :
if ( debouncer.fell() ) {
// Toggle LED state :
ledState = !ledState;
digitalWrite(LED_PIN,ledState);
}
}
اره کد خوبیه
کتابخونه دیبانس برای استفاده از سوئیچ خیلی کتابخونه خوبیه چون نیاز سخت افزاری و نرم افزاری استفاده ازسوئیچ رو به حداقل می رسونه و عملا خودش همه کارها رو کرده .
http://blog.arduino.ir/?p=506
void setup(){
pinMode(2,INPUT);
pinMode(3,OUTPUT);
digitalWrite(3,1);
}
void loop(){
if (digitalRead(2) == 1){
digitalWrite(3,!digitalRead(3));
delay(500);
}
}