読者です 読者をやめる 読者になる 読者になる

へっぽこ元ロボコニスト

ロボコンに燃え尽きた自分が日々の出来事を書くだけのブログです

2017/4/13

日記

今日は,チームミーティングの日でした

まず,担当の先生から自分の内容について詳しめの説明がありました

自分の内容は,ROSを使ってするものですが,内容が前やっていたことと同じような気がして残念です

でも,B4の課題が出されて,とても楽しみです

筑波で作られた練習ロボットをROSで動かしてみようといったものです

こういうのはB3の時にしたかった・・・・・・

なんだろう,ロボットをHPに書いてるのに,B3までほとんどロボット触らせてもらえないのがこの大学の残念な所です

 

そのあとは,先生に他大学の見学をしてみたいと報告してきました

そしたら意外と,いいと思うよ,と言ってくれました

しかし,やっぱり内部の人が有利なので勉強頑張らないと入れないよと言われました

なので,担当の先生に連絡したので明日,向こうに連絡したいと思います

 

明日は,歓迎会です

なんか先生方もこのプレゼンに期待してて,酒も入るそうなのでなんか面白いことやらないとダメだろうか

 

あと,この日記見てるの誰だろうか?

時々10ぐらいのアクセスが来て,その人全部見て帰ってるのだろうけど・・・・

もし,自分を知っている人なら,ぜひ感想教えて下さい

2017/4/12

日記

今日は,B4の導入ゼミがありました

30分もかからずに終わりました

でも,明日は担当の先生とのゼミなので楽しみです

 

家に帰って,UbuntuVirtualBoxを入れて,ROSの準備をしました

そもそも今年から開発にROSがマストになったらしく,ちょうどいい時期にここに来たような気がします

 

そのあとは,バイトの作文と外の研究室の人に出すメールを作っていました

 

また,Youtubeで落合さんの動画見ていました

落合陽一さん講演 未踏の魅力を知ろう: 小中高生向け未踏説明会 - YouTube

 

なんかこの人の話を聞いていると,何かしようと勇気が出ます

 

メモ

環境を認識して部屋にいる虫を駆除

また,盲目の人のために頭の中に地図を表示

目の代わりに,カメラを埋め込んで常に生活をアシスト

朝起きるときに,目が少しずつ光ったら必ず起きそう

宇宙での人型ロボットの制御方法

地図をLeapMotionで動かす

 

2017/4/11

日記

バイトの面接に行ってきました

少し話して,登録書書いて,適性検査して,数学のミニテストをしました

 

友達の紹介だったのですんなりいきました

適性検査は,性格診断みたいなアンケートで,ミニテストは数学IAぐらいの問題でしたが,図形問題が解けない・・・・・

前のバイトでも少し思っていたんですが自分は図形が苦手になってしまったようです

たぶん,メカをしていれば図形得意になっていたと思うんですが,思いもよらない所で弊害が出てきました

 

あと,金曜日にバイトの研修を入れたんですが,研究室の飲み会を忘れていました

明日,電話しなきゃ

 

今日,研究室では,研究のための環境を構築していました

回路ソフトに,IDEを何個か入れました

あと,明日ROSの本が手に入ると思うのでその環境も作りたいなぁ

あと,遊び用のハードが要る気がします

ソフトだけだと面白くない

 

2017/4/10

日記 STM

研究室行ってきました

することがない・・・・・

なので,終始喋って終わりました

でも,明日は,教授の授業とアルバイト面接,明後日はB4対象の導入ゼミ,明々後日は,担当の先生とのミーティングと色々あるので楽しみです

 

なので,家に帰ってSTMで遊んでました

というのも,友達がPICをし始めてそれに触発されてやってみました

 

まずは環境作りから

yuqlid.hatenablog.com

この人のを参考にして,インストールしてみました

やべえ,めっちゃ簡単や!

前,ネットを参考に一度作ったんですが,何個もプログラムを入れないといけないので挫折してしまったんですが,これは一個だけで済みました

 

