Elektrik Elektronik Teknolojisi Alanı Temrinleri

 
Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - Hasan ERTÜRK

Sayfa: [1]
1
Display uygulamaları / 9. DHT11 ile ısı ve nem ölçümü
« : 07 Haziran 2018, 17:19:52 »
<iframe width="640" height="385" src="//www.youtube.com/embed/snjIzPlzADo?fs=1&start=" frameborder="0" allowfullscreen></iframe>

DHT11 ısı ve nem sensörü ile ısı ve nem değerleri ölçülüp 16x2 lcd sheeld ekranında görüntülenir.

Malzeme listesi:


Fotoğraf 1: DHT11 ile ısı ve nem ölçümü


Fotoğraf 1: DHT11 ile ısı ve nem ölçümü


Şema 1: DHT11 ile ısı ve nem ölçümüne ait fritzing devre şeması

Arduino kodları:
Kod: [Seç]
#include <DHT11.h>
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int pin = 2;
DHT11 dht11(pin);
double Fahrenheit(double celsius) {
return ((double)(9 / 5) * celsius) + 32;
}
double Kelvin(double celsius) {
return celsius + 273.15;
}
void setup() {
lcd.begin(16, 2);
}

void loop() {
int err;
float temp, humi;
if ((err = dht11.read(humi, temp)) == 0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("VERiLER");
lcd.setCursor(0, 1);
lcd.print("GUNCELLENiYOR");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SICAKLIK");
lcd.setCursor(0, 1);
lcd.print("NEM");
lcd.setCursor(9, 0);
lcd.print(temp);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(9, 1);
lcd.print(humi);
lcd.print(" %");
delay(5000);
}
else
{
lcd.println();
lcd.print("Error No :");
lcd.print(err);
lcd.println();
}
}

Konu ekinde fritzing dosyası, dht11 kütüphanesi ve arduino dosyası mevcuttur.
Bu iletiye teşekkür edenler: Mesut PÜRMÜSLÜ

2
<iframe width="640" height="385" src="//www.youtube.com/embed/lzocaw3EIJ8?fs=1&start=" frameborder="0" allowfullscreen></iframe>
Video 1: Step motorun joystick ile yön kontrolü

Senaryo:
Joystick kolunun ileri geri hareketi ile step motorun yön kontrolü istenmektedir. Joystick orta konumda iken step motor duracaktır.

Malzeme listesi:
  • 28BYJ-48 Step motor ve sürücü kartı
  • Arduino uno
  • Erkek dişi jumper kablo


Fotoğraf 1: Devrenin tamamlanmış hali


Şema 1: Fritzing devre şeması

Arduino kodları:
Kod: [Seç]
#include <StepperMotor.h> // step motor kutuphanesi eklendi
StepperMotor motor(8,9,10,11);  // step motor pinleri in1,in2, in3, in4
const int joystick = A0; 
int joystick_konum=0;     
int step_deger = 0; 

void setup()
{
  motor.setStepDuration(1);
  Serial.begin(9600);
}
 
void loop()
{
  joystick_konum=analogRead(joystick);
  step_deger= map(joystick_konum,0,1023,-103,100);
  motor.step(step_deger);
  Serial.println(step_deger);
  delay(1);
}
Bu iletiye teşekkür edenler: Mesut PÜRMÜSLÜ

3
Projeler / 5. Sobadan kalorifer yapalım
« : 21 Eylül 2015, 04:52:27 »
Bu dersimizde kömür sobasını kalorifer olarak kullanmayı öğreneceğiz.

Yapacağımız sistemin özellikleri:
1. Sistemin çalışması ve güvenlik tedbirleri arduino ile kontrol edilmektedir.

2. Sistemin elektrik kesilmelerine karşı güvenlik tertibatı mevcut olup, elektrik kesintisi durumunda kesintisiz güç kaynağı ile beslenmektedir.

3. Sistemde suyun aşırı ısınması durumunda suyun buhar basıncı oluşturması önlenmiş böylece kazanın patlama riskinin önüne geçilmiştir. Alışıla gelmiş sistemlerde suyun aşırı ısınması sonucunda buhar basıncı oluşmakta ve bu basınçlı buhar bazı güvenlik tedbirleriyle dışarıya atılmaktadır. Oysa ki bu sistemde kesinlikle buhar basıncı oluşmamaktadır ve daha güvenlidir.

4. Kazan suyunun her hangi bir nedenle eksilmesi durumunda sistem bir selenoid valfi açarak şehir şebekesinden otomatik olarak su takviyesi yapmaktadır.

