ercanerkec
Üye
- Katılım
- 25 Eki 2016
- Mesajlar
- 8
- Puanları
- 1
- Yaş
- 25
Sevgili forum severler merhaba,
Benim küçük bir hobi projem var. Sizlerin daha iyi anlayabilmesi adına kısa bir özetini anlatacağım.
Devremde kullanılan malzemeler; Uno, LDR, HM-10, buzzer, kontaktör vb.
Bluetooth ile cihazıma bağlanıyorum sizlere ilettiğim aşağıdaki kodda da görebildiğiniz üzere sadece ilettiğim komutlar çerçevesinde işlem yapabiliyorum.
Örneğin;
gelen_karakter=Serial.read();
if(gelen_karakter=='6'){
digitalWrite(kontak4,HIGH);
Serial.println("Kontak 4 aktif, Led4 yakıldı.");
Benim soruma gelirsek, ben devreye hareket sensörü takıp aktif olarak kullanmak istiyorum fakat hareket sensörü sadece ben komut verdiğimde aktif oluyor örneğin "s" komutu verdiğimde tabi ki kodu ona göre ayarlıyorum. Hiçbir türlü sürekli aktif olacak şekilde bir kod uyduramadım. Umarım anlaşılır olabilmişimdir. Devreye enerji verildiği an hiçbir komut almadan hareket sensörü çalışsın hareket görürse çıkışı versin, devreden elektrik gidene kadar da böyle çalışmaya devam etsin. Hareket olduğunda telefonuma geri dönüş sağlasın.
Teşekkür eder, iyi forumlar dilerim.
char gelen_karakter;
const int kontak1=2,kontak2=3,kontak3=4,kontak4=5;
int buzzer = 6;
float sicaklikgerilim;
int okunandeger;
float sicaklik;
int lm35 = A0;
int led = 7;
int zaman =50;
int ldrsensor = 8;
int ldrled = 9;
int susensor = 10;
void setup() {
pinMode(kontak1,OUTPUT);
pinMode(kontak2,OUTPUT);
pinMode(kontak3,OUTPUT);
pinMode(kontak4,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(led,OUTPUT);
pinMode(ldrsensor,INPUT);
pinMode(ldrled,OUTPUT);
pinMode(susensor,INPUT);
Serial.begin(9600);
}
void loop() {
while(Serial.available()>0)
{
gelen_karakter=Serial.read();
if(gelen_karakter=='6'){
digitalWrite(kontak4,HIGH);
Serial.println("Kontak 4 aktif, Led4 yakıldı.");
}
else if(gelen_karakter=='7'){
digitalWrite(kontak4,LOW);
Serial.println("Kontak 4 pasif, Led4 söndürüldü.");
}
else if(gelen_karakter=='4'){
digitalWrite(kontak3,HIGH);
Serial.println("kontak 3 aktif Led3 yakıldı.");
}
else if(gelen_karakter=='5'){
digitalWrite(kontak3,LOW);
Serial.println("Kontak 3 pasif, Led3 söndürüldü.");
}
else if(gelen_karakter=='2'){
digitalWrite(kontak2,HIGH);
Serial.println("Kontak 2 aktif, Led2 yakıldı.");
}
else if(gelen_karakter=='3'){
digitalWrite(kontak2,LOW);
Serial.println("Kontak 2 pasif, Led2 söndürüldü");
}
else if(gelen_karakter=='0'){
digitalWrite(kontak1,HIGH);
Serial.println("Kontak 1 aktif, Led1 yakıldı.");
}
else if(gelen_karakter=='1'){
digitalWrite(kontak1,LOW);
Serial.println("Kontak 1 pasif, Led1 söndürüldü.");
}
else if(gelen_karakter=='8'){
okunandeger=analogRead(lm35);
sicaklikgerilim = (5000.0/1023.0) * okunandeger;
sicaklik = sicaklikgerilim / 100.0;
Serial.print("Sıcaklık:");
Serial.println(sicaklik);
delay(1000);
if(sicaklik >= 27){
digitalWrite(led,HIGH);
digitalWrite(buzzer,HIGH);
Serial.print("Sıcaklık yüksek. Uyarı ışığı ve buzzer aktif.");
}
}
else if(gelen_karakter=='o'){
digitalWrite(led,LOW);
digitalWrite(buzzer,LOW);
Serial.print("Sıcaklık alarmı kapatıldı.");
}
else if(gelen_karakter=='9')
{
bool ldrdeger = digitalRead(ldrsensor);
if(ldrdeger == 1)
{
digitalWrite(ldrled,HIGH);
Serial.print("Işık seviyesi düşük.Işık açıldı");
}
else
{
digitalWrite(ldrled,LOW);
Serial.print("Işık seviyesi yeterli.Işık kapandı");
}
}
else if(gelen_karakter=='t')
{
bool sudeger = digitalRead(susensor);
if(sudeger == 1){
Serial.print("Su yetersiz");
}
else
{
Serial.print("Su yeterli");
}
}
}
}
Benim küçük bir hobi projem var. Sizlerin daha iyi anlayabilmesi adına kısa bir özetini anlatacağım.
Devremde kullanılan malzemeler; Uno, LDR, HM-10, buzzer, kontaktör vb.
Bluetooth ile cihazıma bağlanıyorum sizlere ilettiğim aşağıdaki kodda da görebildiğiniz üzere sadece ilettiğim komutlar çerçevesinde işlem yapabiliyorum.
Örneğin;
gelen_karakter=Serial.read();
if(gelen_karakter=='6'){
digitalWrite(kontak4,HIGH);
Serial.println("Kontak 4 aktif, Led4 yakıldı.");
Benim soruma gelirsek, ben devreye hareket sensörü takıp aktif olarak kullanmak istiyorum fakat hareket sensörü sadece ben komut verdiğimde aktif oluyor örneğin "s" komutu verdiğimde tabi ki kodu ona göre ayarlıyorum. Hiçbir türlü sürekli aktif olacak şekilde bir kod uyduramadım. Umarım anlaşılır olabilmişimdir. Devreye enerji verildiği an hiçbir komut almadan hareket sensörü çalışsın hareket görürse çıkışı versin, devreden elektrik gidene kadar da böyle çalışmaya devam etsin. Hareket olduğunda telefonuma geri dönüş sağlasın.
Teşekkür eder, iyi forumlar dilerim.
char gelen_karakter;
const int kontak1=2,kontak2=3,kontak3=4,kontak4=5;
int buzzer = 6;
float sicaklikgerilim;
int okunandeger;
float sicaklik;
int lm35 = A0;
int led = 7;
int zaman =50;
int ldrsensor = 8;
int ldrled = 9;
int susensor = 10;
void setup() {
pinMode(kontak1,OUTPUT);
pinMode(kontak2,OUTPUT);
pinMode(kontak3,OUTPUT);
pinMode(kontak4,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(led,OUTPUT);
pinMode(ldrsensor,INPUT);
pinMode(ldrled,OUTPUT);
pinMode(susensor,INPUT);
Serial.begin(9600);
}
void loop() {
while(Serial.available()>0)
{
gelen_karakter=Serial.read();
if(gelen_karakter=='6'){
digitalWrite(kontak4,HIGH);
Serial.println("Kontak 4 aktif, Led4 yakıldı.");
}
else if(gelen_karakter=='7'){
digitalWrite(kontak4,LOW);
Serial.println("Kontak 4 pasif, Led4 söndürüldü.");
}
else if(gelen_karakter=='4'){
digitalWrite(kontak3,HIGH);
Serial.println("kontak 3 aktif Led3 yakıldı.");
}
else if(gelen_karakter=='5'){
digitalWrite(kontak3,LOW);
Serial.println("Kontak 3 pasif, Led3 söndürüldü.");
}
else if(gelen_karakter=='2'){
digitalWrite(kontak2,HIGH);
Serial.println("Kontak 2 aktif, Led2 yakıldı.");
}
else if(gelen_karakter=='3'){
digitalWrite(kontak2,LOW);
Serial.println("Kontak 2 pasif, Led2 söndürüldü");
}
else if(gelen_karakter=='0'){
digitalWrite(kontak1,HIGH);
Serial.println("Kontak 1 aktif, Led1 yakıldı.");
}
else if(gelen_karakter=='1'){
digitalWrite(kontak1,LOW);
Serial.println("Kontak 1 pasif, Led1 söndürüldü.");
}
else if(gelen_karakter=='8'){
okunandeger=analogRead(lm35);
sicaklikgerilim = (5000.0/1023.0) * okunandeger;
sicaklik = sicaklikgerilim / 100.0;
Serial.print("Sıcaklık:");
Serial.println(sicaklik);
delay(1000);
if(sicaklik >= 27){
digitalWrite(led,HIGH);
digitalWrite(buzzer,HIGH);
Serial.print("Sıcaklık yüksek. Uyarı ışığı ve buzzer aktif.");
}
}
else if(gelen_karakter=='o'){
digitalWrite(led,LOW);
digitalWrite(buzzer,LOW);
Serial.print("Sıcaklık alarmı kapatıldı.");
}
else if(gelen_karakter=='9')
{
bool ldrdeger = digitalRead(ldrsensor);
if(ldrdeger == 1)
{
digitalWrite(ldrled,HIGH);
Serial.print("Işık seviyesi düşük.Işık açıldı");
}
else
{
digitalWrite(ldrled,LOW);
Serial.print("Işık seviyesi yeterli.Işık kapandı");
}
}
else if(gelen_karakter=='t')
{
bool sudeger = digitalRead(susensor);
if(sudeger == 1){
Serial.print("Su yetersiz");
}
else
{
Serial.print("Su yeterli");
}
}
}
}