Bugünkü uygulamamızda arduino ile güneşi takip eden robot yapacağız.Bunun için ldr sensörleri kullanmak en doğru karar olacaktır.Ldr ışık sensörleri ışığın yoğunluğuyla direnç değiştiren sensörlerdir.Bizim yapmamız gereken güneşli ortamdaki direnç değeri ve gölgedeki direnç değerlerine göre algoritmayı oluşturmak olacaktır.Dönüşleri sağlamak için de servo motor kullanacağız.Hepsi bu kadar.Yapım aşamalarına geçebiliriz.
Malzemeler:
- Arduino
- 2 Adet servo motor
- 4 Adet LDR sensör
- 4 Adet 10k direnç
- 2 Adet 10k potansiyometre
Elektronik Devre Şeması:
Ldr sensörlerin konumlarını aşağıdaki gibi yapabilirsiniz.
Güneş Takip Kod
#include <Servo.h> // include Servo library Servo horizontal; // horizontal servo int servoh = 90; // stand horizontal servo Servo vertical; // vertical servo int servov = 90; // stand vertical servo // LDR pin connections // name = analogpin; int ldrlt = A0; //LDR top left int ldrrt = A1; //LDR top rigt int ldrld = A2; //LDR down left int ldrrd = A3; //ldr down rigt void setup() { Serial.begin(9600); // servo connections // name.attacht(pin); horizontal.attach(9); vertical.attach(10); } void loop() { int lt = analogRead(ldrlt); // top left int rt = analogRead(ldrrt); // top right int ld = analogRead(ldrld); // down left int rd = analogRead(ldrrd); // down rigt int dtime = analogRead(A4)/20; // read potentiometers int tol = analogRead(A5)/4; int avt = (lt + rt) / 2; // average value top int avd = (ld + rd) / 2; // average value down int avl = (lt + ld) / 2; // average value left int avr = (rt + rd) / 2; // average value right int dvert = avt - avd; // check the diffirence of up and down int dhoriz = avl - avr;// check the diffirence og left and rigt if (-1*tol > dvert || dvert > tol) { if (avt > avd) { servov = ++servov; if (servov > 180) { servov = 180; } } else if (avt < avd) { servov= --servov; if (servov < 0) { servov = 0; } } vertical.write(servov); } if (-1*tol > dhoriz || dhoriz > tol) { if (avl > avr) { servoh = --servoh; if (servoh < 0) { servoh = 0; } } else if (avl < avr) { servoh = ++servoh; if (servoh > 180) { servoh = 180; } } else if (avl == avr) { // nothing } horizontal.write(servoh); } delay(dtime); }
Sistemi kurduk çalışıyor. Sistemin kaynağı yabancı bir site. Yalnız 2 sitede de direnç değerleri yanlış verilmiş. 10k değil de 1k değerli dirençler kullanılmalı. Aksi takdirde proje çalışmıyor.
Doğru bilgi, sistem 1K direnç ile çalışmakta. Bunun haricinde başka bir sorun ile karşılaşmadım.
Merhaba,bu iki servo motorun birbibrine mekaniksel bağlantısı nasıl oluyor?
ellerinize sağlık on numara olmuş
potansiyemetre kullanmasak bir mahsuru olur mu
potansiyometri kullanılmasa bi mahsuru olur mu
Ürünün detaylı fotoğraflarıne nerden ulaşabilirim
ldr ışık sensörünü nasıl bağladınız
bir bacağını direk 5v girişine takın. diğer bacağını ise hem sinyal pinine hem de direnç üzerinden gnd ye takın. Yukarıda devre şemasında bağlantı şekli mevcuttur.
BURADA KULLANILMAKTA OLAN ARDUINO HANGİ ÇEŞİTİDİR. BELİRTİLMEMİŞ
modeli fark etmez. Uno kullanabilirsiniz.
eyvallah kardeş
sezgin bey benimde bu sistemden yapmam gerekiyor bana yardımcı olurmusunuz ?
Buyur ne konuda yardım istiyorsun
Sensörü ve motorları nasıl bağladınız(mekanik olarak) bilgi verirseniz sevinirim
sezgin bey burda potansiyometre kullanma amaçımız ney? potansiyometreyi kullanmasak olurmu? tşk
A4 e takılan sistemin yenilenme hızını ayarlıyor . A5 deki de referans alınacak ışık şiddeti değerini ayarlamayı sağlıyor.
merhaba kolay gelsin. Bende bu sistemin aynısını kurdum horizontal düzlemde hareket eden motor çalışıyor fakat vertical düzlemde çalışması gereken motor titriyor sadece A2 pinine bağlı ldryi elimle kapattığım zaman çalışıyor. Sorun ne olabilir acaba yada başınıza gelen bu tarzda bi problemi nasıl çözdünüz yardımcı olurmusunuz ?
Titreme, gerilim veya akımın yetersizliğinden kaynaklanır
Merhaba elibize saglik, ancak proje resimlerini daha ayrintili ve fazla verebilirseniz mutlu oluruz. Kolay gelsin
Potansiyometreleri nerede kullanıyoruz bilgi verebilir misiniz ?
tasarım harika 6 tane fotovoltaik hücre monte etmek istiyorum üstüne LDR leri nasıl monte etmem gerekiyor. ikinci 6 hücreyi döndürebilecek güçte servo motor önerebilirmisiniz ?
Bana bu tasarım hakkında bilgi verirmisiniz.
siz bi harikasınız , helal olsun , mukemmel . çok saolun
LDR yerine fotovoltaik pilde kullanılabilirdi.
fotovoltaik pil zaten güneş paneli oluyor. Ldr ışığın şiddetini aldığı için kullanılıyor.
Kardeş halen yapıyomusunuz