Mayıs 27, 2022
11 11 11 ÖÖ
2048 Old Game Privacy Policy
Scan Text – Metin Tarayıcı Terms & Conditions
Scan Text – Metin Tarayıcı Privacy Policy
Calculator – Hesap Makinesi Privacy Policy
Calculator – Hesap Makinesi Terms & Conditions
QR Code Reader – Kare Kod Okuyucu Terms & Conditions
QR Code Reader – Kare Kod Okuyucu Privacy Policy
Show PDF – PDF Görüntüleyici Terms & Conditions
Show PDF – PDF Görüntüleyici Privacy Policy
Photo Editor – Resim Düzenleme Uygulaması Terms & Conditions
Son Yazılar
2048 Old Game Privacy Policy Scan Text – Metin Tarayıcı Terms & Conditions Scan Text – Metin Tarayıcı Privacy Policy Calculator – Hesap Makinesi Privacy Policy Calculator – Hesap Makinesi Terms & Conditions QR Code Reader – Kare Kod Okuyucu Terms & Conditions QR Code Reader – Kare Kod Okuyucu Privacy Policy Show PDF – PDF Görüntüleyici Terms & Conditions Show PDF – PDF Görüntüleyici Privacy Policy Photo Editor – Resim Düzenleme Uygulaması Terms & Conditions

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: