Pages: [1]   Go Down
Author Topic: Problem turning on display.  (Read 362 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 111
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am using a Newhaven 16x2 OLED parallel display ( 3.3v) on my Sanguino project running on a single Li Ion battery
I had the OLED powered all the time even when the sanguino was alseep. I turned the display off via code.
This worked fine but I was concerned with the battery drain ( 5ma for OLED when turned off via code).

So I now have the sangino switching a pin high that operates a transistor  that operates a MOSFET to supply power to the OLED.

First time I powered it up the OLED did not work even though it was getting nearly full battery voltage to it (4.10/4.15 or so).
I tried putting project to sleep and waking up and it still didnt work.
I then removed battery and reconnected and it worked. After that it would turn on and off when in sleep mode.

Then this morning the display would not turn on when woken from sleep mode. I removed and replaced the battery and it all powered up fine and worked when put in and out of sleep mode.

I have checked the voltage at the OLED and this is turning on and off as expected.

Any ideas on what could be the issue? Do I need a delay between powering up OLED and turning it on via code?

Another problem that may or not be related is that the pin that drives D7 on the OLED remains high when display is turned off via code and power is turned off via MOSFET. Shouldt all pins be driven low when display is turned off (  noDisplay()  )
« Last Edit: October 23, 2012, 01:57:35 pm by Packhorse » Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 549
Posts: 27418
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

"Shouldt all pins be driven low when display is turned off (  noDisplay()  )"
I would think so - most devices are sped'ed to not have IO lines more than 0.5V above the Vcc line.
The pin can  be damaged, or power could leak into other circuits and leave device partially powered.
FInd a way to bring all lines low before power is removed, and don't them go high before the Vcc line does.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Full Member
***
Karma: 0
Posts: 111
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks. I will try digitalwrite pin low after display().

As it is I turn the MOSFET on before anything else and turn it off after every thing else. But I wonder if it does it fast enough.
Logged

Pages: [1]   Go Up
Jump to: