ขอความกรุณาเรื่อง volt meter

code สร้าง โวลต์มิเตอร์ ลอง sim ใน proteus แล้วใช้ได้แต่ตอนต่อของจริงไม่ออกเป็นตัวเลขทั้งสองหลัก ออกแต่หลักหลัง
ช่วยดูให้ทีว่าผิดตรงไหน ควรแก้ตรงไหนบ้าง ใช้ atmega168  arduino 32u4


#‎include‬ <Arduino.h>
int digit1,digit10;
float Vol,X;
char ledpin[]={7,8,9,10,11,12,13,5,6,22};
char seg_num[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void Display(int num);
void setup()
{
Serial.begin(9600);
    for(int i=0;i<9;i++){
        pinMode(ledpin,OUTPUT);
        Serial.println("ledpin");
    }
pinMode(22,OUTPUT);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
}

void loop(){
X=analogRead(22);
Serial.println(X);
Vol=X/205.01;
digit1=(int)Vol;
Serial.println(digit1);
digit10=(int)(Vol*10);
Serial.println(digit10);
for(int i=0;i<10;i++){
    for(int x=7;x<=13;x++)
        digitalWrite(x, HIGH);
        Display(digit1);
        digitalWrite(5, LOW);
        delay(50);
        digitalWrite(5, HIGH);
    for(int x=7;x<=13;x++)
        digitalWrite(x, HIGH);
        Display(digit10);
        digitalWrite(6, LOW);
        delay(50);
        digitalWrite(6, HIGH);
}

}
void Display(int num){
char dis=seg_num[num];
    for(int j=0;j<8;j++){
        if((dis>>j)&1){
            digitalWrite(j+7,LOW);
            Serial.println((seg_num[num]<<j)&1);
        }else{
            digitalWrite(j+7,HIGH);
            Serial.println((seg_num[num]<<j)&1);
        }
    delay(50);
    }
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่