Ekim 19, 2021
11 11 11 ÖÖ
TCP nedir ? Aktarım Katmanı 2
Aktarım Katmanı Tcp Nedir
Yönlendirme Nedir 2 ?
Yönlendirme Nedir ?
Ağ Katmanı Nedir 2 ?
Ağ Katmanı Nedir ?
Veri Bağı Katmanı Nedir 2 ?
Android Studio Nasıl Kurulur ?
Veri Bağı Katmanı Nedir ?
Fiziksel Katman Nedir ?
Son Yazılar
TCP nedir ? Aktarım Katmanı 2 Aktarım Katmanı Tcp Nedir Yönlendirme Nedir 2 ? Yönlendirme Nedir ? Ağ Katmanı Nedir 2 ? Ağ Katmanı Nedir ? Veri Bağı Katmanı Nedir 2 ? Android Studio Nasıl Kurulur ? Veri Bağı Katmanı Nedir ? Fiziksel Katman Nedir ?

Arduino Uno Buton ile Led Yakma – 7 Segment Display 0-99

Paylaşım , Takip İçin

Arduino UNO’nun en temel özelliklerinden birisi led ve buton kontrolüdür. Butona basıldığı zaman ledin yanması gibi en temel özellikler burada bulunmaktadır.

KONU

5 led 3 buton ile farklı farklı şekillerde
yakmak. 1.buton ile 200ms aralığında ilk önce
1.led yanacak söndükten sonra 2.led yanacak
şekilde ayarlanacaktır. 2.buton ile 5.led
yanacak sonrasında yanmaya devam ederken
4.led yanacak şekilde ayarlanacaktır. 3.buton
ise hepsini yanıp sönecek şekilde 10 defa
çalışacak şekilde ayarlayacaktır.

MALZEMELER

1 adet Arduino Uno
5 adet Led
5 adet Led için Direnç
3 adet Buton için Direnç
3 adet Buton

pinMode(13, OUTPUT);

Bu satır, arduino üzerindeki 13 numaralı pini çıkış verecek şekilde ayarlıyor. Eğer kullanacağımız pin çıkış veya giriş olarak belirlenmez ise programın devamında yazacağımız giriş veya çıkış fonksiyonları, o pini kullanamaz. Yani output yerine input yazarsak ledimiz çalışmaz . Fakat bunun yanında inputu butonumuz için kullanabiliriz çünkü giren bir değer var.

digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

Bu kısım ise öncelikle 13 numaralı pine HIGH seviyesine yani high yerine 1 yazabiliriz , 5V’a ayarlıyor, 1000 milisaniye (1 saniyeye eşittir) hiçbir işlem yapmadan bekliyor ve bu sefer 13 numaralı pini  LOW yani 0 değerini. 0V veya toprak hattı seviyesine ayarlıyor. Bu işlemi yaptıktan sonra mikrokontrolcü, delay fonksiyonu sayesinde tekrardan 1 saniye hiçbir işlem yapmadan bekliyor. Sonuç olarak ledimiz yanıp sönmüş oluyor.

Detaylı anlatım videomuzda mevcuttur.

ARDUINO UNO 7 Segment Display 0-99 (2 transistör 2 potansiyometre)

Arduino uno yedi segment display 0-99 bizler için tasarlanmış birer sayı sayma parçasıdır. Girilen kodlara bağlı olarak eş zamanlı veya zamana odaklı çalıştırılabilir. Bunun yanında yazılarda bu şekilde yazılabilinmektedir.

KONU

Bir Arduino üzerinde 3 buton 2 potansiyometre kullanılarak 2
adet segment display’i buton veya potansiyometre
değerlerine göre ileri veya geri belirlenen hızda sayan
devrenin kurulumu.


MALZEMELER


1 adet Arduino Uno
2 adet 7 Segment Display
12 adet Direnç
3 adet Buton
2 adet Transistör
2 adet Potansiyometre

int a = 7;
int b = 8;
int c = 2;
int d = 3;
int e = 4;
int f = 6;
int g = 5;

int transistors[] = {10, 9};
int leftCounter = 0;
int rightCounter = 0;
int baslamab = 13; // baslama butonu
int ilerib = 12; // ileri butonu
int gerib = 11; // geri butonu
int potdeger = 0;
int sonpotdeger = 0;
int sure;
int podPin1=A0;
int podDeger2;

int anahtar = 2;

int arr[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{0, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 0, 0, 1, 1} // 9
};

void setup()
{
pinMode(baslamab,INPUT);
pinMode(ilerib,INPUT);
pinMode(gerib,INPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(transistors[0], OUTPUT);
pinMode(transistors[1], OUTPUT);
Serial.begin(9600);
}

void loop() {

podDeger2=analogRead(podPin1);
sure=map(podDeger2,1,123,10,100);
potdeger=analogRead(A1);

if (digitalRead(baslamab)== 1) {
anahtar=2;
}
if (digitalRead(ilerib)== 1) {
anahtar=0;
}
if (digitalRead(gerib)== 1) {
anahtar=1;
}
if ((ilerib==1)||(potdeger<1024 && potdeger>512)){
anahtar=4;
}
if ((gerib==1)||(potdeger<512 && potdeger>0)){
anahtar=3;
}

switch (anahtar){
case 0:
if(ilerib){
RakamYaz(leftCounter, rightCounter);
delay(sure);
rightCounter++;
if (rightCounter > 9){
rightCounter = 0;

leftCounter++;
if(leftCounter > 9)
leftCounter = 0;
} break;
}

case 1:
if(gerib){
RakamYaz(leftCounter, rightCounter);
delay(sure);
rightCounter--;
if (rightCounter < 0){
rightCounter = 9;

leftCounter--;
if(leftCounter < 0)
leftCounter = 9;
} break;
}

case 2:
kapat();
break;
case 3:
if(ilerib){
RakamYaz(leftCounter, rightCounter);
delay(sure);
rightCounter++;
if (rightCounter > 9){
rightCounter = 0;

leftCounter++;
if(leftCounter > 9)
leftCounter = 0;
} break;
}

case 4:
if(gerib){
RakamYaz(leftCounter, rightCounter);
delay(sure);
rightCounter--;
if (rightCounter < 0){
rightCounter = 9;

leftCounter--;
if(leftCounter < 0)
leftCounter = 9;
} break;
}
}
}
void RakamYaz(int left, int right)
{
digitalWrite(transistors[0], HIGH);
digitalWrite(transistors[1], LOW);
write(right);
delay(sure);

digitalWrite(transistors[0], LOW);
digitalWrite(transistors[1], HIGH);
write(left);
}

void write(int i){
digitalWrite(a, arr[i][0]);
digitalWrite(b, arr[i][1]);
digitalWrite(c, arr[i][2]);
digitalWrite(d, arr[i][3]);
digitalWrite(e, arr[i][4]);
digitalWrite(f, arr[i][5]);
digitalWrite(g, arr[i][6]);
}
void kapat() {
digitalWrite(transistors[0], 0);
digitalWrite(transistors[1], 0);
}

Bir sonraki Arduino konusu için — Tıklayınız


Paylaşım , Takip İçin
5 1 vote
Article Rating

Bir Cevap Yazın

0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
HAYALİNDEKİ YAZILIM
%d blogcu bunu beğendi: