2 aylık bir aranın ardından tekrardan merhaba :).
Bu yazımda, MIT App Inventor 2 aracılığı ile oluşturduğum android programdan bahsedeceğim. Aslında programı ben oluşturmadım,internet üzerinden araştırırken buldum, görünümünde bir kaç değişiklik yaptım göze daha hoş gelmesi için.
Android programımız ,arduino ile herhangi bir sensörden ölçtüğümüz değeri HC-06 bluetooth modülüne bağlanarak görmemizi sağlıyor. Bu modül ile ilgili daha önceki uygulamamız ve yazılım için buraya tıklayınız.
Arduino yazılımınızı oluştururken, android bağlantısı için ayrıca bir kod yazmanıza gerek yok. Sadece HC-06 Bluetooth modülünüzü Arduino'ya bağlamanız ve görmek istediğiniz sensör ya da herhangi değeri, Arduino IDE'deki "Serial Monitör" de görmek ister gibi yazmanız yeterli.
Bunun için bildiğiniz üzere "Serial.println();" komutunu kullanıyoruz.
ÖNEMLİ !!!
Arduino yazılımını oluştururken okunan verinin ekranda gösterilme sıklığını yüksek tutmanız( 1000 ms ve fazlası) ya da okunan değeri integer olarak gösterirseniz sıkıntı yaşamazsınız. Diğer türlü bazı okuma sıkıntıları oluşabiliyor android programda.
LM35 ile sıcaklık ölçümü yaptım, %100 olmasa bile başarılı.
APP Inventor komutları;
Proje dosyalarına aşağıdaki linkten ulaşabilirsiniz.Hem App Inventor 2 'de kendinize göre düzenlemeniz için .aia uzantılı proje dosyasını, hem de telefonunuza kendi hazırlamış olduğum programı direkt yükleyip kullanmanız için .apk uzantılı andorid programı da attım.
https://drive.google.com/file/d/0B7Iv2kkg1He_SnB1WHpJckswQUk/view?usp=sharing
Arduino Application etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Arduino Application etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
19 Haziran 2015 Cuma
Arduino - Android Arayüzünden Bluetooth ile Veri Okuma
14 Şubat 2015 Cumartesi
Arduino - DS18B20 One Wire Sıcaklık Sensörü
Daha önceden LM35 sıcaklık sensörü ile bir uygulama gerçekleştirmiştik. LM35 analog çıkış veren bir sensördü. Bu yazımda ise sizlere dijital çıkış veren bir sıcaklık sensörü olan Dallas 18B20 (DS18B20) ile ilgili bilgi vermek istiyorum.
DS18B20 'nin özelliklerinden bahsedecek olursak ;
* ±0.5°C ölçüm hassasiyetine sahip
* Dallas firmasının geliştirdiği One Wire haberleşmesini kullanır
* Ölçüm aralığı -55°C 'den +125°C 'ye kadardır.
* Termometre çözünürlüğü kullanıcının seçimine bağlı olarak 9 bitten 12 bite kadardır.
Daha ayrıntılı bilgiyi datasheet sayfasında bulabilirsiniz.
DS18B20 Datasheet

Bu sensör ile ilgili yazı yazmak istedim çünkü DS18B20 sensörü ki uygulamayı gerçekleştirdiğinizde siz de anlayacaksınız, LM35 sensörüne göre daha kararlı ve daha hassas. Oda sıcaklığı ölçümünden ziyade vücut ateşi vb. hassasiyet gereken ölçümler yapabilirsiniz. Uygulamaya geçmeden önce aşağıdaki linkten "One Wire" kütüphanesini indirip Arduino klasörünün libraries klasörüne yüklüyoruz.
OneWire Kütüphanesi Linki
Seri haberleşme monitörünü kullanarak LM35'deki gibi aynı ölçümleri almanız mümkün, hatta belirttiğim gibi daha kararlı olduğunu göreceksiniz.
Kaynak;
http://arduinoturkiye.com/ds18b20-dijital-sicaklik-sensorunun-arduino-ile-kullanimi/
DS18B20 'nin özelliklerinden bahsedecek olursak ;
* ±0.5°C ölçüm hassasiyetine sahip
* Dallas firmasının geliştirdiği One Wire haberleşmesini kullanır
* Ölçüm aralığı -55°C 'den +125°C 'ye kadardır.
* Termometre çözünürlüğü kullanıcının seçimine bağlı olarak 9 bitten 12 bite kadardır.
Daha ayrıntılı bilgiyi datasheet sayfasında bulabilirsiniz.
DS18B20 Datasheet

