Elektronika.lt
 2025 m. gruodžio 24 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 12 24, 20:12. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » 7 segmentu ekrano problema
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 23
Pereiti prie Atgal  1, 2, 3  Toliau
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 29, 00:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Niekas nepasikeite, bandem ivairiai, pajungti tik 5v, pajungti tik 15v ir abu kartu.
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 29, 02:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Beda greiciausiai programoje, tik nelabai sugalvojam kaip pakeisti, cia radom sita problema: http://forums.parallax.com/showthread.php?126915-Uneven-brightness-of-the-LED-matrix-display

gal kyla minciu kaip pataisyti problema?

cia musu kodas:

Citata:
#include <LedControl.h>

LedControl lc=LedControl(12,11,10,1); // Set up an LED object on pins 12,11,10

#define minutes_adjust 6 // Input pin for minutes adjust button
#define mins_adjust 7 // Input pin for seconds adjust button

int buffer = 0;
int c = '0';
boolean start = false;
boolean pause = false;
int milis_ones;
int milis_tens;
int seconds_ones;
int seconds_tens; // these are the values actually sent to the LEDs
int minutes_ones;
int minutes_tens;
volatile unsigned char tick;
unsigned char milis = 0;
unsigned char seconds = 0; // Inititialise actual values for h,m,s
unsigned char minutes = 0;
int minutes_increase = 0;
int mins_increase = 0;

ISR (TIMER1_OVF_vect)
{
TCNT1=0xe796; // When timer2 overflows...
if(start)
tick++; // increment tick
display_time (); // send the time to the LEDs to be displayed
}

void set_time() { // Function for setting the time

pinMode(minutes_adjust,INPUT); // Set the adjust buttons as inputs
pinMode(mins_adjust,INPUT);

minutes_increase = digitalRead(minutes_adjust); // Read the adjust buttons
mins_increase = digitalRead(mins_adjust);

while(minutes_increase==HIGH || mins_increase==HIGH){ // If either of the adjust buttons are high

if (minutes_increase==HIGH){ // Increase minutes if minutes button pressed
minutes = minutes + 1;
}
if (mins_increase==HIGH){ // Increase seconds if seconds button pressed
seconds = seconds + 1;
}

display_time(); // Send the time to the LEDs

delay(750);
minutes_increase = digitalRead(minutes_adjust); // Increase the values of minutes and/or mins as necessary
mins_increase = digitalRead(mins_adjust);
}
}

void display_time () { // Function to display the time

milis_tens = milis;

seconds_ones = seconds % 10; // Repeat for seconds
if (seconds>=10){
seconds_tens = seconds / 10 ;}
else {
seconds_tens = 0;}

minutes_ones = minutes % 10; // Repeat for milis
if (minutes>=10){
minutes_tens = minutes / 10 ;}
else {
minutes_tens = 0;}

lc.setDigit(0,0,(byte)milis_tens,false); // Send digits to LEDs
lc.setDigit(0,1,(byte)seconds_ones,false);
lc.setDigit(0,2,(byte)seconds_tens,false);
lc.setDigit(0,3,(byte)minutes_ones,false);
lc.setDigit(0,4,(byte)minutes_tens,false);

}


void setup_timer2 () { // Set up function
TIMSK1=0x01; // enabled global and timer overflow interrupt;
TCCR1A = 0x00; // normal operation page 148 (mode0);
TCNT1= 0xe796; // set initial value to remove time error (16bit counter register)
TCCR1B = 0x04; // start timer/ set clock 256 prescaler
}

void setup () {

setup_timer2 (); // Set up the timer options
lc.shutdown(0,false); // Turn on the LEDs
lc.setIntensity(0,15); // Set intensity to full
set_time(); // Run the time set function
Serial.begin(9600);
}
void loop () {
if (Serial.available())
{
int in = Serial.read();
c = in;
Serial.flush();
if(c == '1') //start
{
start = true;
pause = false;
}
if(c == '0') //stop
{
start = false;
milis = 0;
seconds = 0;
minutes = 0;

}
if( c == '2') //pause
{
start = false;
pause = true;
}
if( c == '3')
{

buffer = milis + seconds * 10 + minutes * 1000;
Serial.print(buffer);
}
}
if (tick)
{ // If a tick has occured
milis = milis + 1; // Increment the milis
tick = 0; // reset the tick flag
if (milis>9)
{ // If a minute has passed
milis = 0; // Send milis back to 0
seconds = seconds + 1; // Increment the seconds
if (seconds >59)
{ // If an hour has passed
minutes = minutes + 1; // Increment the minutes
seconds = 0; // Send the seconds back to 0
if (minutes > 59)
{ // If a day has passed
minutes = 0; // Set minutes back to 0
}
}
}
}
}
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 02:54 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
AlgisL rašo:
nesiuliau be, sakiau 1-a ismesk. t.y. suvienodink uzlaikymo laikus arba aparatiskai arba programiskai t.y. pries keisdamas duomenis isjunk trumpam viska pvz 0,1..5mks

