极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13116|回复: 6

Arduino程序能够并发执行吗?

[复制链接]
发表于 2015-8-19 09:29:52 | 显示全部楼层 |阅读模式
如题,最近做了个机械臂,可是程序只能一步一步执行,有没有办法能使程序并发执行呢?(如,我按一个键电机开始转一圈,还没等电机转完,我又按另一个键,另一个电机也开始转,两个电机就都转起来了。)

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

使用道具 举报

 楼主| 发表于 2015-8-19 09:58:21 | 显示全部楼层
不好意思,上面的表述有点问题,我现在可以做到在键盘上按一个键不松,电机就一直转,松手电机就停了,我想做的是:怎么实现按住一个键不松,再按另一个键不松,另一个电机也开始动了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-19 09:59:47 | 显示全部楼层
我是通过一个WiFi模块向arduino传数据的,上面这个过程有可能能实现吗?
回复 支持 反对

使用道具 举报

发表于 2015-8-19 11:50:38 | 显示全部楼层
转身已是黄昏 发表于 2015-8-19 09:58
不好意思,上面的表述有点问题,我现在可以做到在键盘上按一个键不松,电机就一直转,松手电机就停了,我想 ...

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

在 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
不會有分別吧, 流程也行簡單.

在 loop() 之內.

我是想让他们能够同时执行啊,不是一个一个的执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-19 19:39:16 | 显示全部楼层
Super169 发表于 2015-8-19 11:50
不會有分別吧, 流程也行簡單.

在 loop() 之內.

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

使用道具 举报

发表于 2015-8-19 23:16:24 | 显示全部楼层
转身已是黄昏 发表于 2015-8-19 19:39
哦,对不起,我明白你的意思了,可我要在电脑键盘上实现啊,这个可以吗?

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

當然, 用什麼 訊號去溝通也沒分別, 只要把訊號由電腦傳到 arduino 上, 就跟你用 arudino 接上按鈕沒分別.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 16:38 , Processed in 0.033609 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表