Skip to content

Commit d23b80e

Browse files
committed
add reworked digital in example
1 parent 8b3925a commit d23b80e

File tree

2 files changed

+130
-0
lines changed

2 files changed

+130
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
// Adafruit IO Digital Input Example
2+
//
3+
// Adafruit invests time and resources providing this open source code.
4+
// Please support Adafruit and open source hardware by purchasing
5+
// products from Adafruit!
6+
//
7+
// Written by Todd Treece for Adafruit Industries
8+
// Copyright (c) 2016 Adafruit Industries
9+
// Licensed under the MIT license.
10+
//
11+
// All text above must be included in any redistribution.
12+
13+
/************************** Configuration ***********************************/
14+
15+
// edit the config.h tab and enter your Adafruit IO credentials
16+
// and any additional configuration needed for WiFi, cellular,
17+
// or ethernet clients.
18+
#include "config.h"
19+
20+
/************************ Example Starts Here *******************************/
21+
22+
// digital pin 5
23+
#define BUTTON_PIN 5
24+
25+
// button state
26+
bool current = false;
27+
bool last = false;
28+
29+
// set up the 'button' feed
30+
AdafruitIO_Feed *button = io.feed("button");
31+
32+
void setup() {
33+
34+
// set button pin as an input
35+
pinMode(BUTTON_PIN, INPUT_PULLUP);
36+
37+
// start the serial connection
38+
Serial.begin(115200);
39+
40+
// wait for serial monitor to open
41+
while(! Serial);
42+
43+
// connect to io.adafruit.com
44+
Serial.print("Connecting to Adafruit IO");
45+
io.connect();
46+
47+
// wait for a connection
48+
while(io.status() < AIO_CONNECTED) {
49+
Serial.print(".");
50+
delay(500);
51+
}
52+
53+
// we are connected
54+
Serial.println();
55+
Serial.println(io.statusText());
56+
57+
}
58+
59+
void loop() {
60+
61+
// io.run(); is required for all sketches.
62+
// it should always be present at the top of your loop
63+
// function. it keeps the client connected to
64+
// io.adafruit.com, and processes any incoming data.
65+
io.run();
66+
67+
// grab the current state of the button.
68+
// we have to flip the logic because we are
69+
// using INPUT_PULLUP.
70+
if(digitalRead(BUTTON_PIN) == LOW)
71+
current = true;
72+
else
73+
current = false;
74+
75+
// return if the value hasn't changed
76+
if(current == last)
77+
return;
78+
79+
// save the current state to the button feed
80+
Serial.print("sending button -> ");
81+
Serial.println(current);
82+
button->save(current);
83+
84+
// store last button state
85+
last = current;
86+
87+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/************************ Adafruit IO Config *******************************/
2+
3+
// visit io.adafruit.com if you need to create an account,
4+
// or if you need your Adafruit IO key.
5+
#define IO_USERNAME "your_username"
6+
#define IO_KEY "your_key"
7+
8+
/******************************* WIFI **************************************/
9+
10+
// the AdafruitIO_WiFi client will work with the following boards:
11+
// - HUZZAH ESP8266 Breakout -> https://www.adafruit.com/products/2471
12+
// - Feather HUZZAH ESP8266 -> https://www.adafruit.com/products/2821
13+
// - Feather M0 WiFi -> https://www.adafruit.com/products/3010
14+
// - Feather WICED -> https://www.adafruit.com/products/3056
15+
16+
#define WIFI_SSID "your_ssid"
17+
#define WIFI_PASS "your_pass"
18+
19+
// comment out the following two lines if you are using fona or ethernet
20+
#include "AdafruitIO_WiFi.h"
21+
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
22+
23+
24+
/******************************* FONA **************************************/
25+
26+
// the AdafruitIO_FONA client will work with the following boards:
27+
// - Feather 32u4 FONA -> https://www.adafruit.com/product/3027
28+
29+
// uncomment the following two lines for 32u4 FONA,
30+
// and comment out the AdafruitIO_WiFi client in the WIFI section
31+
// #include "AdafruitIO_FONA.h"
32+
// AdafruitIO_FONA io(IO_USERNAME, IO_KEY);
33+
34+
35+
/**************************** ETHERNET ************************************/
36+
37+
// the AdafruitIO_Ethernet client will work with the following boards:
38+
// - Ethernet FeatherWing -> https://www.adafruit.com/products/3201
39+
40+
// uncomment the following two lines for ethernet,
41+
// and comment out the AdafruitIO_WiFi client in the WIFI section
42+
// #include "AdafruitIO_Ethernet.h"
43+
// AdafruitIO_Ethernet io(IO_USERNAME, IO_KEY);

0 commit comments

Comments
 (0)