Príspevok
od používateľa jankrizan » 21 Feb 2024, 18:21
Vložím ich ako txt.
Môj kod upravený.
/*
Read me
Use all this information at your own risk, i hold no responsibility for any and all indirect or dicrect damage to your arduino, hardware and software of your pc, any electronic devices if you choose to use this information.
This meter only can measure up to 5V
This meter cannot measure negative voltage and make sure you connect the probes to the battery in the correct way (red probe(A0) to the positive side of the battery and black probe(GND) to the negative side of the battery)
*/
int a=12;
int b=11;
int c=10;
int d=9;
int e=8;
int f=7;
int g=6;
int gnd1=5;
int gnd2=4;
int gnd3=3;
int gnd4=2;
int gnd5=0;
int gnd6=A2;
int gnd7=A3;
int gnd8=A4;
int gnd9=A5;
int inpa=A0;
int inpb=A1;
int t;
int v=100;
float Reading;
int OneDigit, TenDigit, HundredDigit, FigureDigit, FiveDigit, SixDigit, SevenDigit, EightDigit;
void mask(int num, int aa, int bb, int cc, int dd, int ee, int ff, int gg)
{
switch (num)
{
case 0 :
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 1 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 2 :
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, LOW);
break;
case 3 :
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, LOW);
break;
case 4 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 5 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 6 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 7 :
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 8 :
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 9 :
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 10 : //V
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 11 : //A
digitalWrite(aa, LOW);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 12 : // print V
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 13 : // print _
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 14 : // print S
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, LOW);
digitalWrite(dd, LOW);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 15 : // print //t
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
}
}
void setup()
{
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
pinMode(gnd5,OUTPUT);
pinMode(gnd1,OUTPUT);
pinMode(gnd2,OUTPUT);
pinMode(gnd3,OUTPUT);
pinMode(gnd4,OUTPUT);
pinMode(gnd6,OUTPUT);
pinMode(gnd7,OUTPUT);
pinMode(gnd8,OUTPUT);
pinMode(gnd9,OUTPUT);
pinMode(inpa,INPUT);
pinMode(inpb,INPUT_PULLUP);
}
void loop ()
{
t=analogRead(inpb);
float TempOneDigit;
int i;
Reading = (analogRead(inpa)*10.00/10230.00);
if(t>v)
{
FigureDigit = 10;
}
else
if(t<v)
{
FigureDigit = 11;
}
HundredDigit = int(Reading) % 10;
TenDigit = int ((Reading-HundredDigit )*10) % 10;
TempOneDigit = int(Reading * 10);
OneDigit = int ((Reading - float(TempOneDigit/10))* 100) %10;
FiveDigit = 12;
SixDigit = 13;
SevenDigit = 14;
EightDigit = 15;
for (i=0 ; i<20; i++)
{
mask (OneDigit, a, b, c, d, e, f, g);
digitalWrite(gnd3, LOW);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, HIGH);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, LOW);
delay(3);
mask (TenDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3, HIGH);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, LOW);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, LOW);
delay(3);
mask (HundredDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3, LOW);
if (HundredDigit >= 1)
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, LOW);
delay(3);
mask (FigureDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3, LOW);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, HIGH);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, LOW);
delay(3);
mask (FiveDigit, a, b, c, d, e, f, g);
digitalWrite(gnd3, LOW);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, HIGH);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, LOW);
delay(3);
mask (SixDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3, LOW);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, HIGH);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, LOW);
delay(3);
mask (SevenDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3, LOW);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, HIGH);
digitalWrite(gnd9, LOW);
delay(3);
mask (EightDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3, LOW);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, LOW);
digitalWrite(gnd4, LOW);
digitalWrite(gnd5, HIGH);
digitalWrite(gnd6, LOW);
digitalWrite(gnd7, LOW);
digitalWrite(gnd8, LOW);
digitalWrite(gnd9, HIGH);
delay(3);
}}
a originál z ktorého som vychádzal.
/*
Read me
Use all this information at your own risk, i hold no responsibility for any and all indirect or dicrect damage to your arduino, hardware and software of your pc, any electronic devices if you choose to use this information.
This meter only can measure up to 5V
This meter cannot measure negative voltage and make sure you connect the probes to the battery in the correct way (red probe(A0) to the positive side of the battery and black probe(GND) to the negative side of the battery)
*/
int a=13;
int b=12;
int c=11;
int d=10;
int e=9;
int f=8;
int g=7;
int deci = 3;
int gnd1=6;
int gnd2=5;
int gnd3=4;
int inp=A0;
float Reading;
int OneDigit, TenDigit, HundredDigit;
void mask(int num, int aa, int bb, int cc, int dd, int ee, int ff, int gg)
{
switch (num)
{
case 0 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, LOW);
break;
case 1 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 2 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 3 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 4 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 5 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 6 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 7 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 8 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 9 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
}
}
void setup()
{
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
pinMode(deci,OUTPUT);
pinMode(gnd1,OUTPUT);
pinMode(gnd2, OUTPUT);
pinMode(gnd3, OUTPUT);
pinMode(inp, INPUT);
digitalWrite(deci, HIGH);
}
void loop ()
{
float TempOneDigit;
int i;
Reading = (analogRead(inp)*5.00/1023.00);
HundredDigit = int(Reading) % 10;
TenDigit = int ((Reading-HundredDigit )*10) % 10;
TempOneDigit = int(Reading * 10);
OneDigit = int ((Reading - float(TempOneDigit/10))* 100) %10;
for (i=0 ; i<20 ; i++) {
mask (OneDigit, a, b, c, d, e, f, g);
digitalWrite(gnd3,LOW);
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, HIGH);
delay(5);
mask (TenDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, HIGH);
delay(5);
mask (HundredDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, LOW);
delay(5);
}
}