نقل قول نوشته اصلی توسط dm800vpr نمایش پست ها
چون توضیحاتش تایلندیه من با ترجمش میذارم
اولش OPEN نشون میده و شروع میکنه به شمارش
ضمناً دنبال اسکرول متنش هستم به محض اینکه پیدا کنم کدشو اینجا میذارم
ضمناً با 5 ولت کار میکنه
کد:
/* written by Jason Berger ,arduinoall, พ.ไพศาล reedited by Phaisarn Te. @060614 8-Digit 7-Segment display driver. 2x 74HC595 wired to 2x 4-digit 7-segment displays bits 0-7 select a digit bits 8-14 A-G */ char disp_c[8] ; //Pin assignments const int SCLK_pin=4; const int RCLK_pin=5; const int DIO_pin =6; // 0-9 --> use the 0-9 // 0.-9. --> use the 10-19 // space --> ' ' // A-Z, a-z --> 'A' 'B' ... 'a' 'b' int disp[8]; //time values for delay workaround unsigned long prev =0; unsigned long waitMS=0; void setup() { pinMode(RCLK_pin,OUTPUT); pinMode(DIO_pin,OUTPUT); pinMode(SCLK_pin,OUTPUT); showText('O','P','E','N'); // Show welcome message } int n; unsigned long start=millis(); byte b = 0; void loop() { showDisplay(); if(b==0){ b++; wait(3000); // Delay display a welcome message } else{ if ( millis() > (prev + waitMS)) { //code to loop in here //between loop Other fixed costs // Display font displays. Ardu // showText('A','r','d','u'); // The solution to this display. // number Example display 95.42 // showText(9,15,4,2); //15 --> Show No. 5. // Showing examples run เลข showText((n/1000)%10,(n/100)%10+10,(n/10)%10,n%10); //solution to this display. n++; if(n>10000) { n=0; } // delay wait(1000); } } } void showText(char a, char b , char c,char d){ disp_c[0] = d; disp_c[1] = c; disp_c[2] = b; disp_c[3] = a; } void showDisplay() { setDisp(); for(int i=0; i<8; i++) { setDigit(i,disp[i]); } } void setDigit(int dig, int character) { int digits[]= { 128,64,32,16,8,4,2,1 }; //character set (0-9)0-9 // (10-19)0.-9. // (20-45)A-Z // (46-71)a-z // (72)- (73) space int characters[]= { 3,159,37,13,153,73,65,31,1,9, 2,158,36,12,152,72,64,30,0,8, 17,1,99,3,97,113,67,145,243,135,145,227,85,19,3,49,25,115,73,31,129,129,169,145,137,37, 5,193,229,133,33,113,9,209,247,143,81,227,85,213,197,49,25,245,73,225,199,199,169,145,137,37, 253,255 }; digitalWrite(RCLK_pin, LOW); shiftOut(DIO_pin, SCLK_pin, LSBFIRST, characters[character]); shiftOut(DIO_pin, SCLK_pin, LSBFIRST, digits[dig]); digitalWrite(RCLK_pin, HIGH); } void setDisp() { for (int i=0; i<8;i++) { int val = disp_c[i]; if((val >= 32)&&(val <= 47)){ // To / not to show switch (val){ case 45 : val = 72; break; //mark - default : val = 73; break; //The other between this show. } } else if((val >= 48)&&(val <= 57)) //0-9 { val -= 48; } else if((val >= 65)&&(val <= 90)) //A-Z { val -= 45; } else if((val >= 97)&&(val <= 122)) //a-z { val -= 51; } disp[i] = val; } } void wait( unsigned long milsec) { prev = millis(); waitMS = milsec; }
اگه من بخواهم یک متغیر رو روی سون سگمنت نشون بدم کجای این کد باید متغیر رو وارد کنم؟