作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段代码可以使用 Espruino 在 Javascript 中控制我的步进电机。
function motorStep(mySteps){
var stepperPins = [C6,C7,C8,C9]; // Change these to your pins (digital output)
var stepBits = [0b0110,0b0101,0b1001,0b1010];
if (mySteps<0) //reverse
{
stepBits.reverse();
mySteps = -mySteps;
}
for (i=0; i< mySteps ; i++)
{
digitalWrite(stepperPins, stepBits[i % stepBits.length]);
//then we need to wait before sending next command
wait(1); //some motors might need a longer delay
}
}
function wait(ms){
var d = new Date();
var d2 = null;
do { d2 = new Date(); }
while(d2-d < ms);
}
我制作了一个 setWatch 函数来查找按下按钮然后启动一个函数
setWatch(function () {
action goes here
}, BTN2, {
repeat : true,
edge : "rising"
});
我正在寻找能够在 6 分钟内完成 360 度旋转的步进电机。对于步进器进行完整的 360 度旋转,它是 350 步,因此每步之间等待 1030 毫秒(360000/350?)。因此,当我按下 BTN2 时,步进器会在 6 分钟的时间跨度内旋转 360 度。
我不确定如何将两者结合起来,你们中的任何人都可以帮助我吗?
如果我这样做:
setWatch(function () {
motorStep(350);
}, BTN2, {
repeat : true,
edge : "rising"
});
我如何编码完成整个 Action 所需的时间?
最佳答案
更改您的 motorstep 函数以获取额外参数:
function motorStep(mySteps, delay){
var stepperPins = [C6,C7,C8,C9]; // Change these to your pins (digital output)
var stepBits = [0b0110,0b0101,0b1001,0b1010];
if (mySteps<0) //reverse
{
stepBits.reverse();
mySteps = -mySteps;
}
for (i=0; i< mySteps ; i++)
{
digitalWrite(stepperPins, stepBits[i % stepBits.length]);
//then we need to wait before sending next command
wait(delay); //some motors might need a longer delay
}
}
并按如下方式调用它:
motorStep(350, 360000L/350) ;
我手边没有 espruino,所以我只能希望它能起作用。
关于javascript - 如何让步进电机随时间转动360度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37818995/
如何将“off”指令应用于指定处理程序? 例如 var $btn = $("#theBtn"); var namedHandler = $btn.on("click", function() { //
我正在尝试使用以下标记设计一个 Breadcrumb 组件; Home Home Users 我正在分离 使用 ::pseu
我在使用以下代码时遇到问题。 import urllib2 import csv from bs4 import BeautifulSoup soup = BeautifulSoup(urllib2.
我是一名优秀的程序员,十分优秀!