工学部生の生プレス

*就職して元工学部生になりました

専門内容 日常 紹介

Arduinoを使ってぶつからない車を自作~3代目~

投稿日:2019年5月17日 更新日:

こんばんは。

今回は「Arduinoを使ってぶつからない車を自作~3代目~」ということで初代・2代目と惜しくもぶつかってしまった車を改良した記事です。

3代目は2代目からハード面の変更はなく、プログラムのみを変更したものとなっています。

・初代

・2代目

この車を作るために必要な知識としては“DCモーターの制御方法”“サーボモーターの制御方法”“超音波センサの使い方”です。

今回で使用する技術についての過去の記事↓
アナログローパス・フィルタとデジタルローパス・フィルタの比較

超音波距離センサを使った効率のいい小型扇風機

さて、前回の記事で「次こそは完成させます💪」とフラグを立ててましたが、完成したのでしょうか?

お楽しみに♪

それでは~

シュワッチ!


 

①作るもの:

超音波センサとサーボモーターを使って前方方向にぶつからない車

②用意するもの:

Arduino Uno

ブレッドボード

超音波距離センサーHC-SR04

モータードライバーTA7291P

絶縁ラジアルリード型積層セラミックコンデンサー0.1μF 50V 2.54mm(10個入)

抵抗300[Ω]

ジャンパ線

電池ケース 単3×2 スイッチ・カバー付 KIT-UM32SK

パナソニック 単3形アルカリ乾電池 12本パック LR6XJ/12SW

マイクロサーボ9g SG-90

・モバイルバッテリー

6角オネジ・メネジ MB3-30

【ツインモーターギヤーボックス】タミヤ 楽しい工作シリーズ tk097

【ユニバーサルプレートセット】 タミヤ 楽しい工作シリーズ TK098

タミヤ 楽しい工作シリーズ No.101 トラックタイヤ 36mm(70101)

③回路:

ポイント:
1)超音波センサとArduinoの途中にはアナログローパス・フィルタを作っています
*アナログローパス・フィルタについての昔の記事↓
アナログローパス・フィルタとデジタルローパス・フィルタの比較

2)TA7291Pのデータシートを見ると、左から4番目の端子が制御電源端子となっています。この端子に対応するArduinoのピンはpwm(~が数字の後についているピン)にして下さい

④プログラム:

ポイント:
1)Arduinoの開発環境では関数のプロトタイプ宣言はいりませんが、他の言語では必要なので一応、記載しています

2)関数の記述順番は“超音波で障害物との距離測定”・“前進”・“後退”・“斜め左に進行方向を変えながら前進”

3)プログラムでデジタルローパス・フィルタを作ることも考えましたが、distanceの値を更新するのがif文の関係で毎度というわけではないので今回はアナログローパス・フィルタを採用しました

4)前回からの変更点は“min_distance”という最小距離を中心にプログラムを設計したので、サーボモーターの回転角120度以内でどこか1つでもif文の条件式に合致しない距離が検出されるとその中のプログラムが実行できないようになりました。これにより、前回の課題であった下図のような事象が防げると考えました。

 

⑤完成画像(2代目と変更点はありません):

・正面図:

ポイント:
1)ジャンパ線をテープで固めているのは超音波センサにかぶって誤った距離を算出することがあったからです

2)サーボモーターと超音波センサの支持部はそれぞれ3Dプリンタで制作したものです。
*僕が使っている3Dプリンタ:ALUNAR 【工場直販】 3Dプリンター Reprap Prusa i3 DIY未組立キット 組立ビデオSDカードが付属

・右側面図:

ポイント:
1)6角オネジ・メネジ MB3-30を使うことで、ブレッドボードに接続されたジャンパ線の高さを確保しています。(少し斜めっていますが・・・)

2)サーボモーターの線も走行の邪魔になったので、ガムテープでまとめます

⑥完成動画:

やりました!成功です🎉🎉

「でも、少し離れすぎかな~」って思ったでしょ~

そう思ったあなたのために一応、状況の解説図を↓


 

いかがでしたでしょうか?

全3回に及んだ“Arduinoを使ってぶつからない車を自作編”でしたが、なんとか完成させることが出来ました♪

最後までお付き合い頂き、本当にありがとうございました🙇

この記事が少しでも皆様のお役に立てばうれしいです♪

最後にクリスタの練習状況です↓

▲▲▲アリガ島▲▲▲

次回予告
「未定」







-専門内容, 日常, 紹介

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

「圧縮」についてガチで考える

こんにちは~ 普段、何かを圧縮する機会って結構ありますよね! 空き缶をつぶしたり、ゴミ箱🚮の中にごみを押し込んだり・・・。 後はベンチに座っていて体重でベンチが壊れてしまわないか心配に …

3DCADが上手く動かない時の対処法5選

こんにちは~ 今回は“3DCADが上手く動かない時の対処法5選”です。 過去の記事でWindowsノート ProBook 650 G4 2VX22AV-AAAEというパソコンを買ったことを記事にしたの …

“7つの大罪”の魅力

こんばんは~ 久しぶりの投稿になってしまいました。 ”今年最後の投稿”っていうのをやろうと思っていたのですが・・・(笑) まっ、気を取り直して~ 明けましておめでとうございます! 今年もよろしくお願い …

軸を設計してみよう!

こんにちは~ 突然ですが、普段生活している中で”軸”ってよく見るじゃないですか~。 鉄棒、掛け軸、信号機の信号を支えている軸、車のシャフト、モーターの軸とか・・・。 モーターに至っては電気系と機械系を …

Visual Studio 2017 Communityを使ったC#入門~第1回:クラスを使って簡単なフォームを作る~

こんばんは。 報告が遅くなりましたが、今年から4年になり研究室に配属されました♪毎日が勉強の日々です!3年生までは「電子工作もCADも割と出来る方かな~」なんて自信を持っていたのですが、教授と比べたら …