ペットボトルのキャップを飛ばす機械を製作しました。
- 回路図
キャラクタ液晶はSC1602BSLB(https://akizukidenshi.com/catalog/g/gP-00038/)を使いました。
2.製作
<基板>
基板を作成します。小型化のために、基板の真上に液晶を設置しましたが、かえってノイズでキャラクタ液晶の表示が乱れてしまいました。モーター駆動用のMOSFETだけ別の基板に分けるとおさまりました。
以下の写真は基板を分ける前のものです。
<本体>
3mm厚のシナ合板を使いました。
液晶に傷がつかないようにマスキングテープを貼っています。
3.プログラム
マイコンはブートローダ書き込み済みのATmega328P(https://akizukidenshi.com/catalog/g/gI-12774/)を使いました。
Arduino Unoのマイコンボード上で書き込んだATmega328Pを、発射機の基板に移し替えて使います。
以下がプログラムです。製作したときはプログラムングの知識が浅かったため、変なコードになっていますがこれでちゃんと動きました。ただ、動作保証はしません。
#include <LiquidCrystal.h>
#define buzzer 3 //ブザーはD3
#define freq 11 //ソレノイドモーターはD11
#define rm 10 //右モーターはD10
#define lm 9 //左モーターはD9
#define sw1 15
#define vr1 A3
#define vr2 A5
void setup() {
pinMode(buzzer, OUTPUT); //ブザー
pinMode(freq, OUTPUT); //ソレノイドモーター
pinMode(rm, OUTPUT); //右モーター
pinMode(lm, OUTPUT); //左モーター
pinMode(sw1, INPUT_PULLUP); //SW1(発射スイッチ)
pinMode(vr1, INPUT); //vr1(速度調整用)
pinMode(vr2, INPUT); //vr2
}
LiquidCrystal lcd = LiquidCrystal(6, 5, 12, 8, 7, 4, 2);
int right,left; //PWM出力のつよさ
void getPower(){
left = right = analogRead(vr1) / 4; //モーターの出力
}
void loop() {
while ((digitalRead(sw1)) == HIGH) { //スイッチが押されていない間
lcd.begin(16, 2);
lcd.print("Ready");
lcd.setCursor(0, 1);
lcd.print("");
digitalWrite(freq, LOW);
analogWrite(rm, 0);
analogWrite(lm, 0);
delay(50);
}
tone(buzzer, 1000, 500); //ブザーを1kHzで500ms間鳴らす
lcd.begin(16, 2);
lcd.print("Fire!");
lcd.setCursor(0, 1);
lcd.print(right);
delay(500);
noTone(buzzer);
getPower();
digitalWrite(freq, LOW);
analogWrite(rm, right);
analogWrite(lm, left);
delay(200);
digitalWrite(freq, HIGH);
analogWrite(rm, right);
analogWrite(lm, left);
delay(60);
digitalWrite(freq, LOW);
analogWrite(rm, right);
analogWrite(lm, left);
delay(300);
}
4.発射機構について
今回一番重要な発射機構は二本のタイヤでキャップを挟んで飛ばす方式にしました。モーターはRS-385PH、タイヤはタミヤのオフロードタイヤを使いました。
動作している動画です。https://twitter.com/toragoro_8823/status/1291568861129527296
3~4メートル飛んでますね。
この方式の短所は、キャップの大きさが適当でないとあまり飛ばない、つまり全てのキャップの種類には対応していないことです。今回は「爽健美茶」のキャップを想定して製作しました。
5.装填機構について
装填機構もシンプルです。キャップを縦に積み、ソレノイドモーターで一番下のキャップ押し出します。
動作している動画です。https://twitter.com/toragoro_8823/status/1302931796162539521
実はこの方式、実際に動かしてみると一度に二つ発射されたり、キャップがなかなかの確率で詰まったりと問題点だらけですが3Dプリンタを導入すればこれらは改善できるかと思います。
6.課題
-
モーターがうるさい、振動が大きすぎる、飛距離が短い
振動の原因はモーターをタイヤの軸径が異なっていたので接着剤で無理矢理つけたからです。(←怒られるやつや)
以前、部活のドローン製作で使ったブラシレスモーターは回転数が多く、音も比較的静かだったので今度はこのモーターで試してみたいです。飛距離の目標は10m。 -
装填機構が上手くいかない
先程書いた通りです。 -
ケースがお粗末
発射するときに本体が軽すぎて、モーターの振動で筐体自体が揺れてしまいます。おもりを入れて筐体を意図的に重くすると改善できると思います。
7.参考
・キャラクタ液晶の使い方
https://picworld.jp/2016/04/07/arduino-uno-に昔秋月電子で買った-16x2-行の-lcd-を接続してつい/
投稿者の人気記事
-
tora
さんが
2021/02/20
に
編集
をしました。
(メッセージ: 初版)
-
tora
さんが
2021/02/20
に
編集
をしました。
ログインしてコメントを投稿する