初始化提交
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
/*************************************************************
|
||||
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 monitor a button state
|
||||
using interrupts mechanism.
|
||||
|
||||
App project setup:
|
||||
LED widget on V1
|
||||
*************************************************************/
|
||||
|
||||
/* 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";
|
||||
|
||||
WidgetLED led1(V1);
|
||||
|
||||
// We make these values volatile, as they are used in interrupt context
|
||||
volatile bool pinChanged = false;
|
||||
volatile int pinValue = 0;
|
||||
|
||||
// Most boards won't send data to WiFi out of interrupt handler.
|
||||
// We just store the value and process it in the main loop.
|
||||
void checkPin()
|
||||
{
|
||||
// Invert state, since button is "Active LOW"
|
||||
pinValue = !digitalRead(2);
|
||||
|
||||
// Mark pin value changed
|
||||
pinChanged = true;
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
// Debug console
|
||||
Serial.begin(9600);
|
||||
|
||||
Blynk.begin(auth);
|
||||
|
||||
// Make pin 2 HIGH by default
|
||||
pinMode(2, INPUT_PULLUP);
|
||||
// Attach INT to our handler
|
||||
attachInterrupt(digitalPinToInterrupt(2), checkPin, CHANGE);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Blynk.run();
|
||||
|
||||
if (pinChanged) {
|
||||
|
||||
// Process the value
|
||||
if (pinValue) {
|
||||
led1.on();
|
||||
} else {
|
||||
led1.off();
|
||||
}
|
||||
|
||||
// Clear the mark, as we have processed the value
|
||||
pinChanged = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
/*************************************************************
|
||||
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 monitor a button state
|
||||
using polling mechanism.
|
||||
|
||||
App project setup:
|
||||
LED widget on V1
|
||||
*************************************************************/
|
||||
|
||||
/* 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";
|
||||
|
||||
int prevState = -1;
|
||||
int currState = -1;
|
||||
long lastChangeTime = 0;
|
||||
|
||||
void checkPin()
|
||||
{
|
||||
// Invert state, since button is "Active LOW"
|
||||
int state = !digitalRead(2);
|
||||
|
||||
// Debounce mechanism
|
||||
long t = millis();
|
||||
if (state != prevState) {
|
||||
lastChangeTime = t;
|
||||
}
|
||||
if (t - lastChangeTime > 50) {
|
||||
if (state != currState) {
|
||||
currState = state;
|
||||
Blynk.virtualWrite(V1, state);
|
||||
}
|
||||
}
|
||||
prevState = state;
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
// Debug console
|
||||
Serial.begin(9600);
|
||||
|
||||
Blynk.begin(auth);
|
||||
|
||||
// Make pin 2 default HIGH, and attach INT to our handler
|
||||
pinMode(2, INPUT_PULLUP);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Blynk.run();
|
||||
checkPin();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
/*************************************************************
|
||||
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.
|
||||
|
||||
*************************************************************
|
||||
|
||||
You can synchronize the state of widgets with hardware states,
|
||||
even if hardware resets or looses connection temporarily
|
||||
|
||||
Project setup in the Blynk app:
|
||||
Slider widget (0...1024) on V0
|
||||
Value display (0...1024) on V2
|
||||
Button widget on digital pin (connected to an LED)
|
||||
*************************************************************/
|
||||
|
||||
/* 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";
|
||||
|
||||
// This function will run every time Blynk connection is established
|
||||
BLYNK_CONNECTED() {
|
||||
// Request Blynk server to re-send latest values for all pins
|
||||
Blynk.syncAll();
|
||||
|
||||
// You can also update individual virtual pins like this:
|
||||
//Blynk.syncVirtual(V0, V2);
|
||||
|
||||
// Let's write your hardware uptime to Virtual Pin 2
|
||||
int value = millis() / 1000;
|
||||
Blynk.virtualWrite(V2, value);
|
||||
}
|
||||
|
||||
BLYNK_WRITE(V0)
|
||||
{
|
||||
// Use of syncAll() will cause this function to be called
|
||||
// Parameter holds last slider value
|
||||
int sliderValue0 = param.asInt();
|
||||
}
|
||||
|
||||
BLYNK_WRITE(V2)
|
||||
{
|
||||
// You'll get uptime value here as result of syncAll()
|
||||
int uptime = param.asInt();
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
// Debug console
|
||||
Serial.begin(9600);
|
||||
|
||||
Blynk.begin(auth);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Blynk.run();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
/*************************************************************
|
||||
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";
|
||||
|
||||
// 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);
|
||||
|
||||
Blynk.begin(auth);
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user