チーム1857
課題名
ラジコンカー(有線)
研究者名
Wataru Koike
Naoyuki Kise
Hidehiro Tamaki
使用器具
PSoC基盤 1個
ジャンパー線 13本
単三電池 8本
積層乾電池 1本
シリアル通信ケーブル 1本
モータードライバ(TA7291P)2つ
ダブルギアボックス 1つ
タイヤ 2輪
概要
キーボード入力の内容に合わせて動作を行う二輪駆動の車を作成した。
主なコマンドは・・・
「w」:前進
「s」:後退
「a」:左を向く
「d」:右を向く
その他の入力では動作を停止する。
ソースコード
#include <m8c.h>
#include "PSoCAPI.h"
void main(void)
{
// M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts // Insert your main routine code here.char * strPtr; // Parameter pointer char *strPtr; UART_CmdReset(); UART_IntCntl(UART_ENABLE_RX_INT); Counter8_WritePeriod(155); Counter8_WriteCompareValue(77); Counter8_Start(); UART_Start(UART_PARITY_NONE); M8C_EnableGInt ; PRT1DR=0b00000000; UART_CPutString("\r\nWelcome \r\n"); while(1) { if(UART_bCmdCheck()) { if(strPtr = UART_szGetParam()) { UART_CPutString("\r\nCommand =>"); UART_PutString(strPtr); // Print out command UART_CPutString("\r\n"); if(*strPtr=='w') { //Start PRT1DR=0b00001010; } else if(*strPtr=='a') { //left PRT1DR=0b00000010; } else if(*strPtr=='s') { //back PRT1DR=0b00000101; } else if(*strPtr=='d') { //right PRT1DR=0b00001000; } else { PRT1DR=0b00000000; //stop } } UART_CmdReset(); // Reset command buffer } }
}
回路図
配線
考察
左右の車輪が別々に駆動する車を作成した。
参考にしたチームではタイヤを制御する信号は2つで前進・後退のみが可能だったが、信号を倍に増やしそれぞれのタイヤに割り当てることでタイヤを別々に制御して方向転換を可能にした。左はPort10とPort11、右はPort12とPort13からの出力をモータドライバに入力し、それぞれのタイヤの動作を制御させた。また、それぞれタイヤの動力に乾電池4本を割り当てることで、より機動力が高まった。
今回は移動方向の変更という部分を実現したが、まだまだ通信が有線である、車のように走りながら曲がれない等ラジコンとしては物足りない点が多くある。実現の方法としては赤外線での通信、モータドライバによるモータの速度制御が挙げられる。
参考:チーム1846
- 最終更新:2018-11-27 14:54:02