LED kijelzős mérőeszközök

Ez egy villamos feszültségmérő Arduinoval, fórumból másolva, ami 1.8.7. verzióval hiba nélkül fordul Nano modulba, ránézésre sincs benne hiba, függvényt nem kér a program.

Volt mérő kapcsolás
Volt mérő kapcsolás

Feszültség bemenettel (Nano esetén 10 bit)  lehet mérni analóg előtéttel pl. hőmérsékletet, vagy tömeget néhány tized % pontossággal. Előnye ennek az alkalmazásnak, hogy erős LED kijelző tehető rá amit a vak is lát, néhány %-os maradvány látás mellett. A kimeneti áramot jelentősen megnövelve akár 100 mm magas lehet a 7 szegmens kijelző, piros, kék, zöld, sárga, esetleg fehér színekben gyártanak ilyen modulokat. Az elenyésző kisebbség nem lát semmit, nekik majd jó lesz a siketvakos alkalmazás vagy vehetnek kb. 30 ezer Ft-ért olyat ami beszél.

LM35 hőmérséklet mérő előtét:

LM35-hőmérséklet szenzor
LM35-hőmérséklet szenzor

 

LM335 hőmérséklet szenzor előtét:

LM335-hőmérséklet szenzor
LM335-hőmérséklet szenzor

 

Wheatsone híd tömeg mérő előtét:

Wheatsone-híd-tömeg méréshez
Wheatsone-híd-tömeg méréshez

 

INA-125 instrumentális erősítő felépítése és bekötése:

INA-125 instrumentális erősítő bekötése
INA-125 instrumentális erősítő bekötése

 

INA 125 modul 2 csatorna erősítővel:

INA-125-panel
INA-125-panel

 

Arduino program:

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);
}
}

Végére hagytuk a csemegét. Ez egy kókler megoldás. Ilyen az LCD kijelzős “vakos” mérleg, ezen valóban lehet vakoskodni, mert az LCD kijelző nem világít, az a zöld fény a háttér világítás hozzá, hogy valamit lásson a használó belőle. Csodás. Egy normális LED kijelzőt ami valóban fényt ad ki nem tudtak rátenni. Biztos nem volt ingyen, méretét elnézve 60-80 eFt lehet az ára szériába gyártva és az LCD nem olcsóbb ekkora méretben, mint egy 37 vagy 57 mm LED kijelző.

vakoskodásra alkalmas mérleg, ami lehet, hogy pontosabb mint az alumínium erő cellás olcsóság, csak ennek a leolvasáshoz bele kell hajolni a kijelzőbe
vakoskodásra alkalmas mérleg, ami lehet, hogy pontosabb mint az alumínium erő cellás olcsóság, csak ennek a leolvasáshoz bele kell hajolni a kijelzőbe

Ilyet belerakni, vagy külön egy falra akasztható formába nem tudtak csinálni.

100 mm-7-szegmens-kijelző
100 mm-7-szegmens-kijelző

https://www.alibaba.com/product-detail/4-inch-common-anode-white-7_60196711417.html

Kemény 1000-1200 Ft/db egy és kell belőle 4 db + a meghajtó tranzisztorok meg egy doboz aminek az eleje ki van vágva megfelelő méretre, valamint egy kicsit nagyobb áramot adó kapcsolóüzemű táp amit hozzád vágnak pár ezer Ft-ért.