Page 407 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 407
button = wpi.createGPIOButton(27, '27');
$("#test").append(button);
//위에서 만들었던 빈 div에 gpio제어용 버튼 생성
$("#gpio2").click(function() {
clickevent(87); //w
})
$("#gpio3").change(function() {
clickevent(65); //a
})
$("#gpio4").click(function() {
clickevent(83); //s
})
$("#gpio18").click(function() {
clickevent(68); //d
})
$("#gpio27").click(function() {
clickevent(88); //x
})
//위에서 만든 버튼들에게 동작을 넣어주는 소스(테스트용 소스 실제 기구
동작시에는 필요 없음)
$("#test > button").css("display", "none"); //button숨김
wpi.refreshGPIO(true); //ajax통신을 통해서 gpio값을 읽어오는
webiopi내장함수(webiopi 소스에 가서 읽어오는 간경글 바꿀 수 있음 해당 소스에서는 0.1초 간격)
var button_num = $("#test > button").length; //test의 자식으로서 있는 button의
개수를 읽어옴
var rest = 1;
setInterval(function() { //0.1초 간격으로 동작함
for (var i = 0; i < button_num; i++) {
var state = $("#test > button:eq(" + i + ")").hasClass("LOW");
//i번째 버튼의 상태가 LOW일경우
function restbutton() {
rest = 0;
setTimeout(function() {
rest = 1;
}, 200)
} //채터링과 빠른 간격(0.1초) 때문에 버튼이 연속적으로 눌려서
버튼을 누른 후 0.2초 동안은 눌리지 않도록 만듬
- 400 -