STM32資料 基礎編 8
投下装置を自動化してみよう
前回作った投下装置は、頑張って飛ばしながら投下のスイッチを入れなくてはならなかった
実際の大会では、投下する箱の中に赤外線投光器が入っているので、赤外線を検知することで投下の自動化ができる
今回やること
今回は、これから示す機能を持つコードと回路を作ってみよう
ヒントも載せているので、困ったら前の資料やヒントを見て作ってみよう
投下装置
- 一定以上の赤外線を検知すると自動で投下装置が作動する
- 5chのスイッチで自動投下のオンオフを切り替えることができる
- いつでも6chの手動投下はできる状態にする
ヒント
わからないところがあったら、その項目を開いてヒントを確認してみてね
ピン設定
細かい機能はプログラムで実装できるので、赤外線を検知の部分を追加しよう
ピンは使ったことがあるものを選んでいるだけなので、違う番号でも大丈夫!
- ADCのためのピン・・・ADC IN0
回路
今回新しく追加するAD変換の回路を追加しよう(資料5を見てね)
プログラム
今回は、6チャンネルのスイッチが押されているときか
5チャンネルのスイッチが押されている時に、赤外線を検知した時にサーボを動かせばよい
if文は "||" でOR、"&&"でANDとすることができるので、条件を頑張って作ってみよう
//6chのスイッチがON or スイッチがONかつADCの値が一定以上である時
if(sbus_data[6] > 1000 || (sbus_data[5] > 1000 && ADC_Value > 2000)){
//サーボを開く
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,500);
}
//OFFのとき
else{
//サーボを閉じる
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 1800);
}
終わりに
これで基礎編は終わりです!
がんばったねおつかれさま!