Menü

Solar Mobile Phone Charger Circuit

5 Aralık 2017 - Arduino
Solar Mobile Phone Charger Circuit
4.7 (93.45%) 770 votes

 

 

  İnsanların hayatında önemli bir yere sahip olan cep telefonlarının şarjı bittiğinde her yerde ulaşabileceğimiz doğal enerji(güneş) vasıtasıyla cep telefonlarını şarj edebilmeleri için bu projeyi seçtik.

Projenin Amacı:

En küçük güçteki güneş ışını dahil bütün ışınlara duyarlı hareket edebilen panelin ürettiği enerjiyi sürekli depolayarak telefon vs. gibi teknolojik aletlerin şarj edilmesinin sağlamak.

Devrenin Çalışma Prensibi:

LDR’ler (ışık sensörleri) güneşten gelen ışınları algılayıp daha sonra bu ışınları arduinodaki kodlar sayesinde kıyaslayıp motorlara sür emri vermektedir.Motorlar arduinodan gelen bilgi ile paneli bu gelen ışınların yoğun olan tarafına döndürecektir.Işınlardan elde edilen enerji gerekli devrelerden geçerek powerbank’e depolanacaktır.Kullanıcı istediği gibi bu depolanan enerjiyi telefon ,tablet vs. gibi 5 volt ile beslene bilen cihazlarını şarj edebilir.

Kullanılan malzemeler:

*Güneş paneli(25X36cm)

*2 adet Arduino Uno R3

*Breadbord

*4 adet LDR

*4 adet 10K direnç

*1 adet delikli bakır plaket

*Havya, lehim

*6m zil teli

*Jumper kablo(Dişi-Dişi.Dişi-Erkek,Erkek-Erkek)

*2 adet servo motor(13kg çeken)

*4 adet 9 volt pil

*7812, 7805 entegre

*Çift taraflı bant, elektrik bandı, slikon

*1 adet Araç şarj aleti(isteğe bağlı)

*1 adet powerbank

*2 adet buton(isteğe bağlı)

Maketi için; orta büyüklükte saklama kabı, stres topu,sac, silindirik aliminyum, 1 adet sert kutu,karton.

Devreye ait kodlar:

#include <Servo.h>
Servo horizontal;
int servoh = 180;

int servohLimitHigh = 180;
int servohLimitLow = 15;

Servo vertical;
int servov = 45;

int servovLimitHigh = 80;
int servovLimitLow = 15;

 

int ldrlt = 0; //LDR sol üst
int ldrrt = 1; //LDR sağ üst
int ldrld = 2; //LDR sol alt
int ldrrd = 3; //LDR sağ alt

void setup()
{
Serial.begin(9600);

 

horizontal.attach(9);
vertical.attach(10);
horizontal.write(180);
vertical.write(80);
delay(3000);
}

void loop()
{
int lt = analogRead(ldrlt); // sol üst
int rt = analogRead(ldrrt); // sağ üst
int ld = analogRead(ldrld); // sol alt
int rd = analogRead(ldrrd); // sağ alt

int dtime = 10;
int tol = 50;

int avt = (lt + rt) / 2;
int avd = (ld + rd) / 2;
int avl = (lt + ld) / 2;
int avr = (rt + rd) / 2;

int dvert = avt – avd;
int dhoriz = avl – avr;

Serial.print(avt);
Serial.print(” “);
Serial.print(avd);
Serial.print(” “);
Serial.print(avl);
Serial.print(” “);
Serial.print(avr);
Serial.print(” “);
Serial.print(dtime);
Serial.print(” “);
Serial.print(tol);
Serial.println(” “);

if (-1*tol > dvert || dvert > tol)
{
if (avt > avd)
{
servov = ++servov;
if (servov > servovLimitHigh)
{
servov = servovLimitHigh;
}
}
else if (avt < avd)
{
servov= –servov;
if (servov < servovLimitLow) { servov = servovLimitLow; } } vertical.write(servov); } if (-1*tol > dhoriz || dhoriz > tol)
{
if (avl > avr)
{
servoh = –servoh;
if (servoh < servohLimitLow)
{
servoh = servohLimitLow;
}
}
else if (avl < avr) { servoh = ++servoh; if (servoh > servohLimitHigh)
{
servoh = servohLimitHigh;
}
}
else if (avl = avr)
{

}
horizontal.write(servoh);
}
delay(dtime);

}

 

