garcho
Member
Greetings Forumites,
I've been programming a digital synthesizer on a Teensy 4.1. There are quite a few parameters the user has control over. I want some of these parameters to be displayed on a screen. There are a few encoders and such, and I'm using the audio shield, so pins are at a premium.
I would like a bigger screen than something like the 1" OLED i2c screens I've used in the past. I have a larger version, which is a significant improvement, but I'd still rather have a bigger screen, more like 3.5". I would also like color, although that's not a deal breaker.
I bought a `9486 3.5" TFT screen, on a Uno/Mega shield. It's exactly what I'm looking for. It also has touchscreen abilities. That interests me because it could mean some of the "deeper" functions could be touchscreen buttons instead of menu diving with an encoder, or something like that. I like the image quality, and smaller fonts are very easy to read. The default font is not transparent, which is great, because then I don't need to refresh the entire screen each time something changes. Because it's on a shield, I'm using it with an Arduino Mega. If I can control this with the Teensy, that would only require 1 pin for TX, or 2 if I figure out the touchscreen stuff. So far, so good.
Here is my question, having very little experience with µC and programming:
How realistic is my dream of sending display information from a Teensy 4.1 to a Arduino Mega, to be displayed on the TFT Mega shield?
I've dug around this and a few other forums for information, but I've had difficulty finding anything specific to Teensy 4.1. My idea as of now is to just use Serial, one of Teensy's TX to one of the Mega's RX that's not being used/blocked by the TFT shield. I'm a bit nervous of the Teensy 4.1's intolerance for 5V. The Mega's RX will never output 5V, correct? Is that something to worry about? I've read from Paul S, that the Arduino will "understand" the lower voltage from the Teensy, so I'm not concerned about that for now.
I mentioned touchscreen buttons earlier, I assume that would definitely need some finessing to deal with Mega 5V and T4.1 at 3V3, since the data would be going to the T4.1 instead of from it. This is from Paul S:
Any reason to think that won't work in this case, from the Mega to the T4.1? Again, I'm assuming an easy way to do this is via serial from the Mega to the Teensy.
What I want to display are things like "OSC B Pitch Shift +7", or "VCF LFO Waveform: SINE", or a float like "SUSTAIN VAL: 0.45", to be updated when values change. I've done that before using i2c screens, like the aforementioned OLED, or old school LCDs. I plan on just plucking the data from the synth sketch and sending it over as text to be displayed on the TFT. Any thoughts, recommendations, advice? Is Serial the way to go? I'm playing with serial sketches now to learn more about parsing data and that kind of stuff, but this is new to me. Am I on the right path?
Thanks for your time, cheers
I've been programming a digital synthesizer on a Teensy 4.1. There are quite a few parameters the user has control over. I want some of these parameters to be displayed on a screen. There are a few encoders and such, and I'm using the audio shield, so pins are at a premium.
I would like a bigger screen than something like the 1" OLED i2c screens I've used in the past. I have a larger version, which is a significant improvement, but I'd still rather have a bigger screen, more like 3.5". I would also like color, although that's not a deal breaker.
I bought a `9486 3.5" TFT screen, on a Uno/Mega shield. It's exactly what I'm looking for. It also has touchscreen abilities. That interests me because it could mean some of the "deeper" functions could be touchscreen buttons instead of menu diving with an encoder, or something like that. I like the image quality, and smaller fonts are very easy to read. The default font is not transparent, which is great, because then I don't need to refresh the entire screen each time something changes. Because it's on a shield, I'm using it with an Arduino Mega. If I can control this with the Teensy, that would only require 1 pin for TX, or 2 if I figure out the touchscreen stuff. So far, so good.
Here is my question, having very little experience with µC and programming:
How realistic is my dream of sending display information from a Teensy 4.1 to a Arduino Mega, to be displayed on the TFT Mega shield?
I've dug around this and a few other forums for information, but I've had difficulty finding anything specific to Teensy 4.1. My idea as of now is to just use Serial, one of Teensy's TX to one of the Mega's RX that's not being used/blocked by the TFT shield. I'm a bit nervous of the Teensy 4.1's intolerance for 5V. The Mega's RX will never output 5V, correct? Is that something to worry about? I've read from Paul S, that the Arduino will "understand" the lower voltage from the Teensy, so I'm not concerned about that for now.
I mentioned touchscreen buttons earlier, I assume that would definitely need some finessing to deal with Mega 5V and T4.1 at 3V3, since the data would be going to the T4.1 instead of from it. This is from Paul S:
You must reduce Uno's transmit signal to 3.3V, before connecting to Teensy LC. A pair of resistors can be used. 2.2K and 3.3K will work.
Any reason to think that won't work in this case, from the Mega to the T4.1? Again, I'm assuming an easy way to do this is via serial from the Mega to the Teensy.
What I want to display are things like "OSC B Pitch Shift +7", or "VCF LFO Waveform: SINE", or a float like "SUSTAIN VAL: 0.45", to be updated when values change. I've done that before using i2c screens, like the aforementioned OLED, or old school LCDs. I plan on just plucking the data from the synth sketch and sending it over as text to be displayed on the TFT. Any thoughts, recommendations, advice? Is Serial the way to go? I'm playing with serial sketches now to learn more about parsing data and that kind of stuff, but this is new to me. Am I on the right path?
Thanks for your time, cheers