- Katılım
- 27 Şubat 2019
- Mesajlar
- 12,026
Saat 02:00 ye kadar uğraştım ama belirli bir yol katettim.
En sonda
Kodlama dışında vınlama problemimiz var. 3.PCB yi yaptım. İkişer ikişer filitre kondanatörü kullandım ama namıssız hala vınlıyor.
En sonda
lastButtonState = reading;
yaptım. Herşey yerine oturdu. Kodlama açısından tek bir sıkıntı kaldı. O da Fişi prize ilk taktığımda ikinci "if" deki kapanma şartına giriyor ve buzzerı öttürüyor. Önceden böyle bir şey yoktu.
C++:
#include <Arduino.h>
#define faz 3
#define buzzer 0
#define led 1
const int buttonPin = 2;
int buttonState;
int lastButtonState = HIGH;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
int on_off =1;
unsigned long simdikiZaman, eskiZaman = 0;
void setup() {
pinMode(faz, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(led ,OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(faz, LOW);
digitalWrite(led, LOW);
digitalWrite(buzzer, LOW);
}
void loop() {
/////// BUTON DEBOUNCE KODLARI /////////////////
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
if (on_off == 0) {
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
digitalWrite(led, HIGH);
digitalWrite(faz, HIGH);
on_off = 1;
} else if (on_off == 1) {
digitalWrite(buzzer, HIGH);
delay(700);
digitalWrite(buzzer, LOW);
digitalWrite(led, LOW);
digitalWrite(faz, LOW);
on_off = 0;
}
}
}
}
///////////////////////////////////////////
lastButtonState = reading;
}
Kodlama dışında vınlama problemimiz var. 3.PCB yi yaptım. İkişer ikişer filitre kondanatörü kullandım ama namıssız hala vınlıyor.