pries keisdamas duomenis irasyk 0x0000, 0x00FF, 0xFF00, 0xFFFF (priklausomai kokia kombinacija uzgesina visus segmentus) i max'a ir islaikyk trumpam


Padarem pagal tavo patarima su 0x0000, 0x00FF, 0xFF00, 0xFFFF

Niekas nepasikeite, bandem koki 100 skirtingu variantu keisti programa, bet visais atvejaisbuvo tas pats..
Cia pvz tas kodo gabalas pagal tave pakeistas:
// issiunti 0xf kad uzgesintum segmentus
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 0xF);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);
delay(5);
//siunti skaiciu kuri nori atvaizduoti
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 1);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);

ir vistiek tas vienetas svyti antrame skaiciuje.
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 09:34 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Mantgirdas rašo:
AlgisL rašo:
nesiuliau be, sakiau 1-a ismesk. t.y. suvienodink uzlaikymo laikus arba aparatiskai arba programiskai t.y. pries keisdamas duomenis isjunk trumpam viska pvz 0,1..5mks

pries keisdamas duomenis irasyk 0x0000, 0x00FF, 0xFF00, 0xFFFF (priklausomai kokia kombinacija uzgesina visus segmentus) i max'a ir islaikyk trumpam


Padarem pagal tavo patarima su 0x0000, 0x00FF, 0xFF00, 0xFFFF

Niekas nepasikeite, bandem koki 100 skirtingu variantu keisti programa, bet visais atvejaisbuvo tas pats..
Cia pvz tas kodo gabalas pagal tave pakeistas:
// issiunti 0xf kad uzgesintum segmentus
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 0xF);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);
delay(5);
//siunti skaiciu kuri nori atvaizduoti
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 1);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);

ir vistiek tas vienetas svyti antrame skaiciuje.


tas atvejis butu veikes jei pats vykdytum regeneracija, tad zvilgtelejus i aprasyma pamaciau jog sis pats turi regeneracija ir tai tau nepades.

ziurek ru susidaro frontu persiklojimai arba sroves nuotekiai del talpumu ar sviesdiodziai nelaiko atbulines ir t.t.
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 15:58 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
AlgisL rašo:
Mantgirdas rašo:
AlgisL rašo:
nesiuliau be, sakiau 1-a ismesk. t.y. suvienodink uzlaikymo laikus arba aparatiskai arba programiskai t.y. pries keisdamas duomenis isjunk trumpam viska pvz 0,1..5mks

pries keisdamas duomenis irasyk 0x0000, 0x00FF, 0xFF00, 0xFFFF (priklausomai kokia kombinacija uzgesina visus segmentus) i max'a ir islaikyk trumpam


Padarem pagal tavo patarima su 0x0000, 0x00FF, 0xFF00, 0xFFFF

Niekas nepasikeite, bandem koki 100 skirtingu variantu keisti programa, bet visais atvejaisbuvo tas pats..
Cia pvz tas kodo gabalas pagal tave pakeistas:
// issiunti 0xf kad uzgesintum segmentus
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 0xF);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);
delay(5);
//siunti skaiciu kuri nori atvaizduoti
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 1);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);

ir vistiek tas vienetas svyti antrame skaiciuje.


tas atvejis butu veikes jei pats vykdytum regeneracija, tad zvilgtelejus i aprasyma pamaciau jog sis pats turi regeneracija ir tai tau nepades.

ziurek ru susidaro frontu persiklojimai arba sroves nuotekiai del talpumu ar sviesdiodziai nelaiko atbulines ir t.t.


Bet, kode nustacius kad yra tik 3 o ne 5 skaiciai, likusiuose 2 skaiciuose, nebera to aido, nors pagal ideja jeigu butu kazkokie nutekejimai jie turetu pereiti i tuos skaicius irgi.
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 17:10 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Visu pirma ivertink, kad visus skaicius turi uzvelint, o paskutinio velinimas turi but mazesnis, nes paskutinis skaicius dega tavo uzduota velinimo termina + visa programos sukimosi laika, kol ji apeina rata ir vel pradeda skaiciu atnaujinimo cikla.
Visu antra, mirgejimo isvengsi tuo atveju, jei skaicius rodysi pastoviai tuos pacius, o atnaujinsi tik jiems pasikeitus, nes dabar itariu tu visais atvejais isvedineji ta pacia reiksme pernauja.

Neperneshu tos arduino kalbos, tai neskaiciau sourco, bet kai pats dariau su atmega 7seg valdyma, tai butent taip reikejo sprest ta mirgejimo klausima.
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 17:21 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Socrates rašo:
Visu pirma ivertink, kad visus skaicius turi uzvelint, o paskutinio velinimas turi but mazesnis, nes paskutinis skaicius dega tavo uzduota velinimo termina + visa programos sukimosi laika, kol ji apeina rata ir vel pradeda skaiciu atnaujinimo cikla.
Visu antra, mirgejimo isvengsi tuo atveju, jei skaicius rodysi pastoviai tuos pacius, o atnaujinsi tik jiems pasikeitus, nes dabar itariu tu visais atvejais isvedineji ta pacia reiksme pernauja.