5. Yapılan gözlemlerde kazanda ısınan suyun 5 dakikada en son peteğe ulaştığı gözlenmiştir. Yapılan denemeler neticesinde su pompasının 5'şer dakika aralıklarla çalıştırılıp durdurulmasıyla peteklerin daha fazla ısındığı gözlendi. Bu nedenle arduino programı pompayı 5'şerdakika aralıklarla çalıştırıp durduracak şekilde hazırlanmıştır.

6. Sistem 100 metrekarelik bir dairede denenmiş ve peteklerin üzerindeki maksimum sıcaklık 70 derece olarak ölçülmüştür.

7. Sistem 1 KASIM - 20 MAYIS aralığında çalıştırılmış olup 2 ton kömür tüketmiştir.

8. Sistem; suyun eksik olması, suyun takviyesinin yapıldığı, pompanın çalıştığı ya da durduğu gibi olası periyotlar lcd ekranda görüntülenmekte olup kullanıcıyı bilgilendirmektedir.

9. Sistem deneme yanılma yoluyla bu halini almıştır. Tuğlalı soba yerine kovalı soba kullanılması durumunda sistemin daha verimli çalışacağı kanaati oluşmuş olup bu durumda üst kazan kullanmaya gerek yoktur.

10. Sistem bu haliyle 100 metrekarelik dairedeki 8 metrelik peteği besleyebilmiştir.

11. İsteğe bağlı olarak petek sıcaklığı lcd displayde görüntülenebilmektedir.

Malzeme ve araç gereç listesi:
1. 2 tabaka sac
2. Yemek kazanı (36 litre)
3. Kesintisiz güç kaynağı
4. Kömür sobası
5. Arduino uno
6. 16 x 2 lcd shild
7. BC 238 transistör
8. BC 307 transistör
9. Devirdaim pompası
10. Selenoid valf
11. Led (2 adet)
12. 470R direnç (2 adet)
13. 1N4148 diyot (2 adet)
14. 5Volt röle (2 adet)
15. 100nF kondansatör
16. Köprü diyot
17. 220/9Volt 4 watt trafo
18. 1M direnç
19. Muhtelif iletkenler, kablolar
20. Born vidası (2 adet)
21. Kutu
22. Kablo kanalı
23. Lehimleme araç ve gereçleri
24. Baskı devre araç ve gereçleri
25. El ve güç aletleri
26. LM35

Arduino kodlarımız:
Bu kodlarla arduinomuzu programlıyoruz. İhtiyaç halinde arduino dosyasını konu ekinden indirebilirsiniz.
Kod: [Seç]
// TASARIM: HASANA ERTURK TRABZON MESLEKI VE TEKNIK ANADOLU LISESI 2015 EYLUL

// ALT PROGRAM SU EKSİK OLDUGUNDA POMPAYI DURDUR BASLADI
void su_kes()
{
  digitalWrite(0, HIGH); 
}
// ALT PROGRAM SU EKSİK OLDUGUNDA POMPAYI DURDUR BITTI

// LIKID KRISTAL KUTUPHANESİ EKLENIYOR
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int lcd_key     = 0;
int adc_key_in  = 0;
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5
// LIKID KRISTAL KUTUPHANESİ EKLENMESI TAMAMLANDI

int sensor=1;
const int sensorpini = 13;                // 13 NOLU PIN SENSOR PINIDIR
int sensor_durum = 0;
int SicaklikPin = 5;   // LM35 sensöre bağlı pin (Analog 0)
int OkunanDeger;       // Analog 0'dan okunacak değer (0-1023) LM35'in vereceğı en büyük okuma değeri 1V=205 olacak.
int Sicaklik;          //

// PIN TANIMLAMALARI BURADA BASLADI
void setup()
{
  lcd.begin(16, 2);             
  lcd.setCursor(0,0);
  lcd.print("temrinlerim.org");                   // ACILISTA LCDDE OKUNACAK YAZI
  pinMode(0, OUTPUT);                             // 0 NOLU PIN SELONOIDI KONTROL EDER
  pinMode(1, OUTPUT);                             // 1 NOLU PIN POMPAYI KONTROL EDER
  pinMode(2,INPUT);                               // INTERPUT KESME ISLEMI GİRİSİ
  pinMode(13,INPUT);                              // 13 NOLU PIN SENSOR GIRIS PINIDIR
  attachInterrupt(0, su_kes, RISING);             // 2 NOLU PIN LOJIK 1 OLDUGUNDA KESMEYI DEVREYE SOKAR su_kes FONKSIYONU CALISMAYA BASLAR
}
// PIN TANIMLAMALARI BURADA BITTI

// ANA PROGRAM BURADA BASLADI
 void loop()
{
  sensor_durum = digitalRead(sensorpini);
  if (sensor_durum == HIGH)
  {
  sensor = digitalRead(13);                       // 13 NOLU PINDEKI LOJIK SEVİYEYI OKU
  digitalWrite(0, sensor);                        // 13 NOLU PINDEKI LOJIK SEVİYE NE İSE 0 NOLU PINE AKTAR
  digitalWrite(1, sensor);                        // 13 NOLU PINDEKI LOJIK SEVİYE NE İSE 1 NOLU PINE AKTAR
  lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

    lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(60000);                                    // 1 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)

 

  digitalWrite(1, LOW);                        // POMPA DURDU 
  lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA DURDU");                       // IKINCI SATIRA POMPA STOP YAZILDI
  delay(300000);                                    // 5 DAKIKA BEKLE (BU SURE SU ISINIRKEN POMPANIN DEVREDEN CIKACAGI SUREYI BELIRLER
  }
  else
  {
    delay(500);                                   // 500 ms BEKLE
    lcd.clear();                                  // LCD TEMIZLE
    digitalWrite(0, LOW);                         // 0 NOLU CIKIS LOJIK 0 OLDU SELONOID ACTI SU ALMA ISLEMI GERCEKLESIYOR
    lcd.setCursor(0,0);                           // ILK SATIRA YAZ
    lcd.print("SU NOKSAN");                       // ILK SATIRA SU NOKSAN YAZILDI
    lcd.setCursor(0,1);                           // IKINCI SATIRA YAZ
    lcd.print("SU TAMAMLANIYOR");                 // IKINCI SATIRA SU TAMAMLANIYOR YAZILDI
  }
}
// ANA PROGRAM BURADA BITTI

Devre şeması:
ISIS ve hex dosyasını konu ekinden indirebilirsiniz.


Baskı devremiz:
ARES dosyasını konu ekinden indirebilirsiniz.


Montaj aşamaları:














































Montajı tamamlanmış kartın test edilmesi:
Test işlemi sırasında 5'şer dakikalık gecikmeler 3 saniye yapılmıştır.
<iframe width="640" height="385" src="//www.youtube.com/embed/YSjF08ofT68?fs=1&start=" frameborder="0" allowfullscreen></iframe>

<iframe width="640" height="385" src="//www.youtube.com/embed/9Qsc4G-wqmA?fs=1&start=" frameborder="0" allowfullscreen></iframe>

<iframe width="640" height="385" src="//www.youtube.com/embed/RGQUHl9cvmA?fs=1&start=" frameborder="0" allowfullscreen></iframe>



Buraya kadar olan işlem basamakları tamamlandığında elektronik kartımız kullanıma hazır hale gelmiş oluyor.

Displeyde SU SOGUDU ve SU ISINDI şeklinde bilgilendirmeler görüntülenmekte. Bu ifadelerin yerine isteğe bağlı olarak petek suyu sıcaklığını gösterebiliriz. Bunun için programda ve devre şemasında bazı değişiklikler yapmamız gerekmekte. Devreye LM35 ısı sönsörünü aşağıdaki şemada gösterildiği şekilde ekliyoruz ve mevcut programımızı değiştiriyoruz.

Kod: [Seç]
// TASARIM: HASANA ERTURK TRABZON MESLEKI VE TEKNIK ANADOLU LISESI 2015 EYLUL

// ALT PROGRAM SU EKSİK OLDUGUNDA POMPAYI DURDUR BASLADI
void su_kes()
{
  digitalWrite(0, HIGH); 
}
// ALT PROGRAM SU EKSİK OLDUGUNDA POMPAYI DURDUR BITTI

// LIKID KRISTAL KUTUPHANESİ EKLENIYOR
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int lcd_key     = 0;
int adc_key_in  = 0;
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5
// LIKID KRISTAL KUTUPHANESİ EKLENMESI TAMAMLANDI

int sensor=1;
const int sensorpini = 13;                // 13 NOLU PIN SENSOR PINIDIR
int sensor_durum = 0;
int SicaklikPin = 5;   // LM35 sensöre bağlı pin (Analog 0)
int OkunanDeger;       // Analog 0'dan okunacak değer (0-1023) LM35'in vereceğı en büyük okuma değeri 1V=205 olacak.
int Sicaklik;          //

// PIN TANIMLAMALARI BURADA BASLADI
void setup()
{
  lcd.begin(16, 2);             
  lcd.setCursor(0,0);
  lcd.print("temrinlerim.org");                   // ACILISTA LCDDE OKUNACAK YAZI
  pinMode(0, OUTPUT);                             // 0 NOLU PIN SELONOIDI KONTROL EDER
  pinMode(1, OUTPUT);                             // 1 NOLU PIN POMPAYI KONTROL EDER
  pinMode(2,INPUT);                               // INTERPUT KESME ISLEMI GİRİSİ
  pinMode(13,INPUT);                              // 13 NOLU PIN SENSOR GIRIS PINIDIR
  attachInterrupt(0, su_kes, RISING);             // 2 NOLU PIN LOJIK 1 OLDUGUNDA KESMEYI DEVREYE SOKAR su_kes FONKSIYONU CALISMAYA BASLAR
}
// PIN TANIMLAMALARI BURADA BITTI

// ANA PROGRAM BURADA BASLADI
 void loop()
{
  sensor_durum = digitalRead(sensorpini);
  if (sensor_durum == HIGH)
  {
  sensor = digitalRead(13);                       // 13 NOLU PINDEKI LOJIK SEVİYEYI OKU
  digitalWrite(0, sensor);                        // 13 NOLU PINDEKI LOJIK SEVİYE NE İSE 0 NOLU PINE AKTAR
  digitalWrite(1, sensor);                        // 13 NOLU PINDEKI LOJIK SEVİYE NE İSE 1 NOLU PINE AKTAR
  lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA CALISIYOR");                   // IKINCI SATIRA POMPA START YAZILDI
  delay(3000000);                                    // 5 DAKIKA BEKLE (BU SURE POMPANIN DEVREDE KALACAGI SUREYI BELIRLER)
  lcd.clear();                                    // LCD TEMIZLE
  OkunanDeger = analogRead(SicaklikPin); 
  Sicaklik = map (OkunanDeger, 0, 205, 0, 100);   //ANALOG 5'INCI PINDE OKUNANA VOLTAJI DERECEYE DONUSTURUR
  lcd.setCursor(0,0);                             // ILK SATIRA YAZ   
  lcd.print("PETEK: ");                           // ILK SATIRA PETEK: YAZILDI       
  lcd.print(Sicaklik);                            // DEVAMINA HESAPLANAN SICAKLIK YAZILDI
  lcd.print(" DERECE");                           // DEVAMINA SICAKLIK BİRİMİ YAZILDI
  lcd.setCursor(0,1);                             // IKINCI SATIRA YAZ
  lcd.print("POMPA DURDU");                       // IKINCI SATIRA POMPA STOP YAZILDI
  delay(3000000);                                    // 5 DAKIKA BEKLE (BU SURE SU ISINIRKEN POMPANIN DEVREDEN CIKACAGI SUREYI BELIRLER
  }
  else
  {
    delay(500);                                   // 500 ms BEKLE
    lcd.clear();                                  // LCD TEMIZLE
    digitalWrite(0, LOW);                         // 0 NOLU CIKIS LOJIK 0 OLDU SELONOID ACTI SU ALMA ISLEMI GERCEKLESIYOR
    lcd.setCursor(0,0);                           // ILK SATIRA YAZ
    lcd.print("SU NOKSAN");                       // ILK SATIRA SU NOKSAN YAZILDI
    lcd.setCursor(0,1);                           // IKINCI SATIRA YAZ
    lcd.print("SU TAMAMLANIYOR");                 // IKINCI SATIRA SU TAMAMLANIYOR YAZILDI
  }
}
// ANA PROGRAM BURADA BITTI








Mekanik aksam ve su tesisatı














Yukarıda şeilde verilen ölçülerde kömür sobasının tuğlasının etrafına 14 litrelik bir alt kazan yaptırılır. Üst kazan 36 litredir. Yine yukarıda verilen ölçülerde bir boru yaptırılır.

Sistem üst kazandaki su eksildiğinde selenoid valfi devreye sokarak suyun şehir şebekesinden otomatik olarak tamamlanmasını sağlar.

Isınan suyun izlediği yol:
1. Isınan su şekilde 1 ile gösterilen noktadan üst kazandan devir daim pompasına
2. Devir daim pompasından peteklere
3. Petekleri dolaşan su borunun 2 ile gösterilen noktasına
4. Borunun 3 nolu noktasından alt kazanın 4 nolu girişine
5. Alt kazanın 5 nolu çıkışından üst kazanın 6 nolu girişine gider ve bu durum devir daim pompası çalıştığı sürece sonsuza dek devam eder.
Bu iletiye teşekkür edenler: ozer26

4
Problem: 1 fazlı asenkron motor 3 butonla kumanda edilecektir. Motor ileri butonuna basıldığında ileri yönde, geri butonuna basıldığında ise geri yönde dönecek. Motor dönerken devir yönünü değiştirmek için öncelikle motorun durdurulması gerekmektedir. Gerekli kumanda devresini plc ile oluşturup çalıştırınız.

Problemin çözümüne ait temrin sayfasını konu ekinden indirebilirsiniz.
Temrin sayfasını tarayıcınızda görüntülemek için buraya tıklayınız.
Bu iletiye teşekkür edenler: mosar

Sayfa: [1]