mirac4465
Üye
- Katılım
- 29 Ağu 2022
- Mesajlar
- 2
- Puanları
- 1
- Yaş
- 24
merhabalar arduino uno ile bir dengeleme kartı yapmak istiyorum fakat röle tetiklemesinde sıkıntı yaşıyorum röleler tam tetiklenmiyor. Yardımcı olurmusunuz.
Kod:
#include <MPU6050_tockn.h>
#include <Wire.h>
const int ON1=12;
const int OF1=11;
const int ON2=10;
const int OF2=9;
const int role1=A0;
const int role2=A1;
const int role3=A2;
const int role4=A3;
int ref=0;
MPU6050 mpu6050(Wire);
void setup() {
Serial.begin(115200);
pinMode(ON1, INPUT);
pinMode(OF1, INPUT);
pinMode(ON2, INPUT);
pinMode(OF2, INPUT);
pinMode(role1,OUTPUT);
pinMode(role2,OUTPUT);
pinMode(role3,OUTPUT);
pinMode(role4,OUTPUT);
//MPU sens�r ba?latma ayarlar?. ?lk ba?lamada kart? stabil tutun. Gyro ofsetleri belirler.
Wire.begin();
mpu6050.begin();
mpu6050.calcGyroOffsets(true);
}
void loop() {
ref=digitalRead(ON1);
if (ref==HIGH) {
digitalWrite(role3,HIGH);
digitalWrite(role4,LOW);
}
ref=digitalRead(OF1);
if (ref==HIGH) {
digitalWrite(role3,LOW);
}
ref=digitalRead(ON2);
if (ref==HIGH) {
digitalWrite(role4,HIGH);
digitalWrite(role3,LOW);
}
ref=digitalRead(OF2);
if (ref==HIGH) {
digitalWrite(role4,LOW);
}
int leddurum=mpu6050.getAngleY();
if (leddurum>3 )
{
digitalWrite(role1, HIGH);
digitalWrite(role2, LOW);
}
if (leddurum< -3)
{
digitalWrite(role2, HIGH);
digitalWrite(role1, LOW);
}
else
{
digitalWrite(role1, LOW);
digitalWrite(role2, LOW);
}
}
Son düzenleme: