Mobil Programlama

App Inventor

RGB LED Görevi

Lisans: Creative Commons 26.11.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Admin

Arkadaşlar merhaba,

Bu zamana kadar yaptığımız LED ve Servo Motor kontrol örneklerinin birazcık dışına çıkacağız ve farklı bir LED türü olan RGB LED'i yine Arduino'muz üzerinden hazırlayacağımız App Inventor uygulamamız ile kontrolünü gerçekleştireceğiz.

 

Nelere ihtiyacımız var?

Bir önceki derslerde öğrendiklerimiz App Inventor - Bluetooth ve Arduino - Bluetooth bağlantılarına ihtiyaç duyacağız. Yani öğrendiğimiz bilgiler bizim için yeterli olacaktır.

Fiziksel olarak ise,

  •  Arduino Uno/Mega/Mini
  •  1 adet RGB LED
  •  Jumper kablolarımız
  • 1 adet akıllı telefon

 

Görev 1: App Inventor Uygulaması

Uygulamamı video olarak hazırlamaktansa arayüzünü ve kodlarını (bloks) resimler halinde veriyorum. Siz de bu resimleri inceleyerek bu görevi tamamlayabilirsiniz.

 

Arayüz tasarımım

Arayüzümde dikkat etmem gereken hususlar RGB Led in Red – Green – Blue ismiyle şekillendiği ve bu 3 temel renge göre düğmelerimi (button) yerleştirdiğim olacak. Ek olarak da Bluetooth bağlantısı için ListPicker'ı kullanmayı sakın unutmayın.

 

Bloks

Bloklarımı yerleştirirken de her zamanki gibi ListPicker'ın BeforePicking ve AfterPicking durumunu ayarlıyorum. Daha sonrasında da düğmelerin (button) tıklanma durumuna göre Arduino'ya Bluetooth üzerinden göndereceğim veriyi (text) ekliyorum.

 

Görev 2: Arduino bağlantısı

Bağlantı şemamda Bluetooth modülüm için,

  • VCC - 3.3 V
  • GND - GND
  • TXD - 7
  • RXD - 8

RGB bağlantım ise soldan sağa doğru,

3 - GND – 5 – 6 şeklinde olacaktır.

 

Görev 3: Arduino Kodu

#include<SoftwareSerial.h>
SoftwareSerial BT(10,11);
String color;
void setup()
{
BT.begin(9600);
Serial.begin(9600);
pinMode(2,OUTPUT); //mavi
pinMode(3,OUTPUT); // yeşil
pinMode(4,OUTPUT); // kırmızı
}
void loop()
{
while (BT.available())
{
delay(10);
char c = BT.read();
color +=c;
}if(color.length()>0) {
Serial.println(color);
if(color=="blue")
{
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(20);
}
else if(color=="green")
{
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
delay(20);
}
else if(color=="red")
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
delay(20);
}
else if(color=="stop")
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(20);
}
color="";
}}

 

 

.aia Dosyasını İndir

.ino Dosyasını İndir