Arduino İle Kod Yazma

Leodamar

Üye
Katılım
5 Ocak 2016
Mesajlar
34
Puanları
1
Yaş
24
Konum
Ev
Arkadaşlar herkese merhaba, Elektronik Teknolojisi bölümü okuyorum. Hocamız bir kaç soru verdi ve bu soruları Ardunio ile kodlayarak çözümlememiz gerektiğini söyledi. Yardımcı olacak arkadaşlara şimdiden teşekkür ediyorum.

1)Arduino kullanarak aşağıda verilen LED’li sistemi ve arduino kodlarını tasarlayınız. (25 puan)
➢ Elinizde dört adet LED ve dört adet botun bulunacaktır. Birinci butona basıldığında bütün LEDler aynı anda yanacak ve bir saniye sonra sönecektir. Bu işlem başka bir komut gelene kadar sürekli devam edecektir.
➢ İkici butona basıldığında birinci LED’ten başlayarak bütün LEDler sıra ile yanacak ve hepsi yandıktan sonra tam tersi sıra ile hepsi sönecektir. (Aralardaki zaman gecikmeleri 1 saniye olarak ayarlanacaktır.)
➢ Üçüncü butona basıldığında birinci ve dördüncü LEDler 1 saniye boyunca yanacak ve sonra onlar sönüp 1 saniye boyunca üçüncü ve dördüncü LEDler yanacaktır. Bu işlem başka bir komut gönderilene kadar devam edecektir.
➢ Dördüncü butona basıldığında sizin seçtiğin herhangi bir LED yarım saniye aralıklarla yanıp sönecektir.

2)Analog A0 pininden bir potansiyometre üzerindeki gerilim değerleri okunacak ve motor hız kontrolü yapılacaktır. (25 puan)
➢ Potansiyometre üzerinde okunan değer 0-5V arasında ölçeklendirilmelidir. 0V-2.5V arasında belirli bir yönde dönen motor, 2.5V-5V arasında gerilim değerlerinde tam tersi yönde dönmelidir. Motorunuzun hızı her 0.5V aralıkta biraz daha hızlanmalıdır. (0-0.5V arasında belli bir hızda, 0.5-1V arasında daha hızlı olacak şekilde 2.5V’a kadar hızlanmalıdır. 2.5V’un üzerinde ise diğer dönme yönünde yine aynı gerilim aralığı ile hızı giderek artmalıdır.)

3)LCD ekranın üst satırında adınızı (Soyada gerek yok!!), bir alt satıra ise öğrenci numaranızı yazdırınız. (25 puan)

4)Bir 7segmet gösterge uygulaması yapmanız istenmektedir.
➢ Bir adet buton ve bir adet ortak anotlu 7 segmen gösterge alınız. Butona bastığınızda 7 segment göstergede öğrenci numranızın son hanesi çıkmalıdır.
➢ Ortak anotlu 7 segmeti ve botunu devreden çıkarınız ve ortak katotlu bir 7 segment bağlayınız. Ortak katotlu 7 segmenti kullanarak numarasının son hanesi çift olanlar sırası ile sadece çift rakamları sayan, numarasının son hanesi tek olanlar sadece tek rakamları sayan bir sayıcı devresi tasarlayacaklar.
 
1 gün uğraşmak gerek. Vakti olup uğraşmak isteyen yardımcı olabilir. Bire bir aynısı hazırda kimsede yoktur.
 
2.soruyu bir türlü çözemedim. Veya en azından bir soruda yardımcı olabilecek varsa çok memnun kalırım.
@bolubeyi
 
0 Volt 0'a karşılık gelir.
5 Volt 1023'e karşılık gelir.
O halde 2,5V 512'ye dek gelir.
Orantı kurarak 0,5V, 1V, 1,5V, 2V, 3V, 3,5V 4V, 4,5V ve 5V değerleri için 0 ile 1023 arasındaki değerleri tespit edin.

