Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: Andromeda - 08 Mayıs 2021, 18:35:14

Başlık: Arduino multishield sorunu
Gönderen: Andromeda - 08 Mayıs 2021, 18:35:14


Aşağıdaki program şu şekilde çalışıyor..normal sayıyor ama sol üç hane delay kısmındaki süre kadar silik bir şekilde yanıp sönüyor..x=x+1 ve delay ı silip loop içine X=1234 yazarsam bu rakamı normal yazıyor....bu hazır bir programdı..ben sadece x i arttırma ,parçalama ve delay ekledim.
Devre arduino uno  ve multifonksiyon shield
(https://www.pcboard.ca/image/cache/catalog/products/arduino/multifunction/arduino-multifunction-shield-551x551.jpg)

/* Define shift register pins used for seven segment display */
#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8

/* Segment byte maps for numbers 0 to 9 */
const byte SEGMENT_MAP[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
/* Byte maps to select digit 1 to 4 */
const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8};
int x=0;
int a;
int b;
int c;
int d;

void setup ()
{
/* Set DIO pins to outputs */
pinMode(LATCH_DIO,OUTPUT);
pinMode(CLK_DIO,OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}

/* Main program */
void loop()
{
  a=x/1000;
  b=(x/100)%10;
  c=(x/10)%10;
  d=x%10;
 
/* Update the display with the current counter value */
WriteNumberToSegment(0 , a);
WriteNumberToSegment(1 , b);
WriteNumberToSegment(2 , c);
WriteNumberToSegment(3 , d);
x=x+1;
delay(300);
}

/* Write a decimal number between 0 and 9 to one of the 4 digits of the display */
void WriteNumberToSegment(byte Segment, byte Value)
{
digitalWrite(LATCH_DIO,LOW);
shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_MAP[Value]);
shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_SELECT[Segment] );
digitalWrite(LATCH_DIO,HIGH);
}
Başlık: Ynt: Arduino multishield sorunu
Gönderen: mg1980 - 08 Mayıs 2021, 21:05:13
delay 500 yapıp dener misiniz..
Başlık: Ynt: Arduino multishield sorunu
Gönderen: Andromeda - 08 Mayıs 2021, 22:14:30
..birşey değişmiyor.sanırım ekranda devamlı gözükmesi için  loop içinde tazelenmesi gerekiyor..
aklıma sonradan geldi..
Başlık: Ynt: Arduino multishield sorunu
Gönderen: mehmet - 09 Mayıs 2021, 02:01:58
https://www.mehmetbilgi.net.tr/arduino-ile-seri-port-uzerinden-7-segment-display/