Bu sensör ile ilgili yazı yazmak istedim çünkü DS18B20 sensörü ki uygulamayı gerçekleştirdiğinizde siz de anlayacaksınız, LM35 sensörüne göre daha kararlı ve daha hassas. Oda sıcaklığı ölçümünden ziyade vücut ateşi vb. hassasiyet gereken ölçümler yapabilirsiniz. Uygulamaya geçmeden önce aşağıdaki linkten "One Wire" kütüphanesini indirip Arduino klasörünün libraries klasörüne yüklüyoruz.
OneWire Kütüphanesi Linki
1 | // Arduinoturkiye.com DS18B20 Dijital Sıcaklık Sensörü Kullanımı |
Kaynak;
http://arduinoturkiye.com/ds18b20-dijital-sicaklik-sensorunun-arduino-ile-kullanimi/
4 Ağustos 2014 Pazartesi
Arduino - Processing Arayüzü ile RGB Led Sürme
Merhabalar,
Bu yazıda Processing üzerinden oluşturduğumuz arayüz ile Arduino'ya bağlı RGB ledi süreceğiz.
Öncelikle Processing ile ilgili bilgi vereceğim ama şunu belirtmek istiyorum ki Processing ilgilenmek ve öğrenmek istediğim bir dil fakat ne yazık ki çok bir bilgim yok. O yüzden bu uygulamam Coşkun TAŞDEMİR'in Arduino Uygulama kitabından hoşuma giden ve sizinle paylaşmak istediğim bir uygulama. Şayet hoşunuza giderse (ki gidecek :D) Processing ile ilgilenmek isteyebilirsiniz.Arduino Uygulama Kitabı burda imdadınıza yetişebilecek nitelikte. En azından başlangıç için.
PROCESSING NEDİR ?
Processing açık kaynaklı görsel bir yazılım programıdır. Kodlarla dijital sanat icra edebilir veya da mikrodenetleyiciler ile seri haberleşme sağlayarak onları yönetebilirsiniz.
Download linki Processing İndir
RGB LED
RGB Led ortak anot ve ortak katot olmak üzere 2 çeşidi bulunan bir led türüdür. Çalışma mantığı sağ tarafta bulunan Venn şemasıdır. Kırmızı Mavi Yeşil tonları 8 bitte karıştırırak (0-255) diğer doğal renklerin elektronik ortamda oluşturulmasını sağlar.
Processing ile de bu programı oluşturacağız ve Arduino'ya bağladığımız RGB ledi süreceğiz.
RGB Ledi dirençsiz sürmek istiyorsanız ki ben öyle yaptım, Arduino'nun 3,3V pini ile besleyin. Ben ortak anot kullandım ve RGB ledin uzun bacağını 3,3 V'a bağladım. Ayrıca ledler standart değil renkleri teker teker deneyin !!!
Processing'e yazılımı yazmadan önce Sketch>Import Library bölümünden CONTROLP5 kütüphanesini indiriyoruz.Böylelikle renk seçimi yapabileceğiz.
Çok bir bilgim yok tüm kodlar hakkında buyrun;
import controlP5.*;
import processing.serial.*;
ControlP5 controlP5;
Serial seriPort;
ColorPicker cp;
int kirmizi;
int yesil;
int mavi;
void setup () {
size(400,100);
controlP5=new ControlP5(this);
cp = controlP5.addColorPicker("renksecici",0,0,255,20);
seriPort = new Serial(this,"COM30",9600); // COM30 yerine kendi seriportunuzu yazın.
}
void draw() {
background(cp.getColorValue());
kirmizi=int(red(cp.getColorValue()));
yesil=int(green(cp.getColorValue()));
mavi=int(blue(cp.getColorValue()));
delay(50);
}
void renksecici(int renk){
println("KIRMIZI" +kirmizi + "YEŞİL" +yesil + "MAVİ" +mavi);
RenkGonder();
}
void RenkGonder() {
seriPort.write('R');
seriPort.write(kirmizi);
seriPort.write(yesil);
seriPort.write(mavi);
}
Bu da Arduino kodumuz ;
const int kirmizipin=11;
const int yesilpin=10;
const int mavipin=9;
int kirmizi=0;
int mavi=0;
int yesil=0;
int durum=1;
byte gelen = 0;
void setup(){
Serial.begin(9600);
}
void loop() {
while(Serial.available()>0)
{
gelen =Serial.read();
switch(durum)
{
case 1:
if(gelen=='R')
{durum=2;}
break;
case 2:
kirmizi=gelen;
durum=3;
break;
case 3:
yesil=gelen;
durum=4;
break;
case 4:
mavi=gelen;
durum =1;
break;
}}
analogWrite(kirmizipin,255-kirmizi);
analogWrite(yesilpin,255-yesil);
analogWrite(mavipin,255-mavi);
delay(20);
}
Şayet Processing programınız yok ,fakat yine de denemek istiyorsanız buyrun program linki.
https://drive.google.com/file/d/0B7Iv2kkg1He_blQ1ZUJUX1lmWkE/edit?usp=sharing
Bu da videomuz,
Bu yazıda Processing üzerinden oluşturduğumuz arayüz ile Arduino'ya bağlı RGB ledi süreceğiz.
Öncelikle Processing ile ilgili bilgi vereceğim ama şunu belirtmek istiyorum ki Processing ilgilenmek ve öğrenmek istediğim bir dil fakat ne yazık ki çok bir bilgim yok. O yüzden bu uygulamam Coşkun TAŞDEMİR'in Arduino Uygulama kitabından hoşuma giden ve sizinle paylaşmak istediğim bir uygulama. Şayet hoşunuza giderse (ki gidecek :D) Processing ile ilgilenmek isteyebilirsiniz.Arduino Uygulama Kitabı burda imdadınıza yetişebilecek nitelikte. En azından başlangıç için.
PROCESSING NEDİR ?
Processing açık kaynaklı görsel bir yazılım programıdır. Kodlarla dijital sanat icra edebilir veya da mikrodenetleyiciler ile seri haberleşme sağlayarak onları yönetebilirsiniz.
Download linki Processing İndir
RGB LED
RGB Led ortak anot ve ortak katot olmak üzere 2 çeşidi bulunan bir led türüdür. Çalışma mantığı sağ tarafta bulunan Venn şemasıdır. Kırmızı Mavi Yeşil tonları 8 bitte karıştırırak (0-255) diğer doğal renklerin elektronik ortamda oluşturulmasını sağlar.
Processing ile de bu programı oluşturacağız ve Arduino'ya bağladığımız RGB ledi süreceğiz.
RGB Ledi dirençsiz sürmek istiyorsanız ki ben öyle yaptım, Arduino'nun 3,3V pini ile besleyin. Ben ortak anot kullandım ve RGB ledin uzun bacağını 3,3 V'a bağladım. Ayrıca ledler standart değil renkleri teker teker deneyin !!!
Processing'e yazılımı yazmadan önce Sketch>Import Library bölümünden CONTROLP5 kütüphanesini indiriyoruz.Böylelikle renk seçimi yapabileceğiz.
Çok bir bilgim yok tüm kodlar hakkında buyrun;
import controlP5.*;
import processing.serial.*;
ControlP5 controlP5;
Serial seriPort;
ColorPicker cp;
int kirmizi;
int yesil;
int mavi;
void setup () {
size(400,100);
controlP5=new ControlP5(this);
cp = controlP5.addColorPicker("renksecici",0,0,255,20);
seriPort = new Serial(this,"COM30",9600); // COM30 yerine kendi seriportunuzu yazın.
}
void draw() {
background(cp.getColorValue());
kirmizi=int(red(cp.getColorValue()));
yesil=int(green(cp.getColorValue()));
mavi=int(blue(cp.getColorValue()));
delay(50);
}
void renksecici(int renk){
println("KIRMIZI" +kirmizi + "YEŞİL" +yesil + "MAVİ" +mavi);
RenkGonder();
}
void RenkGonder() {
seriPort.write('R');
seriPort.write(kirmizi);
seriPort.write(yesil);
seriPort.write(mavi);
}
Bu da Arduino kodumuz ;
const int kirmizipin=11;
const int yesilpin=10;
const int mavipin=9;
int kirmizi=0;
int mavi=0;
int yesil=0;
int durum=1;
byte gelen = 0;
void setup(){
Serial.begin(9600);
}
void loop() {
while(Serial.available()>0)
{
gelen =Serial.read();
switch(durum)
{
case 1:
if(gelen=='R')
{durum=2;}
break;
case 2:
kirmizi=gelen;
durum=3;
break;
case 3:
yesil=gelen;
durum=4;
break;
case 4:
mavi=gelen;
durum =1;
break;
}}
analogWrite(kirmizipin,255-kirmizi);
analogWrite(yesilpin,255-yesil);
analogWrite(mavipin,255-mavi);
delay(20);
}
Şayet Processing programınız yok ,fakat yine de denemek istiyorsanız buyrun program linki.
https://drive.google.com/file/d/0B7Iv2kkg1He_blQ1ZUJUX1lmWkE/edit?usp=sharing
Bu da videomuz,
11 Temmuz 2014 Cuma
Arduino - C# Arayüzü ile Led Yakma
Bu yazımda C# ile oluşturduğumuz arayüz ile Arduino'nun dijital çıkışlarına hükmetmeyi öğreneceğiz. Uygulamamız 2 aşamadan oluşmakta. Önce Arduino'ya yükleyeceğimiz programda hangi çıkışımızı yani ledi ON ve OFF duruma getirecek datayı belirleyeceğiz. Daha sonra da C# arayüzünden önce Port'lara bağlanmayı ve butonlara bastığımızda hangi datayı göndereceğimizi kararlaştıracağız.
C# ile ilgilenmenizi öneririm çünkü her defasında LCD bağlamak veya Serial Monitör kullanamayacağımız projeler olabilir. Tüm verileri tek arayüz üzerinden göndermek veya almak zorunda kalabilirsiniz. İnternet üzerinden C# üzerine projeleri veya arayüzü öğrenmeniz size fayda sağlar. Lafı fazla uzatmadan önce Arduino kodlarımızı vermek istiyorum;
int led = 13; // Hali hazırda bulunan ledi kullanacağım.
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()) //Eğer seri haberleşme açık olursa alttaki komutlar işleyecek.
{int a=Serial.read(); //Seri haberleşme ile okunan verimize a integer değerini verdik.
if(a=='1')
{ digitalWrite(led, HIGH);} // a, 1 olursa yanacak.
else if (a == '0') // a, 0 olursa sönecek.
{digitalWrite(led, LOW);}
}
}
C# kısmımızda Toolbox'dan aldığımız nesneler, ComboBox, 3 Buton, 1 Label.
Led Yak = Buton 3
Led Söndür = Buton 2
Bağla = Buton 1
Programımıza bakarsanız daha bu kısım daha iyi anlaşılacaktır.
Arayüzü oluşturduktan sonra Components kısmından SerialPort nesnesini arayüzün üzerine atıyoruz.
Amacımız önce programı yüklemiş olduğumuz Arduino'nun portuna, bu arayüz ile bağlanarak LED YAK ve LED SÖNDÜR komutlarını kullanmak :)
C# komutlarımız ;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace ArduinoSerial
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
serialPort1.PortName = comboBox1.Text;
serialPort1.Open();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DataSource = SerialPort.GetPortNames();
}
private void button2_Click(object sender, EventArgs e)
{
serialPort1.Write("0");
label1.Text = "LED KAPALI";
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.Write("1");
label1.Text = "LED AÇIK";
}
private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
{
}
}
}
Programın çalışabilmesi için Bilgisayarınızda Framework yüklü olması gerekmektedir.
Tüm Dosyaları İndirmek İçin Tıklayın (File>Download)
(Exe dosyası ArduinoSerial\ArduinoSerial\bin\Debug klasörünün içinde.)
Bu da C# arayüz oluşturma videomuz ve çalıştırma videomuz ;
Kolay gelsin :)...
C# ile ilgilenmenizi öneririm çünkü her defasında LCD bağlamak veya Serial Monitör kullanamayacağımız projeler olabilir. Tüm verileri tek arayüz üzerinden göndermek veya almak zorunda kalabilirsiniz. İnternet üzerinden C# üzerine projeleri veya arayüzü öğrenmeniz size fayda sağlar. Lafı fazla uzatmadan önce Arduino kodlarımızı vermek istiyorum;
int led = 13; // Hali hazırda bulunan ledi kullanacağım.
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()) //Eğer seri haberleşme açık olursa alttaki komutlar işleyecek.
{int a=Serial.read(); //Seri haberleşme ile okunan verimize a integer değerini verdik.
if(a=='1')
{ digitalWrite(led, HIGH);} // a, 1 olursa yanacak.
else if (a == '0') // a, 0 olursa sönecek.
{digitalWrite(led, LOW);}
}
}
C# kısmımızda Toolbox'dan aldığımız nesneler, ComboBox, 3 Buton, 1 Label.
Led Yak = Buton 3
Led Söndür = Buton 2
Bağla = Buton 1
Programımıza bakarsanız daha bu kısım daha iyi anlaşılacaktır.
Arayüzü oluşturduktan sonra Components kısmından SerialPort nesnesini arayüzün üzerine atıyoruz.
Amacımız önce programı yüklemiş olduğumuz Arduino'nun portuna, bu arayüz ile bağlanarak LED YAK ve LED SÖNDÜR komutlarını kullanmak :)
C# komutlarımız ;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace ArduinoSerial
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
serialPort1.PortName = comboBox1.Text;
serialPort1.Open();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DataSource = SerialPort.GetPortNames();
}
private void button2_Click(object sender, EventArgs e)
{
serialPort1.Write("0");
label1.Text = "LED KAPALI";
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.Write("1");
label1.Text = "LED AÇIK";
}
private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
{
}
}
}
Programın çalışabilmesi için Bilgisayarınızda Framework yüklü olması gerekmektedir.
Tüm Dosyaları İndirmek İçin Tıklayın (File>Download)
(Exe dosyası ArduinoSerial\ArduinoSerial\bin\Debug klasörünün içinde.)
Bu da C# arayüz oluşturma videomuz ve çalıştırma videomuz ;
Kolay gelsin :)...
8 Mart 2014 Cumartesi
Arduino - Ortak Katot 7 Segmentli Gösterge 0-9 Sayıcı
Bir önceki yazımda ledleri buton yardımıyla sırasıyla yakmıştık. Bu yazımda ise 7 segment gösterge (display) kullanarak 0-9 sayıcı yapacağız. Ama önce 7 segment display hakkında biraz bilgi edinmeliyiz.Displaylerin bir çok çeşiti bulunmakta (ortak anot,ortak katot, 7seg,14 seg, 16 seg vs.). Biz projemizde 7 segmentli ortak katot display kullanacağız.

