Arduino Eğitim Kiti – Tüm Yıl İçin Arduino Müfredatı: Ders 26 Butonlar ile Nota Sesi – Sıcaklığa göre Duygu Emojileri Uygulamaları için isterseniz sunu şeklinde alt taraftaki kutucuğu büyüterek takip edebilir, isterseniz de tüm sunu sayfalarının makale haline dönüştürülmüş versiyonu takip edebilirsiniz. İçerikler büyük oranda aynıdır. Sınıf ortamında kolaylık olması açısından sunu şeklinde de sunulmuştur.

Ders İçeriği:

Butonlar ile Nota Sesi – Sıcaklığa Göre Duygu Emojileri Uygulamaları

Ders Kazanımları:

  • Butonlar ile Buzzerdan Nota Sesi Çıkarma programını yardım almadan başarılı bir şekilde tasarlar.
  • Sese Göre Duygu Emojileri programını yardım almadan başarılı bir şekilde tasarlar.

Oluşabilecek Hatalar:

Aşağıdaki programları çalıştırırken birtakım hatalarla karşılaşabilirsiniz. Bu hataların kodların yazımında meydana gelen hatalar dışında başka sebeplerle ortaya çıkması muhtemeldir. Bu hatalardan sık karşılaşılanlara aşağıda değinilmiştir.

Kart Seçilmesinden Kaynaklı Hata:

Arduino kurulumu gerçekleştirildikten sonra araçlar menüsünden doğru kartın seçilmesi gerekmektedir. Kart seçilmediğinde “Karta yüklenirken bir sorun oluştu.” benzeri bir hata alabilirsiniz.

USB Portun Seçilmesiyle İlgili Hatalar:

Arduino kurulumu gerçekleştirildikten sonra araçlar menüsünden doğru portun seçilmesi gerekmektedir. Bu port Arduino Uno’nun bilgisayara bağlandığı usb porttur. Farklı şekilde bilgisayarınızda usb driver yüklenmemiş olabilir. Bu gibi hatalarda “Port bulunamadı.” gibi hatalar almanız muhtemeldir.


Uygulama 1: Butonlar ile Buzzerdan Nota Çıkarma

Kullanılacak Malzemeler:

Bağlantı Şeması:

Bağlantılar şekildeki gibi yapılır.

Resim125

  1. Arduino üzerindeki 5V pini breadboard üzerinde “+” hatta, GND pini ise breadboard üzerinde “-” hatta bağlanır.
  2. Butonlar şekildeki gibi yerleştirilir.
  3. Butonların bacaklarından biri “-” hatta bağlanır.
  4. Butonların diğer bacakları ise sırasıyla 10, 11, 12, 13 nolu pinlere bağlanır.
  5. Buzzer breadboard üzerine yerleştirilir.
  6. Direnç şekildeki uzun bacağın bağlı olduğu hatta şekildeki gibi yerleştirilir.
  7. Direncin boşta kalan bacağı 6 nolu pine bağlanır.
  8. Buzzerın kısa bacağı ise “-” hatta bağlanır.

Kodlar:

Uygulamanın “.ino” dosyasını (kod dosyasını) buradan indirebilirsiniz.

#include "pitches.h"
int F = 10;
ing G = 11;
int A = 12;
int B = 13;
int f[] = {NOTE_F5};
int g[] = {NOTE_G5};
int a[] = {NOTE_A5};
int b[] = {NOTE_B5};
int duration(500);
void setup() {
pinMode(F, INPUT_PULLUP);
pinMode(G, INPUT_PULLUP);
pinMode(A, INPUT_PULLUP);
pinMode(B, INPUT_PULLUP);
void loop() {
if (digitalRead(F) == LOW) {
for (int Note = 0; Note <1; Note++)
{
tone(6, f[Note], duration);
}
}
if (digitalWrite(G) == LOW) {
for (int Note = 0; Note < 1; Note++) {
tone(6, g[Note], duration);
}
}
if (digitalRead(A) == LOW) {
for (int Note = 0; Note < 1; Note++) {
tone(6, b[Note], duration);
}
}
}
  • Yukarıdaki bağlantı yapıldığında ve kodlar Arduino Uno’ya yüklendiğinde çalışma tamamlanmış olacaktır.
  • Bu uygulamada her bir butona basıldığında buzzerdan farklı bir ses işitilecek.

Uygulama 2: Sıcaklığa Göre Duygu Emojileri

Kullanılacak Malzemeler:

Bağlantı Şeması:

Bağlantılar şekildeki gibi yapılır.

Resim126

  1. Arduino üzerindeki 5V pini breadboard üzerinde “+” hatta, GND pini ise yine breadboard üzerinde “-” hatta bağlanır.
  2. 8×8 Dot Matrix VCC hattı “+” hatta, GND hattı “-” hatta, DIN 5 nolu pine, CS 4 nolu pine, CLK 3 nolu pine bağlanır.
  3. Isı nem sensörünün “+” hattı “+” hatta,  “-”  hattı “-” hatta, OUT pini 8 nolu pine bağlanır.

Kodlar:

Uygulamanın “.ino” dosyasını (kod dosyasını) buradan indirebilirsiniz.

#include "LedControl.h"
int DIN = 5;//dot matrix bağlantısı
int CS = 4;
int CLK = 3;
#include <Wire.h>//ısı nem cihazı bağlantısı
#include <DHT.h>
#define DHTPIN 8
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);
byte gulumseyen[8]= {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C};
//gulumseyen suratın hexadecimal karşılığı
byte uzgun[8]= {0x3C,0x42,0xA5,0x81,0x99,0xA5,0x42,0x3C};
//uzgun suratın hexadecimal karşılığı
LedControl lc=LedControl(DIN,CLK,CS,0);
void setup(){
lc.shutdown(0,false); //Max72xx açılır
lc.setIntensity(0,1); // parklaklıhı ayarlar
lc.clearDisplay(0); // ekranı temizler
pinMode(8,INPUT);
dht.begin();
}
void loop(){
float t=dht.readTemperature();//sıcaklık ölçümü
Serial.begin(9600);
Serial.println("Sicaklik:");
Serial.print(t);
if(t>28)///sıcaklık 28dereceden büyükse
{
printByte(uzgun);
delay(100);
}
else if (t<28)
{
printByte(gulumseyen);
delay(5000);
}
}
void printByte(byte character [])//suratın belirmesi için ledlere sinyal gönderilmesi
{
int i = 0;
for(i=0;i<8;i++)
{
lc.setRow(0,i,character[i]);
}
}
  • Yukarıdaki bağlantı yapıldığında ve kodlar Arduino Uno’ya yüklendiğinde çalışma tamamlanmış olacaktır.
  • Bu uygulamada DHT11 Sensörden sıcaklık ölçülecek.
  • Ardından sıcaklık eğer 28 dereceden büyükse Dot Matrix’ten üzgün surat ifadesi çıkacaktır.
  • Eğer 28 dereceden küçükse gülümseyen surat ifadesi çıkacaktır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz