65K Colour OLED (96x64 Pixels), Arduino Uno and ucglib

preview_player
Показать описание
My first test of a full colour OLED display using Oli Kraus's Universal Color Graphics Library (ucglib).
Рекомендации по теме
Комментарии
Автор

If you put a little drop of water in the screen it magnifies and you can see the pixels

diegogonzalezz
Автор

'Clipping' refers to the suppression of graphic data that falls outside the display area, i.e. being able to draw off screen without causing problems. If you write to screen memory or to a back buffer, if the screen is double buffered, and part or all of the data you are writing is outside the bounds of the buffer/screen display, the hardware needs to be able to ignore that part which is not in the screen buffer or video RAM without it causing problems, for example overwriting other parts of RAM that are adjacent to video RAM or the back buffer. Back buffers or double buffering is a method of producing flicker free, smooth graphics on a display. The idea is that you have a second RAM area in which you write all your display data to, i.e. text and/or graphics, then copy the freshly re-drawn image to video RAM. In many video systems you are simply required to write to a single hardware register which swaps the front buffer with the back buffer.

alienrd
Автор

Clear, Concise, Detailed, Informative and Entertaining. Thank you.

ovalwingnut
Автор

I think you need to check the library to see if you can specify the screen resolution of your display. It looks like the library is using more pixels than you've actually got.

alienrd
Автор

it's funny how excited we are about such old technology

miniwarrior
Автор

The Clip Range test is likely ensuring that drawing off the edges of the display works properly and doesn't bog down the processing. It's fairly common in games programming to do a similar rendering test because drawing off edges wastes time.

aaro
Автор

I love your vids, brother but you GOTTA find a screen capture program.... haha

mnelson
Автор

Try using an RTOS like Zephyr. One task can create frame buffers, paint them, and hand off to another task to show them. The task that shows them need only send to the OLED the differences -- reducing the I/O substantially. You can also crank up the SPI baud rate higher and higher until things break down, and then back off. For example, 2Mbps would be a good goal. The display can handle up to 6Mbps probably. I would use 8 frame buffers or so. Animations that don't have a lot of complexity are easier to do fast. For example PONG, or text telemetry. Rotations requires sin/cos floating point or a very fast fixed-point library. Also, for a good physics model, you need Quaternion math to avoid gimbal lock.

morpher
Автор

The image quality of your camera is awesome. (Even if the focusing behavior isn't perfect.)

World_Theory
Автор

It would be nice to use a DSP to feed the oled ntsc or pal live video so we could make nice diy goggles. Nice vid, I think the type cut off with 3d box may be clipping path overlay border?

HoverbotTV
Автор

Just curious, can you record at 60 frames a second with your camera? Changing it from 30 frames to 60 frames a second may help with the refresh rate when trying to capture video on a screen like this and other you may do in the future and reduce the flicker? YouTube does support 60 frames per second videos when uploaded. But then YouTube does re-encode it to variable frame rate also, so you may need a constant moving object next to the LCD in the camera frame shot to compensate for that so it appears more like a constant frame rate. Just some ideas that might help with recording future displays. Also an updated Arduino board using the 2560 chip might help with period icing faster frame rates on the LCD/OLED displays, they are fairly cheap these days but I don't remember what the 2560 board is called.

GadgetReviewVideos
Автор

Try using a more powerful Arduino for this. I want to see this screen's full potential

RoboticNerd
Автор

hi there, its a very good video. I need to use the same display as a tiny light source in a project. you mentioned that every pixel is addressable, how is that done, and how can we display only a single column of the green line and leave the rest as black.your response will be much appreciated.

MujeebRahman-wezj
Автор

What is that Arduino clone you are using? The male headers look like a a very useful feature.

lillydoye
Автор

Perhaps You can help me, I would like to have several tasks to run, here as an example.
I had made a IR remote that uses several channels, so if i push button 1 as an example (source) My TV goes into Source mode but i also want to see it displayed on the 0.96" I2C IIC 128X64 LED OLED:

How can this be achieved

sweetleaf
Автор

I just got a similar display. The rotating cube you show looks quite disappointing. I know that the correct way to do a faster frame rate is to use double-buffering (or even more), and have a VSYNC interrupt send the next frame on a fixed clock interval. Probably with Arduino sandbox this would be difficult to implement unless you implement the interrupt handler to do all the frame buffer copying. Another thing you could try is the Zephyr RTOS, which supports multi-threading.

morpher
Автор

useful video. btw where did u buy this Arduino uno board with icsp connector ( aka idc 10 )? can u share link, please

andreiefimov
Автор

Thank you very much, it really helped me alot.

leifstenfeldt
Автор

I bought a similar display a while ago, and could never get it working..Maybe I'll dig it out, and give it another shot, after I (re-)watch this video.
It's odd that the pins have I2C-like labels(SCL, SDA), when it's an SPI interface.

PhattyMo
Автор

Those screens will be hard to capture on video LCD is much nicer in that respect :)
Library does not seems to be fast not sure what was the speed of the SPI and the microcontroller. The LCD I use has about 12x higher resolution but I run the SPI at 20MHz and the microcontroller is more powerful and also running at 40MHz.
I still can not imagine this library to be that optimized and is probably using all the resources of the micro while running and that will not be the case if you want to build a real up that will do way more than run the display.
I'm sure the colors look great since it is a organic LED.

electrodacus