Arduino
OKUDUĞUNUZ KONU
Arduino ve 5110 Lcd ile Uv Metre Yapımı
0

Arduino ve 5110 Lcd ile Uv Metre Yapımı

Yazar : Berk Şahin2 Haziran 2017

Yaz aylarına yaklaştığımız şu günlerde güneş ışığının zararlı ışınlarına maruz kalma ihtimalimiz artmaktadır. Bu ışınlara gereğinden fazla maruz kalmak ilerleyen dönemlerde cilt kanseri gibi ciddi sağlık sorunları oluşturmaktadır. Bu yazımızda güneşten gelen ultraviyole ışınların değerini arduino ile okuyup 5110 lcd ekranına yazdıracağımız bir projeyi paylaşacağız.

Kullanılan malzemeler;

Arduino Nano (küçük ve kolay programlanabilir olmasından dolayı nanoyu seçtik isterseniz pro mini de kullanabilirsiniz)

  • Uv Sensör
  • 5510 Lcd Ekran
  • Açma Kapama Anahtarı
  • Buzzer
  • 2 Adet Bios Pili
  • 3d Printer Parçaları

Bağlantı;

  • Uv Sensör Bağlantı
  • Gnd  Arduinoda gnd pinine
  • Vcc Arduinoda 3,3 volt pinine
  • Out Arduinoda A0 pinine bağlanacak
  • Bir sonraki adımda lcdyi bağlayacağız.

Nokia 5110 Lcd Ekran Bağlantı

  • RST dijital8 pinine
  • CE dijital 9 pinine
  • DC dijital 10 pinine
  • DIN dijital 11 pinine
  • CLK dijital 12 pinine
  • VCC Arduinoda 5,5 volt pinine
  • LIGHT  Arduinoda GND pinine
  • GND Arduinoda GND pinine bağlanacak.

Buzzer, Anahtar ve Pilin Bağlantısı

  • Buzzerın artı(+) bacağını dijital pin 5’e
  • Buzzerın eksi(-) bacağını gnd’ye bağlayın
  • Pilin artı(+) kutbunu arduinoda vınn pinine, eksi(-) kutubunu gnd ye bağlayın
  • Son olarak pilin bir kutbunun kablo bağlantı arasına anahtarı bağlayın.

Proje Kodları

<pre>//Arduino ve 5110 Lcd ile Uv metre Yapımı www.projehocam.com

#include <LCD5110_Graph.h>

LCD5110 lcd(12,11,10,8,9);
extern unsigned char BigNumbers[];
extern uint8_t splash[];
extern uint8_t ui[];

String UV = "0"; 

void setup() {
 Serial.begin(9600);
 lcd.InitLCD();
 lcd.setFont(BigNumbers);
 lcd.clrScr();
 lcd.drawBitmap(0, 0, splash, 84, 48);
 lcd.update();  
 delay(3000);
 
}

void loop() {
 int stringLength = 0; 

int   deger = analogRead(0);                        
  int sezgin = (deger * (5.0 / 1023.0))*400;
  Serial.println(sezgin);
 UV = readSensor();
 lcd.clrScr();
 lcd.drawBitmap(0, 0, ui, 84, 48);
 
 stringLength = UV.length();
 printUV(stringLength);
 lcd.update();
 delay(150);
}

void printUV(int length)
{
  switch(length)
  {
    case 1:  lcd.print(UV,38,19); break;
    case 2:  lcd.print(UV,24,19); break;
    default:  lcd.print(UV,0,19); break;
  }
}

void beep(unsigned char delayms){
  digitalWrite(5,HIGH);      
  delay(delayms);          
  analogWrite(5, LOW);     
  delay(delayms);         
}  


String readSensor()
{
  String UVIndex = "0";
  int sensorValue = 0;
  
  sensorValue = analogRead(0);                         
  int voltage = (sensorValue * (5.0 / 1023.0))*400;  
  
  if(voltage<50)
  {
    UVIndex = "0";
  }else if (voltage>50 && voltage<=227)
  {
    UVIndex = "0";
  }else if (voltage>227 && voltage<=318)
  {
    UVIndex = "1";

    beep(10);
  }
  else if (voltage>318 && voltage<=408)
  {
    UVIndex = "2";
       
    beep(20);

  }else if (voltage>408 && voltage<=503)
  {
    UVIndex = "3";
    beep(30);
  }
  else if (voltage>503 && voltage<=606)
  {
    UVIndex = "4";
   
    beep(40);
  }else if (voltage>606 && voltage<=696)
  {
    UVIndex = "5";
   
    beep(50);
  }else if (voltage>696 && voltage<=795)
  {
    UVIndex = "6";
    
    beep(60);
  }else if (voltage>795 && voltage<=881)
  {
    UVIndex = "7";

    beep(70);
  }
  else if (voltage>881 && voltage<=976)
  {
    UVIndex = "8";

    beep(80);
  }
  else if (voltage>976 && voltage<=1079)
  {
    UVIndex = "9";

    beep(90);
  }
  else if (voltage>1079 && voltage<=1170)
  {
    UVIndex = "10";

    beep(100);
  }else if (voltage>1170)
  {
    UVIndex = "11";

    beep(110);
  }
  return UVIndex;
}

Önemli Noktalar!!!

Arkadaş bu proje nokia 5110 lcd ekran için LCD5110_Graph.h kütüphanesi kullanılmıştır. Bu kütüphaneyi eklemeyi unutmayın. 3d parçaları ve gerekli dosyalar aşağıdaki bağlantıda verilmiştir.Kolay gelsin…

Proje Dosyaları

SİZCE NASIL OLMUŞ?
Beğendim
50%
İlginç
0%
Eh İşte
50%
Anlamadım
0%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Berk Şahin
YORUMLAR

YORUM YAP