チーム1846

課題名

ラジコンカー

研究者名

藤田 智哉
櫨 翔佑
中山 和也
野木 拓夢

概要

キーボード入力の内容に合わせて動作を行う四輪車を作成した。
コマンドの種類は二種類:①「a」で前進
           ②「s」で停止
           ③「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=='a')      {            //Start
              PRT1DR=0b00000010;
              }
           else if(*strPtr=='s')    {              //Stop
              PRT1DR=0b00000011;
              }
           else if(*strPtr=='d')    {              //Stop
              PRT1DR=0b00000001;
              }
        }
        UART_CmdReset();                         // Reset command buffer    
     }   
 }  
}

配線

IMG_1758.JPG
IMG_1765.JPG

回路図

無題111.png
IMG_1760.JPG

考察

PSoCの電力でダブルギアボックスを動かすことはできないため、モータードライバを用いることで外部から電力を供給し目的を実現させた。
モータードライバは、対応した端子の列にモーターや電池、動作を制御するための出力をつなぐ必要がある。
動作を制御する出力は、キーボードで入力された内容に応じて、port10とport11の値を変更することで、対応させる。
その内容が、前進させるときにはport10に0をport11には1を、停止させるときにはport10とport11に1を、後退させるときにはport10に1を
port11には0を与えることで、その値がモータードライバの動作を制御する部位に入力され希望の動作を行わせることを可能にした。
本来ラジコンは前後に進むだけでなく左右にも曲がれる必要があるが、モータードライバの仕様として3つの処理しか行う事が出来ないので
今回のような1つのモータードライバでは前進、後退、停止の3つの処理が限界であると考えた。
二つのモータードライバで左右のモーターを制御すれば、片方のモーターのみを動かしたりすることで左折や右折を実現することが可能であると
考えられる。
今回は有線での処理を実現したが、シリアルポートのみならば赤外線通信などの無線通信を用いて取り除くことが可能であると感じた。

参考:チーム1758

  • 最終更新:2018-10-23 16:09:44

このWIKIを編集するにはパスワード入力が必要です

認証パスワード