F4DiscoveryでLチカ
どうも,昨日SRCに行って帰ってを行った満身創痍のかめらです.みなさんいかがお過ごしでしょうか.
そういえばね,昨日SRCの帰りに湯涌温泉行ってきたんですよ,湯涌!
花咲くいろはの原案の地ですね.
温泉が好きで色んな温泉行くことはあるんですが,湯涌は初めてでした.
おたくだって言われても文句言わないくらい最高でしたね.
まぁそのことに関してはまた別記事に書くとして・・・.
マイコン学び始めましたって記事書いてから何も書いてないことに気づいてしまい,そろそろ書かねば(マイコン自体は弄ってるけど公開してないだけですはい.)と思ったのでとりあえずLチカからやっていきます.
まぁF4DiscoveryでLチカとか何人が記事書いてるねんってくらい書いてるでしょうけど気にせず書いていきます.
備忘録レベルですし,こんな風に書いた方がいいよとかあったらコメントかTwitterにリプください.
#include "stm32f4xx.h" void GPIO_Configuration(void); void delay(__IO uint32_t nCount); uint32_t Count = 0xFFFFF; int main(void) { SystemInit();//システム全体の設定 GPIO_Configuration();//GPIOの設定 while(1) { GPIO_ToggleBits(GPIOD,GPIO_Pin_13);//GPIO,Dポート13番ピンのオンオフ繰り返し. delay(Count); } } void GPIO_Configuration(void) { //GPIOをいじくる構造体GPIO_InitStructureを宣言 GPIO_InitTypeDef GPIO_InitStructure; //GPIOのDポートを有効化する. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); //GPIODのどのピンを有効化するかを決定する. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; //GPIOのモードを出力(Output)モードへ. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //出力タイプはプッシュプル(PP)に設定. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //内蔵プルアップ設定は無効に GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //GPIOの速度は100MHzに GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //GPIO_InitでGPIODを上の設定でを有効化する GPIO_Init(GPIOD, &GPIO_InitStructure); } void delay(__IO uint32_t nCount) { while(nCount--); }
今までArduinoしか使ったことなかったのでLチカにこんなに行数いるとは知らなかった(KONAMI感
まぁ一度設定してしまえば書き換える必要があるのはmain文だけっぽいので最初だけの苦労と考えれば・・・.
簡単に実装できるDelay関数を実装したけれども,これでは汎用性がなさそうなので,今度はしっかりとタイマを使ってdelay_msとかdelay_usとかが実装できたらいいな,と思います.
が,ロボットとか作っていく上であまり必要ないかもしれない.
でもまぁあれば使うでしょ.ということで実装がんばります.
すぐに実装した方がデバッグしやすくなる方法・・・あれか,printfとかでPC-STM32間でシリアル通信できると値とか見られて楽だし次はそれの実装しますたぶん・・・.(できれば
マイコン 学び始めました
どうも,かめらです.お久しぶりです.
夏休みに入り,研究が進まなくて焦っております.
せっかくの夏休みですので,ものを作りたい欲が出てきました.
小学校の時とか自由工作・自由研究苦手マンだった自分としては考えられないほどの成長(?)です.
作りたいなーって言い続けて,マイコン使えないマンだったので使ってなかったのが,
自作erの人々が作り尽くしたともいえるGPSロガーを作るのを目標にします.
とりあえず何をするにもマイコンが必要なので,学んで実装したことをぽつぽつ書いていきます.
使用するマイコンはSTM32マイコンのF4シリーズです.
GPSロガーにそんなにパワーいらないでしょとか,消費電力のこと考えてLシリーズにしとけよとかあるかもですが,
後々マイクロマウスとか作るかもしれないロボットとかに載せるためを考えてこれにします.
私生まれてこの方マイコンとかArduinoとかしか使ったことなかったんですよ.今までに何度もSTM32手を出してみようとしてはLチカで満足してあきらめてたので,今回こそちゃんと使えるようになりたいと思いますまる.
次の記事からLチカからやっていきます.
開発環境は,eclipseでやろうとして,ここ
とかここ
C++を使ったSTM32のプログラミング・デバッグ環境を整える - STM32 - Tokoro's Tech-Note
とか見てやってたんですが,どうも上手く構築できずにあきらめてしまったので
CooCoxのCoIDEを使います.(逃げです
フリーかつサイズ制限なしなのでホビーユーザとしてはとてもありがたい限りです.
CoIDEの環境の整えかたとかはチカラの技術さんのページに詳しく載ってるのでそちらを参考にしてくだs(面倒だから書かないわけじゃないよ?
これからマイコン系エントリー増えるかなーと思いますがよろしくお願いします.
ROBOMECH2015
どうも,かめらです.
今週の日月火と京都・みやこめっせで行われたROBOMECH2015に行ってきました.
私個人は2日目の午前と午後に1本ずつポスター発表でした.
まぁ無事に済んで良かったです.
ROBOMECHがどういうものか分からない人向けにざっと説明すると
オフ会です
違います.学会(講演会)です.日本機械学会主催のロボットに関する技術を講演する場です.私は日本機械学会ではなく日本ロボット学会所属なんですけどね.
ただまあオフ会と言っても良いほどにTwitter上での知り合いに会ったんですけどね・・・.
新たな出会い(フォロワー)もありましたし,自信の研究の参考になるものも多くあり,とても良い機会だったと思います.
研究の話に関しては申し訳ありませんがここに書けないです.
ではまた.
はじめまして
Twitterからの方はいらっしゃいませ.いきなりブログに飛んできた方ははじめまして.
地方の大学でロボットの研究をしているゆるふわB4のかめら(@mrc_je_cours)と申します.
以後お見知りおきを.
ものを作ったり技術を取得したりしたことを書いていこうと思っております.
思い立ってからなかなか行動に移さないので,かめらブログ更新してないけど生きてる?って言われるかもしれません.
恐らくTwitterでは細々と生きてると思います.
このブログを開設した理由としましては,
1.備忘録
ものを作ろうとしたときに参考にしたものや自分の躓いたところがあとで振り返ることができたら良いと思ったので.
2.Twitterを含むインターネッツ上の凄くデキる人からアドバイスをもらいたい.
書いていれば間違ってることも出てくる(というか私レベルなんかで書くとだいたい間違ってる)
ので,インターネッツ上で,ものを作ってる人とか色んな人にアドバイス頂けたらいいな,と思ったので(他力本願).
3.情報の公開
B3の頃までは某大学ロボ研にて大ロボ(今は生ロボか)用のロボットとかを作ってました.
ただ,周りの大学に比べ,技術力・向上心・情報などが圧倒的に低く,どうにかしてその状況を打開したかった.
情報が足りないというのは,調べる方法を知らない,または知りたい情報があってもノウハウが各大学内で共有され,外に出回らないという事があるからで,
できる限り公開して,部内(周りの大学も)に対してこんな技術もあるんだよって事を知ってもらいたい.
ただ,私が情報公開したところでだいたいの人が分かってるということばかりだとは思ってる.(だからといって公開しなかったら今までと変わらない.
4.モチベーション
なにかものを作るときにとりあえず誰かに見てもらわないと途中でモチベーション不足に陥り,途中放棄する可能性が高い.
実際ロボット作る系サークルを引退してから作ろうと思ったものは数多くあるが,(忙しいというのもあるけど)だいたい作る前の構想段階で消えたり,中途半端で製作が止まっているものが多い.
とりあえず人に見てもらうというのはどのような形であれ,自分のモチベーションの向上に繋がると考えた.
まぁ,そんなこんなでつらつらと大義名分を書き連ねましたが,要は私がロボコンやってるときになんで知らなかったんだってなったことが多くあったので,それが少なくなればいいな,と思います.
よろしくお願いします.(深夜テンションで書いた.後悔はしていない.)