自分のNucleoボードは

akizukidenshi.com

STM32F401を使っています

 

そして,ただ光るだけのサンプルをいじりました

目標は,ボード上にあるUSERボタンを押すと,LED2が光るようになることです

 

まず,起動したら,プロジェクトを作る

[File]→[New]→[C++ Project]

①Ac6 STM32 MCU GCCを選択して

f:id:masanari7430:20170410231945p:plain

 

②ここはそのまま

f:id:masanari7430:20170410232040p:plain

 

③自分の今使っているSTMを選択して(今回はF4-nucleo)

Nextを押す,Finishはまだ!!!

f:id:masanari7430:20170410232150p:plain

 

④Cube HALを選択

最初はHALがないので下の[Download taget firmware]でダウンロード

そしてFinish

f:id:masanari7430:20170410232318p:plain

このHALのおかげでRXの時していたレジスタたたきが無くなるので最高です

 

で,[src]の中のmainを書き換えます

/**
  ******************************************************************************
  * @file main.c
  * @author Ac6
  * @version V1.0
  * @date 01-December-2013
  * @brief Default main function.
  ******************************************************************************
  */
   
   
  #include "stm32f4xx.h"
  #include "stm32f4xx_nucleo.h"
  #include "stm32f4xx_hal_uart.h"
   
   
  int main(void)
  {
  int PB_state = 0;
   
  //HALライブラリを使うための初期化関数
  HAL_Init();
  //ボード上のLED2を有効化
  BSP_LED_Init(LED2);
  //ボード上のボタンを有効化
  BSP_PB_Init(BUTTON_KEY,BUTTON_MODE_GPIO);
   
   
  while(1){
  PB_state = BSP_PB_GetState(BUTTON_KEY);
  if(PB_state == 0){
  BSP_LED_On(LED2);
  }else{
  BSP_LED_Off(LED2);
  }
  }

 

このプログラムは,最初のサンプルを参考にライブラリを開けながら,手探りでやってみたものです

大体,コメントアウトしてるのが説明でわかる気がします

※uartのヘッダはいりません,なぜか入ってしまっています

 

で,その次に汎用的な書き方でやってみたのが以下の通りです

 

 

 

/**
  ******************************************************************************
  * @file main.c
  * @author Ac6
  * @version V1.0
  * @date 01-December-2013
  * @brief Default main function.
  ******************************************************************************
  */
   
   
  #include <stm32f401xe.h>
  #include <stm32f4xx_hal.h>
  #include <stm32f4xx_hal_gpio.h>
  #include <stm32f4xx_hal_rcc.h>
   
   
  int main(void)
  {
  //システムの初期化
  SystemInit();
  //HALライブラリを使うための初期化関数
  HAL_Init();
   
  //クロック供給
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOC_CLK_ENABLE();
   
  //GPIO.Cを初期化
  //構造体生成
  GPIO_InitTypeDef GPIO_Assign_C;
   
  //C_PIN13の設定
  GPIO_Assign_C.Pin = GPIO_PIN_13;
  GPIO_Assign_C.Mode = GPIO_MODE_INPUT;
  GPIO_Assign_C.Pull = GPIO_PULLUP;
  GPIO_Assign_C.Speed = GPIO_SPEED_FREQ_LOW;
   
  //PIN13の設定を書き込み
  HAL_GPIO_Init(GPIOC,&GPIO_Assign_C);
   
  //GPIO.Aを初期化
  //構造体を初期化
  GPIO_InitTypeDef GPIO_Assign_A;
   
  //A_PIN5の設定
  GPIO_Assign_A.Pin = GPIO_PIN_5;
  GPIO_Assign_A.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_Assign_A.Speed = GPIO_SPEED_FREQ_LOW;
   
  //PIN5の設定を書き込み
  HAL_GPIO_Init(GPIOA,&GPIO_Assign_A);
   
  while(1){
  int push_state = 0;
   
  push_state = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);
   
  if(push_state == 0){
  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
  }else{
  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
  }
   
  }
   
   
  }

 

くそ長いです

まず,汎用のIOポートを動かすには設定が要るのですがその設定の前にクロックを流さないといけません

この供給はIOのみならずTIMや,UART,SPIなど何かピンを動かそうとすると必ずいるものです

//クロック供給
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOC_CLK_ENABLE();

 

また,この関数を実行するには

#include <stm32f4xx_hal_rcc.h>

このヘッダが要るので注意です

 

その次に,IOポートの設定をするんですが

#include <stm32f4xx_hal_gpio.h>

の中に変数の構造体が定義されているのでそれを使います

//構造体生成
  GPIO_InitTypeDef GPIO_Assign_C;

 

こんな感じで,好きな名前を付けた構造体を作ります

次は,その構造体にデータを入れるんですが,1とか数字を入れるのではなく,ヘッダで定義されている文字でデータを入れます

//C_PIN13の設定
  GPIO_Assign_C.Pin = GPIO_PIN_13;
  GPIO_Assign_C.Mode = GPIO_MODE_INPUT;
  GPIO_Assign_C.Pull = GPIO_PULLUP;
  GPIO_Assign_C.Speed = GPIO_SPEED_FREQ_LOW;

 

今回は

  • USERスイッチがPC13につながっている
  • 入力ピンにする
  • 内臓プルアップを付ける
  • ピンの反応速度を遅めにする

にしました

もちろん内臓プルダウン,反応速度を倍以上にすることも出来ます

 

最後にこの設定を書き込みます

//PIN13の設定を書き込み
  HAL_GPIO_Init(GPIOC,&GPIO_Assign_C);

 

第一引数はGPIOx(x=A,B,C・・・)

第二引数は設定した構造体のアドレスを入れます

 

もし,PA1-3までをまとめて同じ設定にしたいなら

GPIO_Assign_A.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;

にすればいいです

この理由はGPIO_PINの定義をみてその値を二進数に変換すればわかると思います

うまく被らないようになっているからです

この考えはPS3のコントローラ開発の時に同じことをしていたので少し感動しました

 

また,A1は入力A2は出力ならA1を設定した後,構造体の中を書き換えて,再設定すればいいだけです

 

出力も大体同じで設定出来ます

 

で設定したIOの入出力はまたまたHALのヘッダでとれます

読み取りは

push_state = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);

Readで

第一引数はどの種類か?

第二引数は何番のピンか?

です

 

出力は

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);

Writeで

第一引数はどの種類か?

第二引数は何番のピンか?

第三引数はsetでHigh,resetでLow

です

 

こんな感じで出来ました.

このプログラムは全部gitに上げています

github.com

またこれからも上げていきたいと思います

 

これが出来たのは,少し違う環境でSTMをやっていた後輩がいてその子からプログラムを貰ったのと,

積んでいた参考書

shop.cqpub.co.jp

のおかげです

 

その後輩は今NHKを頑張っているので,本選に行ってくれたらいいなぁ

2017/4/9

日記

TOEICのテストを受けに広島に行ってきました

昨日、カラオケをそこそこに早めに寝て、6時前には起きることができました

7時の電車にのって約3時間かけて広島へ

ついた頃にはお腹が空いたので、開いているお店を探すけれども、どこも11時開店

会場が広島駅から30分かかるので、11時にはここを出ないといけない

その時、運よく10時半開店の広島焼きのお店があったのでそこでそこで広島焼きを食べました

 福ちゃん 広島駅南口店 

https://tabelog.com/hiroshima/A3401/A340102/34018382/

家で食べるお好み焼きはおでんの具をお好み焼きのベースにしているのですが、広島焼きはシンプルにキャベツがとても多い

あと、中にそば、うどん、何もなしを選択できて自分はそば入りを頼みました

家のお好み焼きと比べるとあっさりしているので簡単にたべれました

 

そのあとは、試験会場へ向かったのですが、なんと試験会場は「安田女子大学

初めて女子大に入りました

 

中はめっちゃきれいでした

Googleマップの紹介ページにあるようなカラフルなソファがだいたいの建物にあってビックリしました

自分の大学じゃ絶対にあのオシャレさは出せません

あと、春ということもあって、サークル勧誘の掲示板があったんですが、TRPGのサークルが堂々と紹介されてました

うちにもあんな感じのサークルあるんでしょうか

でも、この大学山の斜面を削って出来ているのか一番奥の体育館に行くまでに階段をめっちゃ登らないといけませんでした

 

さて、女子大で受けたTOEIC、手応えてきには前と一緒かなと言う感じです

リスニングはやっぱりpart2の中盤で集中力が切れてしまいましたし、リーディングは80しか解けません

五月のやつやってもこれ以上上がる気がしません

結構テンション高めで受けてこれですから、これからは院試の勉強を重点的にやっていこうかなと

 

TOEICが終わり、女子大からの帰り、電車が混んでいたので周りに何かスイーツが無いかなと探すと、砂糖を使わないプリンに出会いました

 

laugh-rough.com

糖尿病の人に作られたプリンらしく、気になったので買って、駅の待ち時間に食べてみました

普通にプリンのように甘く、さっぱりした味でした

スイーツ好きの自分は、甘いものが食べられないとストレスになるので、もし糖尿病になったらここに買いに来ようと決意しました

 

f:id:masanari7430:20170409214655j:plain

広島駅に戻ると、赤い集団に出会いました

 

このTOEICの日、広島カープがホームでの試合が昼からあってTOEICが終わって戻る頃に試合が終わっていたので、この集団とがっつりあいました

人の1/3はカープのユニフォームでしたし、マネキンもユニフォーム来てました

 

さらに、カープの入場券を持っていると駅の中の飲食店が安くなったり、カープの利用され具合が凄かったです

 

そんな中、自分にとって広島名物で広島焼きに対をなす、牡蠣を食べに行きました

 

牡蠣定食と、焼き牡蠣を頼みました

牡蠣定食は食べたことがあったので、特に感想はないんですが、焼き牡蠣はテレビとかで聞く、クリーミーという意味がわかりました

揚げた牡蠣とは食感と、味が全然違いました

 

f:id:masanari7430:20170409214650j:plain

そして今、電車に乗って帰っている途中です

本当は9時に広島を出ようかなと思っていたんですが、広島って岡山と同じぐらい遊ぶ所がない気がします

原爆ドームは小学生の時に行きましたし、それ以外調べたんですが特にありませんでした

誰か広島でオタクが楽しめる観光スポットを知らないでしょうか・・・

 

なので、今日は、TOEIC受けて美味しいものを食べたで要約できる気がします

 

明日から研究室生活リスタート

2017/4/8

日記

今日,突然カラオケに誘われて2時間だけ行ってきました

5曲ぐらいしか歌えなかったけど,テンションの上がる曲ばかり歌って,楽しかったです

その途中で,後輩たちのNHKの動画が上がってきたんですが,なぜか泣きそうになりました

なんかうれしいのと,悔しいのが入り混じっている感じです

 

さて,明日はTOEICです

明日,6時には起きないと間に合わないので早起きできるんでしょうか

目指すは720点

2017/4/7

日記

研究室ですることがなーい

思っていたより,研究室ですることがありません

今週することと言えば,自己紹介のプレゼンを作ることです

これは,ロボ研の時の物を流用すれば作れます

というか,10分で作れました

 

さて,友達に塾講師のアルバイトを紹介してもらって今日電話しました

適正検査があるらしいんですが何をするんでしょう

あと,声が怖かったのでどんな感じの人なのか不安です

 

ですが,その前にTOEICです

5月の物にも申込みましたが,なぜ受験しようと思ったのか自分でも意味わかりません

なので,明後日のやつが最終だと思って頑張ります