Display 8 adet ledden oluşmakta. Bunlardan 7 tanesini
istediğimiz rakamları göstermek için kullanacağız. Bu yüzden de hangi ledi hangi harfle adlandırdığımızı programlamanın ve sayıcının sağlığı açısından iyi öğrenmemiz gerekiyor. Sağdaki resim hangi ledin hangi harf ile standardize edildiğini gösteriyor. Bu isimler standarttır tabi siz kendi istediğiniz gibi adlandırabilirsiniz fakat şimdiki proje için standarda uyacağız.
Elimizde bulunan katot displayin hangi pininin hangi ledi yaktığı yandaki resim göstermekte. A ledini yakmak için örneğin 7 numaralı display pinine gerilim vermeliyiz. Tabii ki 5 voltu aşmamak ve 8.,3. pinlerin toprağa bağlı olması şartı ile.
Herhangi bir lede gerilim uygulamadaki direnç bağlama kuralımızı burda da işleyebiliriz o yüzden pinlere direkt 9v veya benzeri gerilimleri uygulamayın :) .
Devrede bir önceki yazıda yaptığımız uygulamaya benzer olacak sadece daha gösterişli ve daha anlamlı daha işe yarar bir proje olacak. Geliştirilerek skorboard yapılabilir bu proje ile.

