【教程】网上第一帖!WIFIArduino控制23017,解决上电io抖动
目前,网上的MCP23017的基础资料比较多,但是都是泛泛而谈,真实使用案例、源代码比较少,特别是WIFIArduino控制MCP23017更是网上第一帖!一、连线方式:
此图中,vcc接WIFIArduino的3.3v,gnd接WIFIArduino的GND,SCL接5号(D5),SDA接4号(D4),源代码:
#include <Wire.h>
#define BLINKER_WIFI
#include <Blinker.h>
#include "Adafruit_MCP23017.h"
int PAISHUISHIJIAN = 0;
char auth[] = "b83b949d92ff";
//char ssid[] = "mima88888888";
//char pswd[] = "88888888";
char ssid[] = "123456789";
char pswd[] = "123456789";
BlinkerButton Button1("btn-abc");
Adafruit_MCP23017 mcp;
// 按下按键即会执行该函数
void button1_callback(const String & state)
{
Blinker.print("开始喂食!");
PAISHUISHIJIAN = 1;
}
void setup()
{
// 初始化串口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
mcp.begin();// use default address 0
mcp.pinMode(0, OUTPUT);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
}
void loop() {
Blinker.run();
if(PAISHUISHIJIAN > 0){
delay(3000);
mcp.digitalWrite(0, HIGH);
delay(3000);
mcp.digitalWrite(0, LOW);
Blinker.print("喂食结束!");
PAISHUISHIJIAN = 0;
}
}这个代码的作用就是实现:点击app中键值为btn-abc的按键,Adafruit_MCP23017的0号针脚高电平、低电平变化。
二、WIFIArduino的io口在上电、复位的时候,io口瞬间有一个高电平,会造成下端负载误动作,但是Adafruit_MCP23017默认为io输入,在上电、复位的时候,io口不会出现高电平,下端负载不会误动作。
有问题在此贴回复。
y有结果了吗,我也想知道怎么回事
页:
[1]