Go Down

Topic: Button Output on TFT Screen (Read 894 times) previous topic - next topic

Scallywag

Hi everyone,  I'm working with the button example.  I'm trying to figure out when I press the button, it will write the word "ON" on the screen.
Kinda has me stumped right now.  Thanks for any info.

PaulS

Quote
Kinda has me stumped right now.

Me, too. Hard to tell from your code where the problem is, or from your problem description what is working and what is not working.

Nick Gammon

Hi!

Quote
I'm working with the button example.


What button example?
http://www.gammon.com.au/electronics

Scallywag

The button example on 0022.  I got it outputted to the screen. Here's how I slightly modified the code to get it out on the screen, now the problem I have is when I press the button and "ON" appears on the screen, I don't know how to get "ON" off the screen and return to the "OFF" state.



#include <TFT.h>

/*
  Button

Turns on and off a light emitting diode(LED) connected to digital 
pin 7, when pressing a pushbutton attached to pin 2.


The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground

* Note: on most Arduinos there is already an LED on the board
attached to pin 13.


created 2005
by DojoDave <http://www.0j0.org>
modified 28 Oct 2010
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/Button
*/

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int TftPin =  7;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  Tft.init();
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(TftPin, OUTPUT);     
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);

}

void loop(){

  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
delay(100);
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
      Tft.drawString("ON",35,200,2,BLUE);     
  }
  else
  {
    Tft.drawString("OFF",55,150,2,RED);
   }
   
}

dxw00d

Try doing this:
Code: [Select]
      Tft.drawString("ON",35,200,2,BLUE); but using the background colour instead of BLUE.

Scallywag

Thanks, that got it.  I used the return function in front of it and it worked like a charm.  Thanks everyone for the advice

Go Up