potun orta pinini A0 girişine bağlayın. Diğer 2 pinin birini 5Volta diğerini GNDye bağlayın.

A0 pinindeki gerilim değeri pot ayarlandıkça 0-5V arasında değişecektir.

analogWrite komutuyla bu 0-5V arasında değişkenlik gösteren voltajı map komutuyla 0-1023 arasında değere çevirin ve bir değişkene kaydedin.

Sonra potun aldığı konumu bu değişken üzerinden tespit ederek bu bilgiyi pwm sinyaline dönüştürüp H köprü tipi motor sürücüye uygulayın.

Motorunuz soruda istenilen şekilde dönecektir.

Özetle bunları yapmanız gerek.
 
1. soru

Kod:
#include <Arduino.h>
void setup() {
  pinMode(1,INPUT); // birinci but
  pinMode(2,INPUT); //ikinci but
  pinMode(3,INPUT); // üçüncü but
  pinMode(4,INPUT); // dördüncü but
  pinMode(5,OUTPUT); // birinci led
  pinMode(6,OUTPUT); // ikinci led
  pinMode(7,OUTPUT); // üçüncü led
  pinMode(8,OUTPUT); // dördüncü led

}
void loop(){
  if(digitalRead(1)){
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(8,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(8,LOW);
  }

  if(digitalRead(2)){
      digitalWrite(5,HIGH);
      delay(1000);
      digitalWrite(6,HIGH);
      delay(1000);
      digitalWrite(7,HIGH);
      delay(1000);
      digitalWrite(8,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(8,LOW);

  }
   if(digitalRead(3)){
      digitalWrite(5,HIGH);
      digitalWrite(8,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(8,LOW);

  }
  if(digitalRead(4)){
      digitalWrite(5,HIGH);
      delay(1000);
      digitalWrite(5,LOW);

  }
  }
 
Son düzenleme:
0 Volt 0'a karşılık gelir.
5 Volt 1023'e karşılık gelir.
O halde 2,5V 512'ye dek gelir.
Orantı kurarak 0,5V, 1V, 1,5V, 2V, 3V, 3,5V 4V, 4,5V ve 5V değerleri için 0 ile 1023 arasındaki değerleri tespit edin.

potun orta pinini A0 girişine bağlayın. Diğer 2 pinin birini 5Volta diğerini GNDye bağlayın.

A0 pinindeki gerilim değeri pot ayarlandıkça 0-5V arasında değişecektir.

analogWrite komutuyla bu 0-5V arasında değişkenlik gösteren voltajı map komutuyla 0-1023 arasında değere çevirin ve bir değişkene kaydedin.

Sonra potun aldığı konumu bu değişken üzerinden tespit ederek bu bilgiyi pwm sinyaline dönüştürüp H köprü tipi motor sürücüye uygulayın.

Motorunuz soruda istenilen şekilde dönecektir.

Özetle bunları yapmanız gerek.
Hocam çok teşekkür ediyorum eline emeğine sağlık 🙏🏽
1. soru

Kod:
#include <Arduino.h>
void setup() {
  pinMode(1,INPUT); // birinci but
  pinMode(2,INPUT); //ikinci but
  pinMode(3,INPUT); // üçüncü but
  pinMode(4,INPUT); // dördüncü but
  pinMode(5,OUTPUT); // birinci led
  pinMode(6,OUTPUT); // ikinci led
  pinMode(7,OUTPUT); // üçüncü led
  pinMode(8,OUTPUT); // dördüncü led

}
void loop(){
  if(digitalRead(1)){
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(8,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(8,LOW);
  }

  if(digitalRead(2)){
      digitalWrite(5,HIGH);
      delay(1000);
      digitalWrite(6,HIGH);
      delay(1000);
      digitalWrite(7,HIGH);
      delay(1000);
      digitalWrite(8,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(8,LOW);

  }
   if(digitalRead(3)){
      digitalWrite(5,HIGH);
      digitalWrite(8,HIGH);
      delay(1000);
      digitalWrite(5,LOW);
      digitalWrite(8,LOW);

  }
  if(digitalRead(4)){
      digitalWrite(5,HIGH);
      delay(1000);
      digitalWrite(5,LOW);

  }
  }
Hocam çok teşekkür ediyorum. Elinize emeğinize sağlık 🙏🏽
 
Arkadaşlar herkese merhaba, Elektronik Teknolojisi bölümü okuyorum. Hocamız bir kaç soru verdi ve bu soruları Ardunio ile kodlayarak çözümlememiz gerektiğini söyledi. Yardımcı olacak arkadaşlara şimdiden teşekkür ediyorum.

1)Arduino kullanarak aşağıda verilen LED’li sistemi ve arduino kodlarını tasarlayınız. (25 puan)
➢ Elinizde dört adet LED ve dört adet botun bulunacaktır. Birinci butona basıldığında bütün LEDler aynı anda yanacak ve bir saniye sonra sönecektir. Bu işlem başka bir komut gelene kadar sürekli devam edecektir.
➢ İkici butona basıldığında birinci LED’ten başlayarak bütün LEDler sıra ile yanacak ve hepsi yandıktan sonra tam tersi sıra ile hepsi sönecektir. (Aralardaki zaman gecikmeleri 1 saniye olarak ayarlanacaktır.)
➢ Üçüncü butona basıldığında birinci ve dördüncü LEDler 1 saniye boyunca yanacak ve sonra onlar sönüp 1 saniye boyunca üçüncü ve dördüncü LEDler yanacaktır. Bu işlem başka bir komut gönderilene kadar devam edecektir.
➢ Dördüncü butona basıldığında sizin seçtiğin herhangi bir LED yarım saniye aralıklarla yanıp sönecektir.

2)Analog A0 pininden bir potansiyometre üzerindeki gerilim değerleri okunacak ve motor hız kontrolü yapılacaktır. (25 puan)
➢ Potansiyometre üzerinde okunan değer 0-5V arasında ölçeklendirilmelidir. 0V-2.5V arasında belirli bir yönde dönen motor, 2.5V-5V arasında gerilim değerlerinde tam tersi yönde dönmelidir. Motorunuzun hızı her 0.5V aralıkta biraz daha hızlanmalıdır. (0-0.5V arasında belli bir hızda, 0.5-1V arasında daha hızlı olacak şekilde 2.5V’a kadar hızlanmalıdır. 2.5V’un üzerinde ise diğer dönme yönünde yine aynı gerilim aralığı ile hızı giderek artmalıdır.)

3)LCD ekranın üst satırında adınızı (Soyada gerek yok!!), bir alt satıra ise öğrenci numaranızı yazdırınız. (25 puan)

4)Bir 7segmet gösterge uygulaması yapmanız istenmektedir.
➢ Bir adet buton ve bir adet ortak anotlu 7 segmen gösterge alınız. Butona bastığınızda 7 segment göstergede öğrenci numranızın son hanesi çıkmalıdır.
➢ Ortak anotlu 7 segmeti ve botunu devreden çıkarınız ve ortak katotlu bir 7 segment bağlayınız. Ortak katotlu 7 segmenti kullanarak numarasının son hanesi çift olanlar sırası ile sadece çift rakamları sayan, numarasının son hanesi tek olanlar sadece tek rakamları sayan bir sayıcı devresi tasarlayacaklar.
selamın aleyküm bu ödev soruları bana da lazım oldu sende duruyorsa yardımcı olurmusun
 
ve aleyküm selam soruları dün akşam yazdım belki yardımı dokunan olur diye bakalım artık dönüş yapan olursa..
 

Forum istatistikleri

Konular
129,689
Mesajlar
929,034
Kullanıcılar
452,395
Son üye
gkmeens

Yeni konular

Çevrimiçi üyeler

Geri
Üst