Neperneshu tos arduino kalbos, tai neskaiciau sourco, bet kai pats dariau su atmega 7seg valdyma, tai butent taip reikejo sprest ta mirgejimo klausima.


O kai darei valdyma su 7seg, su kokiais driveriais juos valdei? nes max7219 negali veikti taip kaip tu aiskini, nes skaicius atnaujina pats max`as. Atnaujinimo greiti pakeiciant keiciasi tik ryskumas/skaiciu kiekis
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 19:15 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
AlgisL rašo:
Mantgirdas rašo:
AlgisL rašo:
nesiuliau be, sakiau 1-a ismesk. t.y. suvienodink uzlaikymo laikus arba aparatiskai arba programiskai t.y. pries keisdamas duomenis isjunk trumpam viska pvz 0,1..5mks

pries keisdamas duomenis irasyk 0x0000, 0x00FF, 0xFF00, 0xFFFF (priklausomai kokia kombinacija uzgesina visus segmentus) i max'a ir islaikyk trumpam


Padarem pagal tavo patarima su 0x0000, 0x00FF, 0xFF00, 0xFFFF

Niekas nepasikeite, bandem koki 100 skirtingu variantu keisti programa, bet visais atvejaisbuvo tas pats..
Cia pvz tas kodo gabalas pagal tave pakeistas:
// issiunti 0xf kad uzgesintum segmentus
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 0xF);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);
delay(5);
//siunti skaiciu kuri nori atvaizduoti
shiftOut(dataPin, clkPin, MSBFIRST, OP_DIGIT0);
shiftOut(dataPin, clkPin, MSBFIRST, 1);
digitalWrite(loadPin, LOW);
digitalWrite(loadPin, LOW);

ir vistiek tas vienetas svyti antrame skaiciuje.


tas atvejis butu veikes jei pats vykdytum regeneracija, tad zvilgtelejus i aprasyma pamaciau jog sis pats turi regeneracija ir tai tau nepades.

ziurek ru susidaro frontu persiklojimai arba sroves nuotekiai del talpumu ar sviesdiodziai nelaiko atbulines ir t.t.



beje kaip siulai tai patikrinti?
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 22:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Mantgirdas rašo:
O kai darei valdyma su 7seg, su kokiais driveriais juos valdei? nes max7219 negali veikti taip kaip tu aiskini, nes skaicius atnaujina pats max`as. Atnaujinimo greiti pakeiciant keiciasi tik ryskumas/skaiciu kiekis


Tiesiai valdziau. 8 kojos nuo proco per 220ohm i visus segmentus (7seg + taskas) ir 4 kojos per tranzus i katodus (4 skaiciukai). Nematau tikslo naudot kazkokius specializuotus chipus Smile
 7 segmentu ekrano problema
PranešimasParašytas: 2011 11 30, 22:54 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
As ir nematyciau, bet kad man reikia valdyti 28 skaicius Smile
 7 segmentu ekrano problema
PranešimasParašytas: 2011 12 01, 00:08 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
74hc595 keleta ir gausi ta pati tik visiskai valdoma, tik teks paciam pastoviai regeneruoti

jei 4 stukas segmentams
1 stuka skaitmenims isrinkti

reset skaitmenu
per spi pasiunti skaitenu isrinkimo baita ir 4 baitus segmentu kas 4-ta
suvartai lath

ir pigiau ir trabliemu maziau
 7 segmentu ekrano problema
PranešimasParašytas: 2011 12 01, 01:48 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
maxus lengviau valdyt, jiem biblioteka yra, maziau laidu reikia ir as jau nusipirkes maxus, viska suprojektaves, nebesinori visko perdaryti Smile nu bet jeigu reiks tai teks. tik man nelabai aisku del ju jungimo su 3 laidais kiek gali pajungti daugiausiai 595?
 7 segmentu ekrano problema
PranešimasParašytas: 2011 12 01, 09:27 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
RESET ir LATH gali suformuoti is vieno signalo skirtingu frontu
DATA, CLK tau betkuriuo atveju tektu panaudot
beje, tau teikes keliu MAX'u ir juos kazkaip atskirti, tad tau daug daugiau laiduku reikes.
74hc595 uztenka eilines SPI bibliotekos, o per tuos 3 laidukus galesi pajungt pakankamai dideli kieki LED'iniu zenklu
pvz jungiant grupemis po 4 su 5vnt slankiu registru valdysi 32 zenklus
su 6vnt jau 64 zenklus.
 7 segmentu ekrano problema
PranešimasParašytas: 2011 12 01, 19:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mantgirdas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Radau toki dalyka :
The problem you are having is caused by stored charge in the output drivers
of the MAX chip and the LEDs themselves. The cure is to reduce the scan
frequency and to increase the dead time between each digit as it is scanned
(inter-digit blank time). Cia pagal sita zmogu koki rezistoriu pagal ideja reiktu pastatyti, ar blogai galvoju?
 7 segmentu ekrano problema
PranešimasParašytas: 2011 12 01, 19:56 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
taip, tik kad aprasyme nepastebejau kaip tas skenavimo daznis valdomas.
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2, 3  Toliau
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama