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

Giftduino: ホビイストと教育者向け究極のArduinoギフトボックス

必要な部品と材料

部品数量備考
Arduino UNO1メインボード
ホール効果センサー (A1302)1磁界検出用
小型ピエゾスピーカー (12mm, 2.048kHz)1効果音再生用
グラフィックLCD (84×48, Nokia 5110タイプ)1PCD8544コントローラー
ブレッドボード/ユニバーサル基板1
ジャンパーワイヤー多数
磁石 (ネオジム磁石推奨)1蓋に取り付け
9V電池/アダプター1電源用
3Dプリント用フィラメント / MDF板など適量ケース製作用

使用するソフトウェアとサービス

プロジェクト概要

蓋を開けると自動的にメッセージとメロディー、ピクセルアートが表示される、サプライズギフトボックス「Giftduino」を作ります。ホール効果センサーが蓋の開閉を検知し、Nokia 5110 LCDとピエゾスピーカーで演出します。circuito.ioを使えば配線図と基本コードが自動生成されるため、初心者でも取り組みやすいプロジェクトです。

Giftduino: ホビイストと教育者向け究極のArduinoギフトボックス

ステップ1: 部品の収集

circuito.ioのマジックリンク を開き、「Generate」をクリックすると、必要な部品リスト(抵抗やコンデンサなどの周辺部品も含む)と配線ガイドが自動生成されます。手持ちの部品に合わせて構成を変更することも可能です。

アレンジ例

ステップ2: 配線

Giftduino: ホビイストと教育者向け究極のArduinoギフトボックス

circuito.ioが生成したステップバイステップの配線ガイドに従って組み立てます。一見複雑に見えますが、一つずつ進めれば簡単です。

ステップ3: プログラム

  1. circuito.ioの返答からコードをダウンロードし、解凍
  2. Arduino IDEで開き、Arduinoにアップロード (この時点で配線確認用のサンプルコードが動作)
  3. 本チュートリアル末尾のカスタムコードを firmware.ino タブにコピペ
  4. 再度アップロード

コード内のコメントを参照すれば、メロディーやピクセルアートの変更も容易です。

メインコード (抜粋)

#include "Arduino.h"
#include "HallA1302.h"
#include "AnalogReader.h"
#include "Adafruit_GFX.h"
#include "Adafruit_PCD8544.h"
#include "TimerFreeTone.h"
#include "Speaker.h"

#define HALLA_PIN_VOUT A3
#define NOKIALCD_PIN_DC 4
#define NOKIALCD_PIN_CS 2
#define NOKIALCD_PIN_RST 3
#define PIEZOSPEAKER_PIN_SIG 5

#define LCD_CONTRAST 70
#define LCD_SIZE_COL 84
#define LCD_SIZE_ROW 48

// 「ホラーメロディー」の定義
unsigned int piezoSpeakerHoorayLength = 6;
unsigned int piezoSpeakerHoorayMelody[] = {NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_C5};
unsigned int piezoSpeakerHoorayNoteDurations[] = {8, 8, 8, 4, 8, 4};

HallA1302 hallA(HALLA_PIN_VOUT);
Adafruit_PCD8544 nokiaLcd(NOKIALCD_PIN_DC, NOKIALCD_PIN_CS, NOKIALCD_PIN_RST);
Speaker piezoSpeaker(PIEZOSPEAKER_PIN_SIG);

void setup() {
  Serial.begin(9600);
  nokiaLcd.begin(LCD_SIZE_COL, LCD_SIZE_ROW);
  nokiaLcd.setContrast(LCD_CONTRAST);
}

void loop() {
  int hallAVal = hallA.read();
  Serial.println(hallAVal);

  // 磁石が離れると値が512から変化 (閾値50で判定)
  if (abs(hallAVal - 512) < 50) {
    delay(500);
    nokiaLcd.clearDisplay();
    nokiaLcd.setRotation(2);
    nokiaLcd.setTextColor(BLACK);
    nokiaLcd.setTextSize(2);
    nokiaLcd.print(" Surprise !");
    nokiaLcd.setTextSize(1);
    // ピクセルアート: 笑顔
    nokiaLcd.drawCircle(37, 15, 3, BLACK);  // 左目
    nokiaLcd.drawCircle(41, 15, 3, BLACK);  // 右目
    nokiaLcd.drawRect(25, 22, 30, 20, BLACK);  // 口
    nokiaLcd.display();

    piezoSpeaker.playMelody(piezoSpeakerHoorayLength, piezoSpeakerHoorayMelody, piezoSpeakerHoorayNoteDurations);
    delay(10000);  // 10秒待機
  }
}

ステップ4: ボックスの製作

Giftduino: ホビイストと教育者向け究極のArduinoギフトボックス

本プロジェクトでは3DプリントパーツとPVC段ボールを組み合わせましたが、木材、アクリル、厚紙など自由な素材で製作可能です。STLファイルはGitHubからダウンロードできます。

ステップ5: 組み立て

  1. Arduinoとシールドをボックス内部に固定
  2. 磁石を蓋の内側に接着 (ホールセンサーと対向する位置)
  3. 蓋と本体を柔軟なワイヤーで連結 (開閉時の負荷軽減)
Giftduino: ホビイストと教育者向け究極のArduinoギフトボックス
Giftduino: ホビイストと教育者向け究極のArduinoギフトボックス

完成!

蓋を開けると「Surprise!」の文字と笑顔アイコンが表示され、ファンファーレが鳴ります。誕生日プレゼントやプロポーズ、教育教材としても最適です。作成した方は「I made this」ボタンやSNSでシェアしてください!

製造プロセス

  1. Satellite CCRMAキットでセンサー駆動オーディオエフェクトを構築
  2. Arduino Nanoで水滴を高速撮影 – DIYハイスピードフォトグラフィ
  3. コンパクト気象ステーション:Arduino Nano & ESP8266 + BMP280 + OLED/Nokia LCD
  4. Arduinoで地球の質量を測定:ステップバイステップDIYガイド
  5. MAX30100脈波センサーをArduinoで活用:ステップバイステップガイド
  6. NextionディスプレイでFridgeyeアプリを構築:ステップバイステップガイド
  7. YL-39/YL-69土壌湿度センサーをArduino UNOに接続するステップバイステップガイド
  8. 最適なヒートポンプ給湯器:省エネ給湯ソリューション
  9. ボックスウェイCNC旋盤が精度と性能で最適な選択である理由
  10. ホール効果センサー完全ガイド:原理・用途・設計のすべて
  11. スキン効果の理解:AC導体とRF応用への影響