Тёмный

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

Julian Ilett
Подписаться 200 тыс.
Просмотров 94 тыс.
50% 1

My first test of a full colour OLED display using Oli Kraus's Universal Color Graphics Library (ucglib).

Опубликовано:

 

29 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 96   
@mnelson10000
@mnelson10000 8 лет назад
I love your vids, brother but you GOTTA find a screen capture program.... haha
@JulianIlett
@JulianIlett 8 лет назад
+mnelson10000 He he. I'm more of a camera in front of screen, microphone in front of speakers kind of guy.
@DarianCabot
@DarianCabot 8 лет назад
Agreed! Camstudio is free and you can still narrate with your mic.
@MrOpenGL
@MrOpenGL 8 лет назад
+Julian Ilett It's the best screen capturing program. Free, doesn't eat up the CPU, doesn't lag. Beware of the Sun :D
@kyoudaiken
@kyoudaiken 8 лет назад
+MrOpenGL OBS is actually better. 60 FPS without problems, directly to mp4 H264.
@damainx
@damainx 8 лет назад
Any links to the code? and, what board are you using? doesn't look like my UNO boards.
@nicnl255
@nicnl255 8 лет назад
Is is me or the 1080p video seems to be a bit blurry/pixelated? The bitrate seems to be lower than usual
@kyoudaiken
@kyoudaiken 8 лет назад
+Nicnl It's a new feature in RU-vid. Pretending to be 1080p in the settings but it actually is 720p. That's why marketing should be forbidden by law.
@samuelashdown7994
@samuelashdown7994 8 лет назад
Not first . Bugger
@diegogonzalezz
@diegogonzalezz 8 лет назад
If you put a little drop of water in the screen it magnifies and you can see the pixels
@alien8r33d
@alien8r33d 8 лет назад
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.
@alien8r33d
@alien8r33d 8 лет назад
'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.
@morpher44
@morpher44 8 лет назад
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.
@RoboticNerd
@RoboticNerd 8 лет назад
Try using a more powerful Arduino for this. I want to see this screen's full potential
@kyoudaiken
@kyoudaiken 8 лет назад
Looks like standard RGB-Subpixel layout. None of this fucking Samscum-Pen-Tile cheapo rubbish.
@lillydoye7418
@lillydoye7418 8 лет назад
What is that Arduino clone you are using? The male headers look like a a very useful feature.
@HillOrStream
@HillOrStream 8 лет назад
+Samuel Doye Was wondering the same. Both pins and sockets! Want one!
@pfeerick
@pfeerick 8 лет назад
+HillOrStream Have a look for 161883302798 on eBay - it's probably not from the same seller, but it is the same type, you need to solder the header pins on yourself.
@GadgetReviewVideos
@GadgetReviewVideos 8 лет назад
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? RU-vid does support 60 frames per second videos when uploaded. But then RU-vid 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.
@klaernie
@klaernie 8 лет назад
Has anybody seen a datasheet on this type of Arduino Uno boards? I am wondering for years what the KEY_H and KEY_L buttons are for - even probing them didn't lead to any results.
@CutterSlade001
@CutterSlade001 8 лет назад
+Andre Klärner I Think you have to use their jumpers that are right next to them. They are labled Key_H and Key_L so they might be a pull up and a pull down switch each.
@klaernie
@klaernie 8 лет назад
Thats what 8 thought - but I cannot find what they are connected to - neither ground nor VCC are getting connected when I press them.
@sweetleaf7751
@sweetleaf7751 4 года назад
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
@PhattyMo
@PhattyMo 8 лет назад
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
@PhattyMo 8 лет назад
+PhattyMo And,It's working! :)
@JulianIlett
@JulianIlett 8 лет назад
+PhattyMo yay, result :)
@EmilFihlman
@EmilFihlman 8 лет назад
The physical layer of I2C and SPI (and many others) is exactly the same.
@douro20
@douro20 8 лет назад
He couldn't had made the library to use the existing SPI lines on the Uno R3?
@Hoverbot1TV
@Hoverbot1TV 8 лет назад
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?
@thepvporg
@thepvporg 8 лет назад
Most likely the code, sorry sketch was written for a larger screen, as is the most common fault of coders who do not provide alternative scaling sketches or allow some globals for manipulation in the header.
@retrorobodog
@retrorobodog 4 года назад
:) cool :)
@andreiefimov9666
@andreiefimov9666 4 года назад
useful video. btw where did u buy this Arduino uno board with icsp connector ( aka idc 10 )? can u share link, please
@TheDutyPaid
@TheDutyPaid 8 лет назад
Could you use this to show composite signal from a PS1?
@JulianIlett
@JulianIlett 8 лет назад
+TheDutyPaid You'd have to decode the composite signal into RGB first. Then squirt the data very quickly over SPI - the flat colour boxes were being drawn at 30fps so it should be fast enough. I guess it could be done. But 96x64 pixels is pretty low resolution telly!
@TheDutyPaid
@TheDutyPaid 8 лет назад
+Julian Ilett would it be better to start with a component cable?
@NickStallman
@NickStallman 8 лет назад
+TheDutyPaid An Arduino wouldn't be able to handle the data fast enough. You'd need a much faster ADC than what is built in, plus significantly faster processing to RGB. The 30fps was only for square boxes not arbitrary graphics.
@morpher44
@morpher44 8 лет назад
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.
@morpher44
@morpher44 8 лет назад
I don't think VSYNC is necessary. You can have one task showing ONLY the differences between frames, reducing I/O. For 30FPS, for example, a 33.33msec sleep is needed between frames. But if it takes 5msec say to work on showing the frame, then you sleep for 28.333msec. You can calculate this easily be grabbing time at various places to determine how much to sleep. Yah, I would avoid Arduino sanbox and go to an RTOS, like Zephyr.
@tengelgeer
@tengelgeer 8 лет назад
Arduino IDE 1.6.8 is pretty flawed indeed. I'm still at 1.6.4 waiting for a better update (like a lot of people).
@aaro1268
@aaro1268 8 лет назад
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.
@ovalwingnut
@ovalwingnut 8 лет назад
Clear, Concise, Detailed, Informative and Entertaining. Thank you.
@rich1051414
@rich1051414 6 лет назад
Disappointing the UcgLib doesn't have a frame buffer.
@MujeebRahman-we7zj
@MujeebRahman-we7zj 8 лет назад
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.
@World_Theory
@World_Theory 8 лет назад
The image quality of your camera is awesome. (Even if the focusing behavior isn't perfect.)
@MPElectronique
@MPElectronique 7 лет назад
Thank you so much. The adafruit one, is not that complete.. thanks!!
@victornpb
@victornpb 8 лет назад
What if you remove that 50ms delay on the 3D cube loop?
@miniwarrior7
@miniwarrior7 8 лет назад
it's funny how excited we are about such old technology
@colonfrancelj9356
@colonfrancelj9356 7 лет назад
The only thing is that it doesn't have the buffer which makes it better
@douro20
@douro20 8 лет назад
Reminds me of the pixel layout on colour television displays. They couldn't had used a PenTile Matrix layout?
@cbm80amiga
@cbm80amiga 8 лет назад
+douro20 Only Samsung cheats this way to save 1/3 LEDs in the display.
@rich1051414
@rich1051414 6 лет назад
Pentile is similar to the 1/2 pixel per scanline offset.
@Arek_R.
@Arek_R. 8 лет назад
Omg that display is 20$, its ridiculous!
@jesuishalil
@jesuishalil 8 лет назад
What's it's power consumption? Might get one
@leifstenfeldt2
@leifstenfeldt2 6 лет назад
Thank you very much, it really helped me alot.
@gamerpaddy
@gamerpaddy 8 лет назад
Is this useful header design board available with 32u4 chip? or 328 with 16u2 usb-serial chip? im not happy with ftdi or ch340.
@pfeerick
@pfeerick 8 лет назад
+gamerpaddy What's wrong with the CH340? I have sort of gone off FTDI after how they are handling the clone chip issue, but have yet to have any issues with CH340 UARTS - they seem to just work without any hiccups or issues, and are a great price.
@gamerpaddy
@gamerpaddy 8 лет назад
nothing is wrong with them, but the 16u2 is an microcontroller, and sometimes i just need to use it as an HID device (Joystick for example) the ch340 cant do. a 32u4 (micro pro micro and leonardo) would do the job too, but its also more expensive. just a few bucks, but that makes the difference between having one or not.
@pfeerick
@pfeerick 8 лет назад
Good point there... was wondering if that was your application :) On the topic of HID, have you had a look at vusb for doing USB emulation on attiny85s and atmeta328? Or is that too processor intensive/restrictive?
@gamerpaddy
@gamerpaddy 8 лет назад
+Peter Feerick i havent used vusb yet. mostly im doing the HID descriptors by myself, depending on what i need.
@azimalif266
@azimalif266 8 лет назад
I use a mobile cameras internal lense to see pixels...
@mirkomueller3412
@mirkomueller3412 8 лет назад
with your complain about the rotating cube. you did notice the delay(50) statement in the code?
@pfeerick
@pfeerick 8 лет назад
But would that cause a noticeable flicker in the *drawing* of the display? I would think it is the sheer amount of data the little 8 bit micro has to process, and the SPI speed that is the issue there. If Julian were to use a Arduino Due or a cheap STM32, it would probably be a lot smoother. Is the Arduino Mega going to make much different here... it's main benefits would be more memory (SRAM & Flash), not sure if the clock speed is much higher?
@fredlllll
@fredlllll 8 лет назад
"S-R-C Directory" it stands for source and is also pronunced source XD
@cbm80amiga
@cbm80amiga 8 лет назад
+fredlllll Do you really think that Julian doesn't know this :)
@colonfrancelj9356
@colonfrancelj9356 7 лет назад
Does this work with the esp32?
@AgentOffice
@AgentOffice 7 лет назад
I wish I could buy this kit
@housemusic325
@housemusic325 8 лет назад
Where to buy it ? No link ?
@arifanwari3168
@arifanwari3168 8 лет назад
Good work as usual bud.
@NoxmilesDe
@NoxmilesDe 8 лет назад
what is the price? and the exact name? or Amazon/ebay/aliexpress link?
@JulianIlett
@JulianIlett 8 лет назад
+Noxmiles Full details in this video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-YNPtMR0e6I4.html
@NoxmilesDe
@NoxmilesDe 8 лет назад
+Julian Ilett thank you
@DiyintheGhetto
@DiyintheGhetto 8 лет назад
Hey Jullian i wonder how it will work with pictures from a SD CARD?
@JulianIlett
@JulianIlett 8 лет назад
+joseph chrzempiec (josephchrzempiec) I'm sure it could be done, but the display is ultra-low resolution, not really suitable for stills or movies.
@DiyintheGhetto
@DiyintheGhetto 8 лет назад
Awesome thank you.
@MYNICEEV
@MYNICEEV 8 лет назад
Awesome.
@michaelzajac5284
@michaelzajac5284 8 лет назад
How to camera?
@alanpowell328
@alanpowell328 7 лет назад
Interesting - Just installed the UCGlib and it appears incompatible with Arduino 1.8.1
@JulianIlett
@JulianIlett 7 лет назад
Oh wonderful (said sarcastically). That's what I like about analogue electronics - none of this compatibility nonsense :)
@alanpowell328
@alanpowell328 7 лет назад
Julian, Thanks for the very prompt reply. I've checked the web and can't find any reference to this problem - could be me but I don't think so, I'll check again. The examples appear at the bottom of the list in a folder marked "INCOMPATIBLE" and the library is nowhere to be found. I used the library manager so I will download an earlier version and see if that works. Regards Alan
@JulianIlett
@JulianIlett 7 лет назад
It wouldn't surprise me if Oli Kraus fixes his libraries pretty soon - he's always been very responsive.
@opana4353
@opana4353 8 лет назад
that was awesome
@harryjnr2335
@harryjnr2335 8 лет назад
me first
7 лет назад
100th
@electrodacus
@electrodacus 8 лет назад
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.
@datinniezaidi7754
@datinniezaidi7754 8 лет назад
HEY,REPLY TO ME!
@_who_cares_1123
@_who_cares_1123 8 лет назад
no
@IscleGaming
@IscleGaming 8 лет назад
no hd... damn it
@JulianIlett
@JulianIlett 8 лет назад
+IscleGaming | ZefaCraft Please watch it again in a little while, when RU-vid has finished rendering the video into full HD.
@IscleGaming
@IscleGaming 8 лет назад
Julian Ilett i've already watched it hahaha but i can't see the screen details... will have a look a few hours later :) BTW, good video!!
@parkerproffitt3012
@parkerproffitt3012 8 лет назад
good old 360p
@TheDutyPaid
@TheDutyPaid 8 лет назад
+Parker “Moviemaster” Belcher Now in full HD
@kyoudaiken
@kyoudaiken 8 лет назад
+Parker „Moviemaster“ Belcher It's because Intel can't bring us CPUs with enough power to convert 1080p video fast enough. REALLY DISSAPPOINTED!!! And don't tell me, that with GPU encoding it's much faster. It is, but it does not use all H264 featues of the codec standard and the quality is comparable with MPEG4 ASP (DivX, XviD, etc.) or even MPEG2. Just forget to encode low bitrate video in good quality via GPUs!
Далее
Display Full Color Images on ESP32 + SSD1351 OLED
8:44
Julian's Ardutorials: Arduino, Nokia 5110 LCD & u8glib
17:36
Mining Magnetite
16:20
Просмотров 300 тыс.
Making Circuit Boards WITHOUT Solder
12:31
Просмотров 25 тыс.
Tiny Board, Tiny OLED, Tiny Project
29:19
Просмотров 74 тыс.
Streaming Video From an SD Card on the ESP32.
5:48
Просмотров 27 тыс.
What's the difference? Arduino vs Raspberry Pi
6:21
Просмотров 1,8 млн
OLED Displays with Arduino - I2C & SPI OLEDs
41:41
Просмотров 1,1 млн
Arduino Project: Pro Mini Humidity Meter (Hygrometer)
13:38
Using Multiple Displays with Arduino FREE CODE
3:25
Просмотров 66 тыс.