11/1(日) ウニクリッカー販売➝うみたかマルシェ@品川 11/3(火祝) 魔改造プラレール展示➝超エレキ万博@秋葉原
Raspberry Pi / Arduino

ボタンを押すとサーボが1回だけ動く仕組み

AI要約

ボタンを押すたびに1回だけサーボを動かす処理を実装します。SG-90サーボとモーメンタリ型タクトスイッチをArduinoに接続し、ボタンを押した瞬間だけサーボを1回動かします。現在と直前の押下状態を比較することがポイントです。

やること

スイッチを押したら1回だけサーボが動く装置を作ります。わざわざ記事にするか迷いましたが、機構として大事なので一応残しておきます。

コード

サーボは「SG-90」を使用します。基本的な動かし方は過去の記事を参考に。

今回のタクトスイッチはモーメンタリタイプです。モーメンタリ(意味:瞬間)はバネ機構になっていて、押している間だけONになる。オルタネート(意味:自己保持)はONとOFFのどちらも安定点になっていて、どちらの切り替えでも力を加えるタイプ。

D2→タクトスイッチ→GNDと配線。D3をサーボの信号線に割り当てました。

「押した瞬間に1回だけ何かする」は、現在の押下状態と1フレーム前の押下状態を比較して、「(現在=True) and (過去=False)」のときに発動させればOKです。

if (pushed && !lastPushed)

以下、全コード

#include <Servo.h>

Servo servo;
bool pushed = false;
bool lastPushed = false;

void setup() {
  // タクトスイッチをプルアップ
  pinMode(2, INPUT_PULLUP);

  // サーボの初期化
  servo.attach(3, 500, 2500);
  servo.write(0);
}

void loop() {
  // 現在の押下状態
  pushed = (digitalRead(2) == LOW);

  // False → True に変わった瞬間だけ動作
  if (pushed && !lastPushed) {
    servo.write(30);
    delay(500);
    servo.write(0);
  }
  
  // 状態を保管
  lastPushed = pushed;
}

押した瞬間に1回だけ動いていますね。

おわりに

実はこれで自作キーボード関連のツールを作りたいんですよね~(2回目)

引っぱってすみませんでした。今度こそ、次回をお楽しみに ( ˘ω˘ ) ネテマテ

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

タイトルとURLをコピーしました