Electrokit Buggfix Plus
Aktuellt datum och tid: 17.07 2018-09-23

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 6 inlägg ] 
Författare Meddelande
 Inläggsrubrik: Flytande "LED-matris"
InläggPostat: 07.23 2017-12-01 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 253
Ort: Nynäs
Jag har ett tag funderat bygga en flytande text för datorskärm och/alt LED-matris. Det skulle se ut som nyhets/reklamtext på husväggar. Är beskrivning förstålig? Köper man en LED-matris får man kanske med dylig SW. Eftersom jag inte vill uppfinna något som som redan finns surfade jag lite. Det jag hittade var classen QtGui.QLCDNumber(). Fint men inte riktigt vad jag önskande. Jag har tänkt bygga i python eller något weborienterat språk för presentera på websida, dynamiskt alt i eget fönster, ej websida. Man kan använda bilder av ABC..Ö som man flyttar sig i x-led med stöd av Pygame. Känns inte riktigt som rätt lösning. Är det någon som sett dyligt, lämpligt pythonbibliotek, har ideer eller synpunkter?

https://www.resume.se/nyheter/artiklar/2017/10/09/ny-valuta-ska-mata-utomhusreklam/
http://www.trafotek.se/tt.htm
http://www.leddisplay.se/produkter/tid-temperatur/tid-temp-klassisk/

Det verkar som många redan löst detta

edit:
Här är det någon som gjort nått:
https://www.linux-apps.com/p/1132152/
Tyvärr är det C++, som jag inte kan och det är inte rölig text, men kanske en början.


Upp
 Profil  
 
 Inläggsrubrik: Re: Flytande "LED-matris"
InläggPostat: 13.27 2017-12-10 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 253
Ort: Nynäs
Nu har jag kommit en bit längre. Fått lite hum om hur qmake o *.pro fungerar.
Dock får jag inte lika snyggt result som med HelloWorld.png, den lilla bilden som finns näst längst ner på sidan som är källfilen till den röda textmatrisen med HelloWorld!! Hur skapar man en bild som är lika skarp som HelloWorld.png?

edit
Använt Pinta för att skapa text. Det verkar som HelloWorld.png är skapad med annan typ av verktyg än Pinta
edit2
Jag fick till det till slut men jag fick sitta och editera enskilda pixlar. Det måste finnas något enklare sätt/verktyg. Även om man använder ett verktyg som skapar pixel av text så blir det inte helt distingta pixel med en färg utan ganska blurrigt. Att välja font påverkar resultatet, förståss. Ev måste man skapa egna "matrix fonter" för att det skall bli snyggt. Men det måste finns smartare verktyg så man slipper editera pixlar.


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
 Inläggsrubrik: Re: Flytande "LED-matris"
InläggPostat: 13.53 2018-01-29 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 253
Ort: Nynäs
Efter en irrfärd bland globala och lokala variabler
http://elektronikforumet.com/forum/viewtopic.php?f=43&t=90003&start=15 så fick jag till min flytande LED-matris att fungera både i horisontal- och vertikalled. Dock var det inte helt utan nya stötestenar. Jag använde sleep()-funktionen för att få rätt hastighet i uppdatering. Det fungerade inte. Matrisen uppdaterads när min loop var helt genomlöpt och färdig med sista värdet av matrispositionen. Vid oändlig loop uppdaterades aldrig Qt-fönstret. Dock så uppdaterades debugutskriften som förväntat i terminalfönstret, varje varv i loopen ,men det hände inte i Qt-fönstret.

Jag försökte med Qt-funktionen update(). Inget hände dock inget kompilerings- eller runtimefel. Lite naivt försökte jag även med show() med samma resultat.

När jag till slut använde QTimer fick jag ett beteende som jag vill ha.

Varför är det så? Varför fungerar inte sleep() och update() i Qt-fönstret?

Koden nedan, // är första försöket. Fungerade test allt utom // och med QTimer-stuff.
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
.
.

connect(radioButton1, SIGNAL(clicked()), this, SLOT(setTest()));
.
.
incTimer = new QTimer();
connect(incTimer, SIGNAL(timeout()),this,SLOT(Increment()));
.
.
void MyWindow::setTest()
{
  using namespace std;
  for(int i=0; i < 43; ++i) {
     cout << "setTEST nr55 "<<endl;
     //setMatrix(MyWindow::matrix12, MyWindow::img1p, i);
     //sleep(2);
     cout << "setTEST After sleep "<<endl;
    // matrix12->update();
    // matrix12->show();
    // update();
     incTimer->start(200);  //200ms repetition
  }
}

void MyWindow::Increment()
{
using namespace std;
//inc=0;
//for(int i=0; i < 43; ++i) {
 setMatrix(MyWindow::matrix12, MyWindow::img1p, inc);
 inc++;
cout << "Increment() inc="<< inc <<endl;
if (inc > 43) inc=-45;
 //}
}


Upp
 Profil  
 
 Inläggsrubrik: Re: Flytande "LED-matris"
InläggPostat: 14.01 2018-01-29 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 516
Ort: Karlskoga
Windows jobbar väldigt mycket händelsestyrt. Anrop till Update resulterar bara i att ett meddelande postas i windows meddelandekö. (Egentligen en av flera köer och det händer nog lite till). Meddelandekön arbetas av ett meddelande i taget och först när din applikation släppt kontrollen. D.v.s. när nuvarande meddelandet är bearbetat så tar den nästa.

Du kan tvinga fram en avbetning av kön genom att anropa QApplication::processMessages() eller vad den nu exakt heter. Jag är hemma och sjuk så kan inte kolla dokumentationen.

När du kör med en QTimer så blir det ett meddelande varje gång timern löser ut. Mycket snyggare.


Upp
 Profil  
 
 Inläggsrubrik: Re: Flytande "LED-matris"
InläggPostat: 14.08 2018-01-29 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 253
Ort: Nynäs
Hm inressant. Samma i linux? Verkar så. Jag kör Ubuntu.


Upp
 Profil  
 
 Inläggsrubrik: Re: Flytande "LED-matris"
InläggPostat: 16.28 2018-01-29 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 516
Ort: Karlskoga
Ja. Jag borde kanske sagt fönstersystem och inte windows. Funkade lika dant på X-windows på VMS en gång för 100 år sen.


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 6 inlägg ] 

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010