Myös korttimaksu toimii

Arduino ja oled i2c näyttö

Aloittaja TeacDance, 01.10.16 - klo:19:46

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

TeacDance

Ostin tuommoisen näytön yhteen ardu projektiin mutta se ardun koodaaminen ei kovin hyvin hallussa

http://www.ebay.co.uk/itm/152059099208?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Ongelmana on kun näyttö vilkkuu eli pitäisi saada nopeampaa päivitettyä ne muuttujat jotka kirjoitetaan näytölle
https://drive.google.com/file/d/1R6yUvGI9Bx3cvkGVujZ6wOgCKLIjLcHSLg/view?usp=sharing

Miten tuommoisessa i2c näytössä se pitäisi oikeasti tehdä kun siinä ei toimi samalla lailla kuin lsc näytössä eli kirjoittaa tyhjän siihen muuttujan päälle tuossa osaan vain tyhjentää koko näytön ja pohjan sitten uudestaan kirjoittaa ja siinä menee ilmeisesti liian kauan.
_________________
Tero Koskela
Ylivieska

YouTube

Kremmen

"Oikea" tapa riippuu kovin paljon siitä, millaisia grafiikkaprimitiivejä näyttö tukee ja miten hyvin mikäkin on toteutettu.
Yksi mitä voisit koittaa on, että koko näytön tyhjentämisen sijaan kirjoitat vanhan tekstin ensin uudestaan taustavärillä (jolloin se häviää) ja sitten päälle uuden.
Toinen konsti että piirrät taustavärisen laatikon ( fillRect() ) vain vanhan tekstin päälle ja sitten uuden tekstin. Mitä pienempi laatikko, sitä nopeammin pikselien täyttö onnistuu.

Sulla on tietenkin joku 8-bittinen Ardu eli Uno tai sen johdannainen missä on ATMega 328 tms? Ikävä kyllä niissä ei ole suoraa muistiosoitusta eli DMA:ta. Arduino Duen moottorina olisi Atmelin SAM3X, eli ARM-Cortex M3 jossa on aika ripeä DMA, max 41 MHz siirtonopeudella. Sillä neljännes-VGA -näyttö päivittyy huomattavasti silmää nopeammin.
Nothing sings like a kilovolt
Dr W. Bishop

cartti

#2
Yksi vaihtoehto olisi katsella esim. Esp8266 pohjaisia vaihtoehtoja ardulle. Toimii ardun IDEssä, moninkertaisesti muistia ja vääntöä on 160Mhz edestä. NodeMCU näyttäisi olevan aliexpressissä noin 2,5€ ja Wemos D1 R2 on 4-5€ paikkeilla. Bonarina palikassa on myös wifi.

NodeMCU:lla testasin samaisella näytöllä juuri ja sain koko ruudun täytölle mitattua 11-12ms kun käyttää Brzo i2c kirjastoa (SCL@1Mhz).

Edit: Oliko tässä muuten jokin tavoite ruudun/lukemien päivitysnopeuteen? Hidas, mutta välkkymätön tapa on piirtää uusi lukema vanhan päälle ja värjää sitten vanhan lukeman pikselit taustavärillä niiltä kohdilta mitkä ei ole uutta lukemaa. Luulisi tällekin tavalle joku valmis kirjasto löytyvän.

TeacDance

Lainaus käyttäjältä: Kremmen - 01.10.16 - klo:20:25
"Oikea" tapa riippuu kovin paljon siitä, millaisia grafiikkaprimitiivejä näyttö tukee ja miten hyvin mikäkin on toteutettu.
Yksi mitä voisit koittaa on, että koko näytön tyhjentämisen sijaan kirjoitat vanhan tekstin ensin uudestaan taustavärillä (jolloin se häviää) ja sitten päälle uuden.
Toinen konsti että piirrät taustavärisen laatikon ( fillRect() ) vain vanhan tekstin päälle ja sitten uuden tekstin. Mitä pienempi laatikko, sitä nopeammin pikselien täyttö onnistuu.

Sulla on tietenkin joku 8-bittinen Ardu eli Uno tai sen johdannainen missä on ATMega 328 tms? Ikävä kyllä niissä ei ole suoraa muistiosoitusta eli DMA:ta. Arduino Duen moottorina olisi Atmelin SAM3X, eli ARM-Cortex M3 jossa on aika ripeä DMA, max 41 MHz siirtonopeudella. Sillä neljännes-VGA -näyttö päivittyy huomattavasti silmää nopeammin.

Tuolla ekalla tyylillähän se alkoi toimimaan moitteettomasti :) kiitos kremmenille tulee liian vähän tehtyä näitä juttuja kun aina unohtuu...

Testissä toimi kuten pitikin
Testi video
_________________
Tero Koskela
Ylivieska

YouTube

TeacDance

Lainaus käyttäjältä: cartti - 02.10.16 - klo:18:05
Yksi vaihtoehto olisi katsella esim. Esp8266 pohjaisia vaihtoehtoja ardulle. Toimii ardun IDEssä, moninkertaisesti muistia ja vääntöä on 160Mhz edestä. NodeMCU näyttäisi olevan aliexpressissä noin 2,5€ ja Wemos D1 R2 on 4-5€ paikkeilla. Bonarina palikassa on myös wifi.

NodeMCU:lla testasin samaisella näytöllä juuri ja sain koko ruudun täytölle mitattua 11-12ms kun käyttää Brzo i2c kirjastoa (SCL@1Mhz).

Edit: Oliko tässä muuten jokin tavoite ruudun/lukemien päivitysnopeuteen? Hidas, mutta välkkymätön tapa on piirtää uusi lukema vanhan päälle ja värjää sitten vanhan lukeman pikselit taustavärillä niiltä kohdilta mitkä ei ole uutta lukemaa. Luulisi tällekin tavalle joku valmis kirjasto löytyvän.

Noita Esp8266 levyjä mulla on kyllä lämmön ja kosteuden lukemiseen näperreltyjä.. ja pari wroom piiriä myös



_________________
Tero Koskela
Ylivieska

YouTube

Powered by EzPortal
SMF spam blocked by CleanTalk