22号公园 发表于 2014-8-3 15:35:13

我想利用10个开关,让他们分别代表0-9共10个数值,按下开关的时候保存其对应的值

我想利用10个开关,让他们分别代表0-9共10个数值,当按下一个开关的时候,把这个开关代表的值存入数组保存下来,相当于向Arduino输入数据,不知道如何做到,本人新手,大家给点思路{:soso_e101:}

22号公园 发表于 2014-8-3 15:38:45

大家戳一下

i7456 发表于 2014-8-3 16:19:59

如果你能把问题描述清楚了,你的问题就解决了

22号公园 发表于 2014-8-3 16:31:15

i7456 发表于 2014-8-3 16:19 static/image/common/back.gif
如果你能把问题描述清楚了,你的问题就解决了

有10个开关switch0、switch1...switch9,现在假定他们分别代表0-9共10个数,当按下switch0时把0存入数组,按下switch5时把5存入数组,可以和计算器做一下对比,我想要做的就是,当无序按下一连串开关时,把他们对于的数值记录下来

i7456 发表于 2014-8-3 16:43:34

22号公园 发表于 2014-8-3 16:31 static/image/common/back.gif
有10个开关switch0、switch1...switch9,现在假定他们分别代表0-9共10个数,当按下switch0时把0存入数组, ...

开关是保持式的,还是自动复位式的。数值记录下来又有什么用?

22号公园 发表于 2014-8-3 16:49:58

i7456 发表于 2014-8-3 16:43 static/image/common/back.gif
开关是保持式的,还是自动复位式的。数值记录下来又有什么用?

先谢谢你了,赞!开关是自动复位式的,这些需要记录的数值可以是用户ID等信息,记录数值用作下一步的身份认证

邵林寺 发表于 2014-8-3 17:22:38

我这有现成的程序,之前做数控电源时候写的

无名小子 发表于 2014-8-3 18:25:30

用十个INPUT接口接上十个开关,每一个附上特定的数值,应该可以解决吧!
就当抛砖引玉吧!!同为新手,理解万分!!:D

darkorigin 发表于 2014-8-3 19:18:32

精华区都有相近的代码~~~直接参考就好~~~

darkorigin 发表于 2014-8-3 19:19:20

邵林寺 发表于 2014-8-3 17:22 static/image/common/back.gif
我这有现成的程序,之前做数控电源时候写的

数控电源?有教程么?
希望能开贴出教程 谢谢!

22号公园 发表于 2014-8-3 19:50:08

无名小子 发表于 2014-8-3 18:25 static/image/common/back.gif
用十个INPUT接口接上十个开关,每一个附上特定的数值,应该可以解决吧!
就当抛砖引玉吧!!同为新手,理解 ...

其实不用10接口,4个就可以了。每个接口有两种状态,4个接口就就可以实现16个开关,现在已经做出来4个开关了,10个应该不成问题

22号公园 发表于 2014-8-3 20:01:56

还是Arduino的基础不好,希望以后多学习,多进步!

22号公园 发表于 2014-8-3 21:20:09

无名小子 发表于 2014-8-3 18:25 static/image/common/back.gif
用十个INPUT接口接上十个开关,每一个附上特定的数值,应该可以解决吧!
就当抛砖引玉吧!!同为新手,理解 ...

用4个接口控制10个开关,的确想的太简单了,毕竟一个开关按一下只能产生一个高或低电平。占用10个接口,也不太好丫

Ansifa 发表于 2014-8-3 21:47:45

你是要纯粹的省单片机引脚吗,如果是的话,直接用74HC165或者CD4021做shiftin即可开关复用。
省钱的话,用ADC开关复用也行

输入必须按照题目要求,找一下十进制转bcd码的芯片比如CD4532,但是4532只有八个输入并不能满足你十个按钮要求。

22号公园 发表于 2014-8-3 22:05:40

Ansifa 发表于 2014-8-3 21:47 static/image/common/back.gif
你是要纯粹的省单片机引脚吗,如果是的话,直接用74HC165或者CD4021做shiftin即可开关复用。
省钱的话,用 ...

现在又加了一个清除一位的按钮,如果输入错的话支持删除错误位。现在又多了1个按钮,占了11个引脚
页: [1] 2
查看完整版本: 我想利用10个开关,让他们分别代表0-9共10个数值,按下开关的时候保存其对应的值