13761332262 发表于 2016-7-19 15:32:44

求助

本帖最后由 13761332262 于 2016-7-22 14:26 编辑

我想做个按键往串口发送数据的东西,就是按一下按键,往串口发出一个“1”,弄好好久弄不好。求教育!求鞭策!



int inpin = 4; //定义数字4 接口
int val;//定义变量val
void setup()
{

         pinMode(inpin, INPUT);//定义按键接口为输入接口
         Serial.begin(9600);

}
void loop()
{
val = digitalRead(inpin); //读取数字4 口电平值赋给val
if (val == LOW) //检测按键是否按下,
{
    Serial.print("1");
}

}

zjz5717 发表于 2016-7-19 19:49:12

你的电路呢,程序没有什么问题啊

seesea 发表于 2016-7-19 21:31:44

如果你的电路没有外接上拉电阻,你可以开启内部上拉,即使用 pinMode(inpin, INPUT_PULLUP) 来设置。
如果电路对的话,你这个应该是按着按钮不放就会不停地输出1了。如果要设置按一下只输出一个1,需要用循环来等待按钮释放。
另外这个没有消抖,反正实验玩玩,不用这么细。

13761332262 发表于 2016-7-20 01:59:05

按键应该怎么接?我现在是4号口跟接地是同一边,另一边接5v,就是怎么按都没反应。

Joyce 发表于 2016-7-20 14:10:52

+5V接电阻,然后接开关的第一边和单片机的4pin(开关的第一边和4pin等电势);
开关的另一端接地;
页: [1]
查看完整版本: 求助