Merhabalar, bu yazımızda daha önce bahsi geçen güçlü bir mikro bilgisayar olan LattePanda ile içine entegre edilmiş (built-in) Arduino Leonardo entegresini kullanarak buton okuma ve röle kontrolü yapacağız. Bu uygulamada basitçe lattepanda buton okuma ve yazma işlemlerini gerçekleştireceğiz.

LattePanda

İlk öce pin bağlantılarını inceleyelim. Kartın üzerine entegre edilmiş Arduino Leonardo kartı Arduino Uno kartına benzemekle birlikte daha fazla analog ve dijital pinlere ve daha güçü bir işlemciye sahiptir. Aşağıda pin bağlantılarını görüyorsunuz.

LattePanda Pin Bağlantıları

Sol tarafta 3 pin soketler bulunmaktadır. Bunlar D9-10-11 dijital pinlerini ve A0-1-2 analog pinlerini temsil etmektedir. Aynı pinler sağ taraftaki 2×14 dişi header pinlerinde de mevcuttur. Bu şekilde yapılmalarının sebebi bazı sensorler için hazır bağlantı oluşturmaktır.

Uygulamamızda D9 pinine bağlı butonu okuayarak, D7 ve D8 pinlerine bağlı ledleri yaktıracağız arkadaşlar. Bunu yapmak için iki farklı yöntem kullanabilirsiniz.

  1. Arduino Standart Firmata Kullnarak
  2. Arduino ile direk Serial port iletişimi kullanarak

Biz bu uygulamamızda 1. yöntemi kullanacağız, çünkü, 2. yöntemi daha önce bir çok uygulamamızda yaptık. Normal serial iletişim kurarak yapılabilirsiniz. Aşağıdaki devre şemasını incelersek butonu 10K lık bir direnç ile pull-up yapıyoruz. Bu sayede butona basmadığımız zaman arduino 1 olarak, bastığımız zaman ise 0 olarak algılamasını sağlamaktayız. LED lere ise 1K lık direnç yeterli olmaktadır.

LattePanda Arduino Buton ve Led Bağlantıları

LattePanda Buton Okuma Programlama

C# koduna gelmeden önce kartın içine Arduino IDE’ yi kurmayı unutmayın ve standart firmatayı yükleyin. Nasıl yapıldığını daha önceki yazımızda bahsetmiştik. Ek olarak C# koduna Arduino.cs kodunu Add>Referance yapmayı unutmayın. İndirmek için aşağıdaki linkte bulabilirsiniz.

http://www.kaizen40.com/lattepanda-c-kurulumu-ve-arduino-programlama/

Eğer bu adamı yapmazsanız kodunuz çalışmayacaktır. Arayüzünüzü aşağıdaki gibi hazırlayın.

LattePanda Arduino C# Uygulaması

Kodumuza gelecek olursak; Bu kodda arayüzdeki butona bastığımızda ledleri yakıp söndürmekteyiz. Devre üzerindeki butona basınca da ekrandaki labelde buton durumunu görmekteyiz. ilk önce Arduino.cs sınıfından bir nesne tanımlıyoruz. C# programını çalıştırınca bu sınıf içerisinde arduino’ nun serialı açılmaktadır.

// www.kaizen40.com

using System;
using System.Windows.Forms;
using LattePanda.Firmata;

namespace WindowsFormsApp1
{
    public partial class Form1: Form
    {
        Arduino arduino = new arduino ();

        public Form1 ()
        {
            InitializeComponent();
        }

        private void Form1_Load (object sender, EventArgs e)
        {
            timer1.Interval = 500;
            timer1.Enabled = true;
        }

        private void button1_Click (object sender, EventArgs e)
        {
            arduino.digitalWrite (7, Arduino.HIGH); // ledleri yak           
        }

        private void button2_Click (object sender, EventArgs e)
        {
            arduino.digitalWrite (8, Arduino.HIGH);
        }

        private void button3_Click (object sender, EventArgs e)
        {
            arduino.digitalWrite (7, Arduino.LOW); // LattePanda buton okuma
            arduino.digitalWrite (8, Arduino.LOW);
        }

        private void timer1_Tick (object sender, EventArgs e)
        {
            label2.Text = arduino.digitalRead(9).ToString();    // 1 veya 0 döndürecek
        }    
    }
}

Bir önceki yazımızda analog okuma yapmıştık. Bu yazımızda da LattePanda buton okuma ve yazma yaptık. Umarım faydalı olmuştur. İyi çalışmalar.


0 yorum

Bir yanıt yazın

Avatar placeholder

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.