mariosgit / VFD_MN12832L

Arduino Lib for a MN12832L VFD
MIT License
2 stars 0 forks source link

[Q] compatibility with serial driver #1

Open eadmaster opened 1 month ago

eadmaster commented 1 month ago

I've found this version of the vfd with a serial driver included: https://it.aliexpress.com/item/1005003334862374.html

Can it be used with this libray or does it need a rewrite?

mariosgit commented 1 month ago

The link does not go anywhere usefull.. so I do some guessing. (maybe append a picture)

This Library is for the plain VFD.

There are breakout boards like this Screenshot from 2024-06-08 15-17-54 This should work. It passes the data lines through and provides the high voltages 👍.

If there is a board providing a serial port, then it has, most likely, it's own controller and you need to get info about the protocol it runs. (However if you can erase the firmware on such a controller you can try to use this library on it. :)

eadmaster commented 1 month ago

yes, that's exactly the board, maybe the auction is blocked in your country.

Can you help me figuring out the correct wiring?

The pins on the left are:

If it can be of any help, i have some datasheets here, unfortunately in Chinese: MN12832L.pdf MN12832L_pr1-c8(1).pdf

mariosgit commented 1 month ago

Yes looks good. I don't know what HV and EF are. Could be enable lines for filament EF? If so it could blank/powersave

Just power it up..

If these are there it should work...

The vfd has 2 SIN they seem to be bridged, so no greyscale.

eadmaster commented 1 month ago

I don't know what HV and EF are. Could be enable lines for filament EF? If so it could blank/powersave

they also sent me this piece of code, which was meant for the stm32, where these HV and EF pins seems to be used as "PF0_Set" and "PF1_Set", so i guess they cannot be left unconnected.

main.c.txt

mariosgit commented 1 month ago

Ohh the secret Chinese code :)

PF0 = EF is just Set at the beginning of their main. So that should turn on something voltage related. Can be connected HIGH or to my pinPWM. PF1 = HV? is probably connected to the GCP pin @ vfd ? Can you check this ? This would be the pinGCP in my code. That does some pulsing.. I did not quite get what this does I think that is a sort of PWM cycle related to the gray values.

eadmaster commented 1 month ago

PF1 = HV? is probably connected to the GCP pin @ vfd ? Can you check this ? This would be the pinGCP in my code.

not anytime soon, i still considering if getting this module or a Text-only model like this (they seem easier to connect and use via serial commands)

slabua commented 1 week ago

Following. I have the same display from Aliexpress. But I have no Teensy. Eventually I want to rewrite it in micropython for the Pico but I also have some esp32 laying around to possibly test with arduino.

mariosgit commented 1 week ago

For ESP32 you need to replace the IntervalTimer, as it is used in the example, with something else. It calls the MN12832L::refresh function about 1000 times per sec.

ESP32 timer API: https://docs.espressif.com/projects/arduino-esp32/en/latest/api/timer.html#arduino-esp32-timer-api


I don't have a Pico, I would suggest making a C library for this, due to a lot of bit level manipulation in the drawPixel and refresh functions.