MIDI 스위치를 리팩토링 해 보았습니다.
버튼을 누르면 결정된 컨트롤 변경을 보냅니다. 그뿐입니다.
몇 가지 만들지만, 이것은 가장 오래된 유형. Arduino duemilanove가 말합니다.
특히 동작에 불만은 없습니다만, 새로운 같은 글쓰기를 시도해 보았습니다.
이런 프로그램으로 하고 싶
버튼이 4개 있으므로, 이것을 뭔가 객체의 배열로 해,
void loop() {
// forループ。BUTTONSの要素 b について:
for (auto&& b : BUTTONS ){
// データによって何かする <- デバウンスする <- bのピンを読む
doByData( b , debounce( b , digitalRead( b.PIN )
) );
}
delay( 1 );
}
또는:
void loop() {
// forループ。BUTTONSの要素 b について:
for (auto&& b : BUTTONS ){
// データが上がったときに何かする <- データが下がったときに何かする <- デバウンスする <- bのピンを読む
doWhenRaised( b , doWhenDropped( b , b.debounce( digitalRead( b.PIN )
) ) );
}
delay( 1 );
}
같은 느낌을 갖고 싶다 ...
옵션...
함수를 람다 식으로 만들기
장점 : 쓰기 쉬운.
단점 : 개체의 구성원이 될 수 없습니다.
스케치의 전체는 이렇게 되었습니다.
클로저를 장미해 이력의 변수만 오브젝트에 갖게 하고 있기 때문에 조금 이상한 느낌입니다.
함수를 함수 객체로 만들기
장점 : 멤버가 될 수 있습니다.
단점 : 쓰기가 번거롭다.
스케치의 전체는 이렇게 되었습니다.
둘 다 제대로 움직였습니다.
최종 조정
이것에 사용하고 있는 스위치는 값싼 물건으로 상당히 채터링이 심하기 때문에, delay와 debounce의 RATE로 조정.
채터링은 억제하지만, 동작에 따라 오는 빠듯이를 노립니다.
delay( 2 ), RATE = 12로 좋은 느낌이 들었습니다.
Reference
이 문제에 관하여(MIDI 스위치를 리팩토링 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ttatsf/items/758fcb2cb78e0f3082cb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
void loop() {
// forループ。BUTTONSの要素 b について:
for (auto&& b : BUTTONS ){
// データによって何かする <- デバウンスする <- bのピンを読む
doByData( b , debounce( b , digitalRead( b.PIN )
) );
}
delay( 1 );
}
void loop() {
// forループ。BUTTONSの要素 b について:
for (auto&& b : BUTTONS ){
// データが上がったときに何かする <- データが下がったときに何かする <- デバウンスする <- bのピンを読む
doWhenRaised( b , doWhenDropped( b , b.debounce( digitalRead( b.PIN )
) ) );
}
delay( 1 );
}
함수를 람다 식으로 만들기
장점 : 쓰기 쉬운.
단점 : 개체의 구성원이 될 수 없습니다.
스케치의 전체는 이렇게 되었습니다.
클로저를 장미해 이력의 변수만 오브젝트에 갖게 하고 있기 때문에 조금 이상한 느낌입니다.
함수를 함수 객체로 만들기
장점 : 멤버가 될 수 있습니다.
단점 : 쓰기가 번거롭다.
스케치의 전체는 이렇게 되었습니다.
둘 다 제대로 움직였습니다.
최종 조정
이것에 사용하고 있는 스위치는 값싼 물건으로 상당히 채터링이 심하기 때문에, delay와 debounce의 RATE로 조정.
채터링은 억제하지만, 동작에 따라 오는 빠듯이를 노립니다.
delay( 2 ), RATE = 12로 좋은 느낌이 들었습니다.
Reference
이 문제에 관하여(MIDI 스위치를 리팩토링 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ttatsf/items/758fcb2cb78e0f3082cb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(MIDI 스위치를 리팩토링 해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ttatsf/items/758fcb2cb78e0f3082cb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)