Display 8 adet ledden oluşmakta. Bunlardan 7 tanesini
istediğimiz rakamları göstermek için kullanacağız. Bu yüzden de hangi ledi hangi harfle adlandırdığımızı programlamanın ve sayıcının sağlığı açısından iyi öğrenmemiz gerekiyor. Sağdaki resim hangi ledin hangi harf ile standardize edildiğini gösteriyor. Bu isimler standarttır tabi siz kendi istediğiniz gibi adlandırabilirsiniz fakat şimdiki proje için standarda uyacağız.
Elimizde bulunan katot displayin hangi pininin hangi ledi yaktığı yandaki resim göstermekte. A ledini yakmak için örneğin 7 numaralı display pinine gerilim vermeliyiz. Tabii ki 5 voltu aşmamak ve 8.,3. pinlerin toprağa bağlı olması şartı ile.
Herhangi bir lede gerilim uygulamadaki direnç bağlama kuralımızı burda da işleyebiliriz o yüzden pinlere direkt 9v veya benzeri gerilimleri uygulamayın :) .
Projemize gelince, yanmasını istediğimiz ledleri teker teker Arduino'muzdaki belirlediğimiz pinlere takıyoruz. Kusura bakmayın fritzingde devre biraz karışık çıktı fakat eminim ki kodlara bakarak zaten devreyi kendiniz de kurabilirsiniz rahatlıkla.
Devrede bir önceki yazıda yaptığımız uygulamaya benzer olacak sadece daha gösterişli ve daha anlamlı daha işe yarar bir proje olacak. Geliştirilerek skorboard yapılabilir bu proje ile.
Butona her bastığımızda sırasıyla istediğimiz sayılar yanmaya başlayacak. Örneğin, 1 sayısı için B ve C ledlerine bağlı pinler 1, diğerleri 0 olacak. Peki bunu nasıl yapacağız.
Kodlarımızda "sayi" isimli bir integer değer gireceğiz ve 0'da itibaren her döngüde 1 artacak. Bu integer değerin 10 ile bölümünden kalan sayıyı displayde göstereceğiz. Yani "%10" ifadesini kullanacağız.
Devrede butonu Arduino'ya bağlarken pull-down direnci koymadım. Eğer siz de koymazsanız aşağıdaki kodları çalıştırabilirsiniz.
Pull-down direnci eklerseniz
if (butondurumu==0) kodu yerine
if (butondurumu==1) kodunu yazmanız gerekiyor.
Kodlarımız;
int buton=12;
int a=2; // her pine displaydeki bir led bağlı
int b=6;
int c=8;
int d=9;
int e=4;
int f=3;
int g=7;
int x=5; //Displaydeki nokta led
int sayi=0; // Modu alınacak sayi
void setup () {
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
pinMode(x,OUTPUT);
pinMode(buton,INPUT_PULLUP);
Serial.begin (9600);} // Sayi değerini monitörde görmek için
void loop () {
int butondurumu=digitalRead(buton); // buton durumu okuyoruz
if (butondurumu==0) //butona her basıldığında;
{sayi=sayi+1;} // sayi değeri 1 artacak
if (sayi%10==0) //sayinin moduna göre display ledleri
{digitalWrite(a,HIGH); //yanacak
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
else if (sayi%10==1)
{digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
else if (sayi%10==2)
{digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
}
else if (sayi%10==3)
{digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
}
else if (sayi%10==4)
{digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
else if (sayi%10==5)
{digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
else if (sayi%10==6)
{digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
else if (sayi%10==7)
{digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
else if (sayi%10==8)
{digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
else if (sayi%10==9)
{digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
delay(100);
Serial.println(sayi); //Bilgisayardaki değere bakarak
delay(10); //displayin doğru olup olmadığını
//anlayabiliriz.
}
Devremizin Resmi;
"Serial.Println(sayi)" komutu ile yaptığımız haberleşmenin resmi;
Videomuz da burda...
Kaydol:
Kayıtlar (Atom)











