Merhaba arkadaslar benim bir projem var. Bu projede 3 digitli bir segment surucem. simdi kodu yazdim Arduinoda soyle bir sorun var ben 2. basamaga yeni sayiyi bastirirken 1. basamaktaki sayiyi kaybediyorum. sorunu nasil cozebilirim. mesela 143 gormek istiyorum sirayla 1 - 4 - 3 goruyorum ama 4 u gorurken 1 kabediyorum.
int pins[] = {2,3,4,5,6,7,8};
byte digits[10][8] = {
// a b c d e f g .
{ 1, 1, 1, 1, 1, 1, 0, 0},
{ 0, 1, 1, 0, 0, 0, 0, 0},
{ 1, 1, 0, 1, 1, 0, 1, 0},
{ 1, 1, 1, 1, 0, 0, 1, 0},
{ 0, 1, 1, 0, 0, 1, 1, 0},
{ 1, 0, 1, 1, 0, 1, 1, 0},
{ 1, 0, 1, 1, 1, 1, 1, 0},
{ 1, 1, 1, 0, 0, 0, 0, 0},
{ 1, 1, 1, 1, 1, 1, 1, 0},
{ 1, 1, 1, 1, 0, 1, 1, 0} };
void setup(){
Serial.begin(9600);
for(int i=2; i<=12; i++){
pinMode(i,OUTPUT);
}
}
void loop(){
static int sayi1, sayi2, sayi3;
sayi1=random(1,9);
sayi2=random(1,9);
sayi3=random(1,9);
Serial.println(sayi1);
Serial.println(sayi2);
Serial.println(sayi3);
fonk(sayi1,sayi2,sayi3);
}
void fonk(int sayi1, int sayi2, int sayi3){
digitalWrite(10,LOW); // SUrmek istenilen segmenti LOW yap 1. digit
digitalWrite(11,HIGH); // icin 1. segment LOW
digitalWrite(12,HIGH);
sayilar(sayi1);
delay(300);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
sayilar(sayi2);
delay(300);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
sayilar(sayi3);
delay(300);
}
void sayilar(int sayi){
for (int i=0; i < 8; i++) {
digitalWrite(pins, ! digits[sayi]);
}
}
sorun oldugunu dusundugum kismi kalin yazdim
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.