- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在为我的 arduino ATMega2560 试验 I2C 和 mcp23017 IO 扩展器芯片,因为我宁愿使用 arduino 本身上的 IO 来做其他事情,我只是想知道如何使用 adafruit mcp23017.h 库,但不能弄清楚如何寻址多个 mcp23017 芯片以及如何单独使用这些引脚,这是我编辑的按钮库中的代码。
我希望能够对各个芯片和引脚进行寻址,如果在代码中连接并寻址多个芯片,我不太确定在设置中 IO 的引脚模式是否按顺序从 0 上升到 15。例如,如果第一个芯片被寻址为 0x20,并且 IO 编号计数为 0 - 15,如果我添加另一个芯片并将其寻址为 0x21,则该计数将从 0 - 15 变为 0 - 31。
#include <Wire.h>
#include "Adafruit_MCP23017.h"
//pin 1 and 0 are mcp pins not arduino IO pins
Adafruit_MCP23017 mcp;
void setup() {
mcp.begin(); // use default address 0
mcp.pinMode(0, INPUT);
mcp.pinMode(1, OUTPUT);
Serial.begin(9600);
pinMode(13, OUTPUT); // use the p13 LED as debugging
}
void loop() {
// The LED will 'echo' the button
digitalWrite(13, mcp.digitalRead(0)); //Writes pin 13 to the reading of pin 0
mcp.digitalWrite(1, mcp.digitalRead(0)); //Writes pin 1 to the reading of 0
if(mcp.digitalRead(1) == HIGH){ //if pin 1 == high serialprint led whent high
Serial.println("Led whent HIGH");
}
}
最佳答案
每个芯片必须有唯一的地址,这可以根据 Microchip's manual 实现。第 8 页。因此,首先,您应该在硬件布局中设置不同的地址。
您还应该为要使用的每个芯片创建一个 Adafruit_MCP23017
对象,并在代码中设置相应的地址。
在这种情况下,所有芯片的引脚的地址范围为 0-15。要更改 pin 的状态,您应该引用特定实例。
<小时/>更新
这是您的起点
#include "Adafruit_MCP23017.h"
Adafruit_MCP23017 mcp1;
Adafruit_MCP23017 mcp2;
Adafruit_MCP23017 mcp3;
#define addr1 0x00
#define addr2 0x01
#define addr3 0x02
void setup() {
mcp1.begin(addr1);
mcp2.begin(addr2);
mcp3.begin(addr3);
}
void loop() {
}
关于arduino - 如何通过 adafruit mcp23017.h 库使用多个 mcp23017 芯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36954218/
我无法弄清楚使用此语法初始化类实例的好处 Adafruit_8x8matrix matrix = Adafruit_8x8matrix();,而 Adafruit_8x8matrix matrix;
我正在编写读取文件并将其发送到 20x4 LCD 的代码,并且我有按钮,因此我可以在文件中上下移动 ` import math import time import linecache import
我写了一个脚本,使用 adafruit motor hat 库在接收到 433MHz ex 传输代码时控制电机!目前射程很短,但这是我项目的最佳方式! 问题是 433MHz rx/tx 库是 pyth
Adafruit_MQTT 库很棒,但我遇到了问题。我在 Arduino 中将它与 NodeMCU (ESP8266) 一起使用。示例代码一切正常。 (TLS 连接 - WiFiClientSecur
我正在使用带有 AdaFruit pn532 NFC/RFID 防护罩的 Arduino UNO。目标是有一个带假底的鞋盒。在那个假底下面是我的原型(prototype),它希望能够分辨出假底上方盒子
我正在尝试通过 3g 和 TCP 连接向服务器发送数据包。下面是我找到的 .cpp 和 .h 文件的链接: https://os.mbed.com/users/Nels885/code/Adafrui
我正在开发一个项目,需要 GPRS 连接并同时发送短信。 我正在使用 Raspberry Pi 和 adafruit fona。 我按照此 FONA Tethering to Raspberry Pi
我是 Python 新手,目前正在我的 Pi 3 mod b 上开发一个项目。我使用 Adafruit ADC1015 来转换模拟信号。但是,即使我有获取一些伏特测量值的代码,我也会收到“Attrib
我运行安装程序 from this website让我的 arduino 使用 AdaFruit LED。并运行: sudo pip3 install adafruit-circuitpython-n
我有一个 Adafruit (Gemma)/Arduino 和一个 Neopixel LED 环,我想从《魔兽世界》游戏内事件中控制它们。这部分是焊接和工作的。 问题: 有什么方法可以在魔兽世界和 P
我正在尝试将从十六进制字符串转换的字节数组写入 NTAG203 RFID 标签的内存中。我使用的是 Raspberry Pi 3、PN532 芯片和 Adafruit PN532 python lib
将 mbed 操作系统和 stm32 核板与 Adafruit Fona 3g 结合使用,我正在尝试通过 3g 连接将数据发送到服务器。我正在使用此处发布的 .cpp 文件和 .h 文件:https:
我已经成功安装了 Adafruit_Gpio 包,当我尝试运行 adafruit 提供的 bme 传感器的示例文件时,出现以下错误: Traceback (most recent call las
我正在使用 Adafruit Ft232H breakout 将 GPIO 端口添加到我的 Linux 电脑。虽然我在使用 libftdi 和 bitbang 模式闪烁 LED 灯时取得了一些成功,但
我一直在为我的 arduino ATMega2560 试验 I2C 和 mcp23017 IO 扩展器芯片,因为我宁愿使用 arduino 本身上的 IO 来做其他事情,我只是想知道如何使用 adaf
所以我试图将图像的字节数组放入外部 eeprom (c24LC16B) 并使用 Adafruit gfx 库中的 drawBitmap() 函数在 Nokia 3310 LCD(带有 Adafruit
希望你们中的任何一个能帮助我! 我正在尝试使用 Adafruit SHT31-D (一个 i2c 设备)板和我的 Pi2。我要离开 this datasheet指导我的编码工作。我正在使用 Wirin
我是 Arduino 的新手,我正在尝试使用 Adafruit Motor Shield V2.3 运行直流电机。我按照 Adafruit 网站上的说明进行操作,但是当我上传代码时我的电机没有启动。我
关于我关于 SO 的最后一个问题,我正在研究一个由 Arduino Mega 控制的交互式 14x14 LED table (有关设置和代码的更多信息,请查看 here。在解决了数据以错误的顺序到达
我正在尝试编写一个程序来在 Adafruit 60 LED 灯带上显示特定的灯光序列。目标是我将在代码中手动输入一个 DNA 序列,当程序运行时,每个碱基都会在 strip 上显示自己的颜色。这是到目
我是一名优秀的程序员,十分优秀!