husonet | Tarih: 24.11.2016
Arduino led yakma
Arduino led yakma işlemi ile Arduino programlamaya giriş.
Arduino programlamayı duyman neredeyse yoktur. Şayet ilk defa duydum diyorsanız bence bu konuya giriş için Arduino nedir? yazısını okuyabilirsiniz. Aşağıda yapacağımız örneğimizde ışıkların ardarda sırayla yanan ve sönen Arduino modelleme tasarlamaya çalışalım.
Gerekli Malzemelerimiz bir adet ARDUINO, bir adet BOARD, iki adet LED, iki adet DİRENÇ, iki adet JUMPER kablo bu oluşturacağımız örnek için yeterli olacaktır.
Arduino LED Şema
Şemada da gözüktüğü gibi topraklamayı GND üzerinden jumper ara kablo ile boarda yapılır. Bu kısım bizim negatif olarak adlandırdığımız kısımdır. Ledlerimizi yerleştirtikten sonra Ledlerimizin dengesiz bir elektrik akımına karşı yanmaması için direnç kullanılır. Şayet kullanmazsak Ledlerimizin yanma olasılığı artar. LED lerin bir bacağı kısa bir bacağı ise uzun olur kısa olan bacak sırası üzerinden şemaya dikkatlice bakınız topraklama yaptığımız sıraya bir adet direnç koyulur, diğer taraftan yani uzun bacak üzerinden de pin ler üzerine JUMPER kablo ile bağlama işlemi yapılır. Diğer Led içinde aynı işlemler yapılır. Anlaşılabilir olması için iki adet LED kullanılmıştır.
Arduino kodlaması yapmak için gerekli kurulum işlemi
apt-get install arduino
Arduino Örnek
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop() {
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(1000);
}
Yukarıda Arduino setup fonksiyonu pinleri ile girişi mi çıkış mı yapacağımızı belirlerken çağırırız. Cihaz ilk önce bu methodu okur ardından da devamlı olarak loop fonksiyonunu çağırır.
Peki biz örneğimizi biraz daha genişletelim ve örneğimize üçüncü bir LED ekleyelim bağlantı şemamıza uygun bir şekilde yapılandıralım bu örneğimizde ise üç LED'i ters ya da düz yanacağını python programlama dili üzerinden göndereceğimiz kod ile belirleyelim.
int gelenByte;
void setup() {
Serial.begin(9600);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
}
void duz()
{
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
delay(1000);
}
void ters()
{
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(1000);
}
void loop() {
if (gelenByte == 'R') {
duz();
}
if (gelenByte == 'L') {
ters();
}
if (Serial.available() > 0) {
gelenByte = Serial.read();
if (gelenByte == 'R') {
duz();
}
if (gelenByte == 'L') {
ters();
}
}
}
[embed]https://www.youtube.com/watch?v=-ngLIvydzxg[/embed]
Gönderim işlemini yapacağımız Python kodu.
import serial
ser = serial.Serial('/dev/ttyUSB1', 9600)
ser.write('L') # sola dogru
ser.write('R') # saga dogru