Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
356
Tıklama
1
Öne Çıkarma
Kod Birleştirme
A
4 yıl
Er
Konu Sahibi

Arkadaşlar merhaba ben arduino ile kod yazdım fakat bunları ayrı ayrı yaptım Bunları rica etsem birleştirebilirmisiniz?
Kodlar:

1.Mesafe Sensörü Kodu

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); 
byte degree_symbol[8] = 
       {
        0b00111,
        0b00101,
        0b00111,
        0b00000,
        0b00000,
        0b00000,
        0b00000,
        0b00000
       };
int gate=11; 
volatile unsigned long duration=0;
unsigned char i[5];
unsigned int j[40];
unsigned char value=0;
unsigned answer=0;
int z=0;
int b=1;
void setup() 
{
 lcd.init();            
 lcd.init();
 lcd.backlight(); 
 lcd.print("Temp = ");
 lcd.setCursor(0,1);
 lcd.print("Humidity = ");
 lcd.createChar(1, degree_symbol);
 lcd.setCursor(9,0);
 lcd.write(1);
 lcd.print("C");
 lcd.setCursor(13,1);
 lcd.print("%");
}

void loop() 
{

 delay(1000);
 while(1)
 {
 delay(1000);
 pinMode(gate,OUTPUT);
 digitalWrite(gate,LOW);
 delay(20);
 digitalWrite(gate,HIGH);
 pinMode(gate,INPUT_PULLUP);

  
 duration=pulseIn(gate, LOW);
 if(duration <= 84 && duration >= 72)
 {
   while(1)
   {
    duration=pulseIn(gate, HIGH);
     
    if(duration <= 26 && duration >= 20){
    value=0;}
     
    else if(duration <= 74 && duration >= 65){
    value=1;}
     
    else if(z==40){
    break;}
     
    i[z/8]|=value<<(7- (z%8));
    j[z]=value;
    z++;
   }
  }
answer=i[0]+i[1]+i[2]+i[3];

if(answer==i[4] && answer!=0)
{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.setCursor(11,1);
lcd.print(i[0]);
}

z=0;
i[0]=i[1]=i[2]=i[3]=i[4]=0;
 }
}


Led İle Timer Kodum

int AnaLed = 13;
int Led3 = 10;
int Led1 = 11;
int Led2 = 12;
unsigned long time;



void setup(){
 pinMode(Led, OUTPUT);
 pinMode(Led1, OUTPUT);
 pinMode(Led2, OUTPUT);
 pinMode(Led3, OUTPUT);
 Serial.begin(9600);
}
void loop()
{
digitalWrite(Led, HIGH);
 Serial.print("Time: ");
 time = millis();
 Serial.println(time);
 delay(500);
if (time > 100) {
  Serial.print ("Timer has ended ");
  digitalWrite(Led3, HIGH);
  } else;
 digitalWrite(AnaLed, LOW);
 delay (500);


 digitalWrite(Led, HIGH);
 Serial.print("Time: ");
 time = millis();
 Serial.println(time);
 delay(500);
if (time > 200) {
  Serial.print ("Timer has ended ");
  digitalWrite(Led1, HIGH);
  } else;
 digitalWrite(AnaLed, LOW);
 delay (500);


 digitalWrite(Led, HIGH);
 Serial.print("Time: ");
 time = millis();
 Serial.println(time);
 delay(500);
if (time > 300) {
  Serial.print ("Timer has ended ");
  digitalWrite(Led2, HIGH);
  } else;
 digitalWrite(AnaLed, LOW);
 delay (500);
}

Sıcaklık Ölçüp I2C Ekrana yazdıran kodum:

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); 
byte degree_symbol[8] = 
       {
        0b00111,
        0b00101,
        0b00111,
        0b00000,
        0b00000,
        0b00000,
        0b00000,
        0b00000
       };
int gate=11; 
volatile unsigned long duration=0;
unsigned char i[5];
unsigned int j[40];
unsigned char value=0;
unsigned answer=0;
int z=0;
int b=1;
void setup() 
{
 lcd.init();            
 lcd.init();
 lcd.backlight(); 
 lcd.print("Temp = ");
 lcd.setCursor(0,1);
 lcd.print("Humidity = ");
 lcd.createChar(1, degree_symbol);
 lcd.setCursor(9,0);
 lcd.write(1);
 lcd.print("C");
 lcd.setCursor(13,1);
 lcd.print("%");
}

void loop() 
{

 delay(1000);
 while(1)
 {
 delay(1000);
 pinMode(gate,OUTPUT);
 digitalWrite(gate,LOW);
 delay(20);
 digitalWrite(gate,HIGH);
 pinMode(gate,INPUT_PULLUP);

  
 duration=pulseIn(gate, LOW);
 if(duration <= 84 && duration >= 72)
 {
   while(1)
   {
    duration=pulseIn(gate, HIGH);
     
    if(duration <= 26 && duration >= 20){
    value=0;}
     
    else if(duration <= 74 && duration >= 65){
    value=1;}
     
    else if(z==40){
    break;}
     
    i[z/8]|=value<<(7- (z%8));
    j[z]=value;
    z++;
   }
  }
answer=i[0]+i[1]+i[2]+i[3];

if(answer==i[4] && answer!=0)
{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.setCursor(11,1);
lcd.print(i[0]);
}

z=0;
i[0]=i[1]=i[2]=i[3]=i[4]=0;
 }
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



K
4 yıl
Çavuş

Merhaba. Arduinoda fonksiyon yapılarının nasıl kullanıldığını incelerseniz kodları birleştirmeniz daha kolay olur.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.