工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

必要な部品と材料

Arduino Micro(ATmega32U4ベースならLeonardo等も可)×1
ピエゾ素子(圧電ディスク)×1
抵抗 1MΩ×1
ジャンパーワイヤー×1

必要な工具と機械

使用するアプリとオンラインサービス

プロジェクト概要

仕事中やゲームに飽きたとき、キーボードを叩きたくなる衝動に駆られたことはありませんか?

このパンチング可能なカスタマイズキーで思いきり殴ってストレス発散しましょう!

本プロジェクトでは、ピエゾ素子、ATmega32U4ベースボード、高抵抗値抵抗(1MΩ)、スポンジを用いて、叩くとキーボード入力となるカスタムキーを製作します。ユーザーは 원하는キーを叩く(または蹴る)だけで入力できます。

必要なハードウェア

Arduino Pro Micro

ATmega32U4マイクロコントローラーを搭載し、内蔵USBによりマウスやキーボードとして認識されます。ATmega32U4チップ搭載のマイコンなら何でも使用可能です。

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

ピエゾ電気ディスク

ピエゾ素子は振動、音、機械的歪みによって物理的に変形すると電圧を生成する電子デバイスです。音楽付きグリーティングカードのスピーカーに使われている圧電ディスクを流用できます。ドライバーやナイフでスピーカーケースをこじ開け、金属プレートを外し、基板を持ち上げるとその下に圧電ディスクがあります。

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

1MΩ抵抗

ピエゾ素子が発生させる電圧と電流を制限し、アナログ入力を保護するための高抵抗値抵抗です。

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

スポンジ

力が加わると変形し、力が解放されると元の形状に戻る特性を利用します。ピエゾ素子をスポンジの間に挟み、誰かが叩くと発生電圧がArduino Microのアナログピンへ送られます。

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

回路図

動作原理

ピエゾ素子には極性があり、電圧は特定の方向に流れます。黒い線(低電位側)をGND、赤い線(高電位側)をアナログピン0に接続します。さらに、ピエゾ素子と並列に1MΩ抵抗を接続して電圧・電流を制限し、アナログ入力を保護します。

ピエゾ(ノックセンサーとして機能)の出力が一定の閾値を超えると、プログラムに基づいてキーボード操作を実行します。

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

スポンジを覆うエンクロージャの製作

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

布を用意し、針と糸でスポンジを包む袋を縫製します。私は母に頼んで作ってもらいました。

ピエゾ素子をスポンジに内蔵

Arduinoで作るパンチングキーボードボタン:ストレス解消カスタムキー

コード

#include <Keyboard.h>
const int knockSensor = A0; // ピエゾはアナログピン0に接続
const int threshold = 100;  // 閾値
int sensorReading = 0;      // センサー読み取り値

void setup() {
  Keyboard.begin();
}

void loop() {
  sensorReading = analogRead(knockSensor);
  if (sensorReading >= threshold) {
    // キー機能をカスタマイズする場合は以下のASCII値を変更
    // 参考: https://www.arduino.cc/en/Reference/ASCIIchart
    Keyboard.write(32); // ASCII 32 = スペースバー
    delay(150);
    Keyboard.releaseAll();
  }
}

異なるキーボードアクションを実行したい場合はコードを修正してください。

変更が必要なのは以下の行のみです:

Keyboard.write("ASCII値");

活用アイデア

なぜこれが面白いのか? 可能性は無限大です:

ご質問があればコメントでお気軽にどうぞ。できる限りお答えします。

楽しい制作を!

コード

customizable_punchable_keyboard_button.ino Arduino
#include <Keyboard.h>
const int knockSensor = A0;
const int threshold = 100;
int sensorReading = 0;
void setup() {
  Keyboard.begin();
}
void loop() {
  sensorReading = analogRead(knockSensor);
  if (sensorReading >= threshold) {
    Keyboard.write(32);
    delay(150);
    Keyboard.releaseAll();
  }
}

回路図

circuit_diagram_dCHo19d2OK.fzz

製造プロセス

  1. OpenSensorsで空気質を測定: ArduinoとPythonによるガイド
  2. Raspberry Pi と Arduino を連携させてロボットを自作:ステップバイステップガイド
  3. Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
  4. ArduinoでユニバーサルIRリモコンを自作:ステップバイステップガイド
  5. デジタル身長計の自作:Arduino Nanoとレーザー距離センサーで成長記録
  6. Arduino NanoでNeoPixel LEDマトリクスを自作:ステップバイステップガイド
  7. Arduino、高圧ブースト、20x4 LCDで自作ガイガー・ミュラー計数管を作る
  8. サーミスタを使った温度測定: Arduinoステップバイステップガイド
  9. Arduino 64キー プロトタイピング キーボードマトリックス: シフトレジスタで自作キーボード
  10. Arduinoで楽器演奏:音階生成のステップバイステップガイド
  11. ArduinoとProcessingで作るリアルタイムデジタルコンパス