MiMic+ PWMのテスト

MiMicの高レベルAPIにPWMピンの機能を追加しています。

とりあえずサーボモーターをつないでみました。

YouTube Preview Image

動画では、nexsusOneからMiMicに繋がったサーボモーターを回しています。

ソースコード

ソースコードはこんな感じです。いきなりPWMピンを作らずに、ペリフェラル→Pinの順番で作るところが少し違います。タブレットのタッチイベントかマウスカーソルの動きからデューティ比を計算して、シングルエッジのPWM出力に反映しています。

<html>
<head>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="../MiMicCore.js"></script>
<script src="../LPCXpresso1769.All.js"></script>
<script type="text/javascript">
function init()
{
	var pwmpin;

	try{
		var	mcu=new LPCXpresso1769.Mcu("192.168.128.39",true);
		var pwm=mcu.getPeripheral("PWM",{freq:100});
		pwmpin=pwm.getPin(LPCXpresso1769.P2[0]);
	}catch(e){
		//へんなこと起きたらアラート
		//e.alert();
		throw e;
	}

	document.getElementById("sl").onmousemove=function(e)
	{
		myevent(e.pageX);
	}
	document.getElementById("sl").ontouchmove=function(e)
	{
		myevent(e.touches[0].pageX);
	}
	function myevent(pos)
	{
		v=(pos/document.getElementById("body").offsetWidth)/2;//0.0-0.5
		document.getElementById("gage").innerHTML=v;
		//update duty ratio.
		pwmpin.setDuty(v);
	}
}

</script>
</head>
<body id="body" onload="init();">
<h1>MiMic PWM sample</h1>
<hr/>
This sample controls PWM1[0](P2[0]) at 100Hz.
<div id="gage">-</div>
<div id="sl" style="background-color:#00eeee;width:100%;height:100px">Touch or move cursor in this area.</div>
MiMic Copyright (C) 2011 nyatla.jp All Rights Reserved.<br/>
<a href="http://nyatla.jp/mimic/wp">http://nyatla.jp/mimic/wp</a>
</div>
</body>

入手方法

パッケージはまだありません。
ご利用の場合には、リビジョン94をチェックアウトしてください。misc/mimixVM/js.api/demoにサンプルがあります。

ファームフェアを焼きなおす必要はありません。JavascriptAPIのみの更新です。

Comments are closed, but trackbacks and pingbacks are open.