BLYNK
HOME       📲 GETTING STARTED       📗 DOCS       ❓HELP CENTER       👉 SKETCH BUILDER

Add more LED and physical button in this sketch HELP!


#1

/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest

Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.

Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator:           http://examples.blynk.cc
Blynk community:            http://community.blynk.cc
Follow us:                  http://www.fb.com/blynkapp
                            http://twitter.com/blynk_app

Blynk library is licensed under MIT license
This example code is in public domain.


This example shows how to synchronize Button widget
and physical button state.

App project setup:
Button widget attached to V2 (Switch mode)
*************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = “YourAuthToken”;

#define W5100_CS 10
#define SDCARD_CS 4

// Set your LED and physical button pins here
const int ledPin = 7;
const int btnPin = 8;

BlynkTimer timer;
void checkPhysicalButton();

int ledState = LOW;
int btnState = HIGH;

// Every time we connect to the cloud…
BLYNK_CONNECTED() {
// Request the latest state from the server
Blynk.syncVirtual(V2);

// Alternatively, you could override server state using:
//Blynk.virtualWrite(V2, ledState);
}

// When App button is pushed - switch the state
BLYNK_WRITE(V2) {
ledState = param.asInt();
digitalWrite(ledPin, ledState);
}

void checkPhysicalButton()
{
if (digitalRead(btnPin) == LOW) {
// btnState is used to avoid sequential toggles
if (btnState != LOW) {

  // Toggle LED state
  ledState = !ledState;
  digitalWrite(ledPin, ledState);

  // Update Button Widget
  Blynk.virtualWrite(V2, ledState);
}
btnState = LOW;

} else {
btnState = HIGH;
}
}

void setup()
{
// Debug console
Serial.begin(9600);

pinMode(SDCARD_CS, OUTPUT);
digitalWrite(SDCARD_CS, HIGH); // Deselect the SD card

Blynk.begin(auth);
// You can also specify server:
//Blynk.begin(auth, “blynk-cloud.com”, 8442);
//Blynk.begin(auth, IPAddress(192,168,1,100), 8442);

pinMode(ledPin, OUTPUT);
pinMode(btnPin, INPUT_PULLUP);
digitalWrite(ledPin, ledState);

// Setup a function to be called every 100 ms
timer.setInterval(100L, checkPhysicalButton);
}

void loop()
{
Blynk.run();
timer.run();
}


#2

Add more formatting, for proper forum viewing, to any posted sketch! :wink:

PS, this is not a “How to program” forum, we help you learn about Blynk… the examples have already been supplied (and you don’t need to repost them here :stuck_out_tongue_winking_eye: ) but it is up to you to learn how they work and thus learn how to modify them over time.

If you have any particular questions about specific Blynk commands and operation, then we can possible help.