Arduino键盘引脚
我最近一直在与Arduino合作,试图开发一个程序。程序应该找到键盘按钮连接到的引脚,以便更容易使用诸如“键盘”之类的库。我不需要用万用表 我目前正在使用Megarduino和LCD键盘屏蔽 这是我用来扫描连接到Arduino的键盘引脚的代码,但我无法让它工作 以前有一个pin对象数组,它有9个具有以下属性的pin:Arduino键盘引脚,arduino,keypad,pins,Arduino,Keypad,Pins,我最近一直在与Arduino合作,试图开发一个程序。程序应该找到键盘按钮连接到的引脚,以便更容易使用诸如“键盘”之类的库。我不需要用万用表 我目前正在使用Megarduino和LCD键盘屏蔽 这是我用来扫描连接到Arduino的键盘引脚的代码,但我无法让它工作 以前有一个pin对象数组,它有9个具有以下属性的pin:arduinoPin,scannedPin,basePin for (int kpdBasePin=2; kpdBasePin<NUMPINS; kpdBasePin++) {
arduinoPin
,scannedPin
,basePin
for (int kpdBasePin=2; kpdBasePin<NUMPINS; kpdBasePin++)
{
scanPins(kpdBasePin); // scan all pins less than kpdBasePin.
}
void scanPins(int baseKpdPin)
{
// Set base_pin output to LOW to begin scan process.
int base = kpdPin[baseKpdPin].arduinoPin;
pinMode(base, OUTPUT);
digitalWrite(base, LOW);
// Scan all pins up to, but not including, the base_pin. A LOW indicates a
// key is being pressed.
for (int scannedKpdPin = 1; scannedKpdPin < baseKpdPin; scannedKpdPin++)
{
// Created a local variable for readability.
int arduinoPin = kpdPin[scannedKpdPin].arduinoPin;
int keyState = !digitalRead(arduinoPin);
if (keyState)
{
storePins(scannedKpdPin, base); //method to store both pins
}
}
// End pin scanning process.
digitalWrite(base, HIGH);
pinMode(base, INPUT_PULLUP);
}
for(int-kpdBasePin=2;kpdBasePinSorry)但我不明白你想要实现什么以及为什么它不能像你期望的那样工作……请你解释清楚好吗?对不起,我是arduino和stackoverflow的新手……我试图让任何人连接膜(键盘)对于arduino,运行程序,并有一个lcd显示哪对插脚连接到该人在膜中按下的按钮。scanPins的目标是将arduino插脚设置为低,然后检查插脚,然后查看是否正在连接,然后存储信息。我解释过了吗n我自己好点了?好吧,现在更容易理解你想要什么…你还没有解释为什么失败…在我看来这应该是你想要的…我不确定…当我将程序上传到arduino时,我甚至不需要按下一个按钮和if(键状态)条件以某种方式得到满足…您是否通过上拉将所有管脚初始化为输入?他认为被按下的管脚是什么?抱歉,但我无法理解您要实现的目标以及为什么它不能像您预期的那样工作…您能更好地解释一下吗?抱歉,我对arduino和stackoverflow都是新手…我正在尝试做什么是让任何人连接膜(键盘)对于arduino,运行程序,并有一个lcd显示哪对插脚连接到该人在膜中按下的按钮。scanPins的目标是将arduino插脚设置为低,然后检查插脚,然后查看是否正在连接,然后存储信息。我解释过了吗n我自己好点了?好吧,现在更容易理解你想要什么…你还没有解释为什么失败…在我看来这应该是你想要的…我不确定…当我将程序上传到arduino时,我甚至不需要按下一个按钮和if(键状态)条件以某种方式得到满足…您是否通过上拉将所有管脚初始化为输入?他认为被按下的管脚是什么?