转身已是黄昏 发表于 2015-8-19 09:29:52

Arduino程序能够并发执行吗?

如题,最近做了个机械臂,可是程序只能一步一步执行,有没有办法能使程序并发执行呢?(如,我按一个键电机开始转一圈,还没等电机转完,我又按另一个键,另一个电机也开始转,两个电机就都转起来了。)

我想知道Arduino能做到吗?
先谢谢各位大侠指点!谢谢啦!

转身已是黄昏 发表于 2015-8-19 09:58:21

不好意思,上面的表述有点问题,我现在可以做到在键盘上按一个键不松,电机就一直转,松手电机就停了,我想做的是:怎么实现按住一个键不松,再按另一个键不松,另一个电机也开始动了。

转身已是黄昏 发表于 2015-8-19 09:59:47

我是通过一个WiFi模块向arduino传数据的,上面这个过程有可能能实现吗?

Super169 发表于 2015-8-19 11:50:38

转身已是黄昏 发表于 2015-8-19 09:58 static/image/common/back.gif
不好意思,上面的表述有点问题,我现在可以做到在键盘上按一个键不松,电机就一直转,松手电机就停了,我想 ...

不會有分別吧, 流程也行簡單.

在 loop() 之內.
如果 (button1 按下) 電機1 轉勳, 否則停止電機1
如果 (button2 按下) 電機2 轉勳, 否則停止電機2
:
:

多少個也沒問題.

用 WiFi 傳送, 也沒大分別.只係針對不同的 condition 吧.

如果 (condition 1 成立) 電機1 轉勳, 否則停止電機1
如果 (condition 2 成立)電機2 轉勳, 否則停止電機2
:
:

转身已是黄昏 发表于 2015-8-19 19:35:27

Super169 发表于 2015-8-19 11:50 static/image/common/back.gif
不會有分別吧, 流程也行簡單.

在 loop() 之內.


我是想让他们能够同时执行啊,不是一个一个的执行

转身已是黄昏 发表于 2015-8-19 19:39:16

Super169 发表于 2015-8-19 11:50 static/image/common/back.gif
不會有分別吧, 流程也行簡單.

在 loop() 之內.


哦,对不起,我明白你的意思了,可我要在电脑键盘上实现啊,这个可以吗?

Super169 发表于 2015-8-19 23:16:24

转身已是黄昏 发表于 2015-8-19 19:39 static/image/common/back.gif
哦,对不起,我明白你的意思了,可我要在电脑键盘上实现啊,这个可以吗?

看你用什麼去做, 一般都可以偵測到 keydown / keyup event 的.
當一個 key 的 keydown 觸發時, 向 arduino 發出指令.例如 按下 A 就送出 A, keyup 就發出 a.
而 arduino 在 loop() 的開頭加入接收電腦發來訊號的程序.
比如, 收到 A 就設定 condition 1 為 true, 而收到 a 就設定 condition 1 為 false.
之後就是執行之前的流程, 去檢測每個 condition, 至決定把相關電機轉動或是停止.

當然, 用什麼 訊號去溝通也沒分別, 只要把訊號由電腦傳到 arduino 上, 就跟你用 arudino 接上按鈕沒分別.
页: [1]
查看完整版本: Arduino程序能够并发执行吗?