Proje Yapım Aşamaları:

 

 

 

 

LDR’ lere 10K direçler seri olarak bağlandı ve bakır plakete uygun bir şekilde lehimlenmiştir. Hazırlanan plaket LDR’lerin bulunduğu karton düzeneğe sabitlemiştir.Karton düzeneği artı şeklinde ve yüzeye dik yapmamızın sebebi her bir LDR sensörüne gelen ışının birbirinden bağımsız(en az düzeyde) olmasını sağlamaktır.Bu sayede arduino’ya gelen ışık verilerini en doğru şekilde aktarmış oluruz.

 

Arduino beslemesi için pil ile arduino arasındaki iletim kablosunun jak bağlantısı ve lehimlenmesi yapılmıştır.

Panelimizi servo motorun üzerine sabitleyebilmek için(Panelimizin ağırlığı çok fazla olduğu için motorun onu taşıması ve rahat hareket ettirebilmemiz için iyi bir düzeneğe ihtiyacımız vardı) ilk önce sert kutu kapağını panelin arkasına sabitleyerek düzgün ve kuvvetli yüzey hazırladık.Bu hazırladığımız düzeneği silindir alüminyum malzemenin içine silikon ile sabitlediğimiz elastik topunu yine silikon yardımı ile tutturduk. Ve aşağıdaki fotoğrafta  da gördüğünüz gibi silindirik alüminyumu da bir kutuya jumper ile sabitledik. Kutunun altına çapraz şekilde saç yapıştırıp onuda servo motora sabitledik. Servo motorun sağ ve sol tarafında gördüğünüz kartonları ise motorun  yüzey alanını büyültmek için(yani motorun üstündeki ağırlığı sabitlemek amacı ile) kullandık.

 

 

 

 

 

 

 

 

 

Kutumuzun kapağı sert olmadığı için mekanizmayı alt kısmına sabitledik. Kapak kısmına ise devre bölümünü monte ettik. Bu kısımda servo motorları ve LDR’ lerin bulunduğu sistemi jumper kablolar yardımı ile arduino’ya bağladık. Arduino  ve servo motor beslemelerini  9 voltluk piller yardımı ile yaptık.Bazı 5 volt beslemelerini breadboard ile çoğaltılmıştır. Daha sonra yazmış olduğumuz kodları ardiuno ‘ya yükledik ve LDR’ lerin doğru değer aldıklarını ve servo motorların düzgün değerler doğrultusunda doğru çalıştığını kontrol ettik.

 

 

Yandaki fotoğrafta paneli yukarı aşağı hareket ettiren servo motoru, üstteki kutunun yan tarafına silikon yardımı ile sabitledik. Sabitlediğimiz motorun pervanelerinin birinin ucuna kalın bir telin bir ucunu bağladık telin ucunu da panele silikon ile yapıştırdık. Bu sayede panel kolaylıkla yukarı aşağıya hareket edebildi.

 

 

 

 

 

Yukarıdaki fotoğraflar projemizin son halidir. İstediğimiz sonuçları elde ettik ve  her şey amacımız doğrultusunda gelişti. Sistemi tasarlamak isteyen arkadaşlarımız gönül rahatlılığı ile kurabilir.

FİNAL VİDEOLARI:

HAZIRLAYANLAR:

EMİRHAN YILDIRIM 2014010219093

HÜSEYİN YAVUZ 2014010219078

İREM YUĞİT 2014010219075

ÖZNUR HASIRCI 2014010219088

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Araç çubuğuna atla