Arduino UNOとnokia5110の接続につて、実験を行いました。
まず、nokia5110に使われているPCD8544のマニュアルを見てみました。
Limiting Valueとして
MIN MAX
VDD -0.5V + 7V
VLCD -0.5V +10V
Vi(All inputVoltage) -0.5V VDD+0.5V
と書いてあります。
VDD=3.3VならVi MAX=3.8Vということになりますね。
VDD=3.3VでVi=5Vにしたらどうなるのでしょうか?
不安なので、レベルコバータとして、74HC4050をを入れていたわけです。
VDD=3.3Vとし、Arduinoとnokia5110の間に74HC4050を入れた時のSPIのデータ信号をnokia5110の入力端子で観測した波形です。(74HC4050には3.3Vを加えてあります)
きれいに、3.3Vに変換されています。
次に、4050の代わりに10kΩの抵抗を入れてみます。(このようにしている例も結構見られます。)
電圧のレベル変換は、ほとんど行われず、10kΩ抵抗とnokia5110の入力の容量によって、積分されています。
次にArduinoとnokia5110を直結した場合は、どうなるんだろうと思い、直結して電流を測ってみました。
直結した場合でも、Arduinoとnokia5110間では、RSTとDCはほとんど流れず、DIN,CLK端子で最大で数十uA以下の電流しか流れません。
nokia5110の入力の耐圧の問題だけのようです。
実際に、Arduino UNOとnokia5110を3.3V以外の信号線を直結直結してみました。
特に問題なく、動作しました。
Arduino nanoとnokia5110を直接接続してみました。(6mリグを想定した表示です)
大丈夫のようです。