bisonのつくりかた

単位さんの落とし物

🍌に単位掘るお仕事してます

お久しぶりです(最新版)

いないいないばあっ!

...ばあっ!

 

え 帰れって?冗談きついぜじゃあ一体だれがパイを焼くっていうんだ?

そしたらボビーがきてこういうんだ「え?今からでも入れる保険があるんですか?」

 

いやお前ブログまだやるんかいって感じですね.”いないいない”のまま自然消滅しときゃいいのに.

間を開けたからって書き手が成長してるとは限らんようで,相変わらずの脳筋みたいな滑り出しと,ファイル名に(最新版)って書かかないとバージョン管理できなくなったみたいなn番煎じのタイトル名です.

 

ちょっと今回の記事はぐちぐち鬱陶しくなったのでつまらんし誰も幸せにならないのでここでサヨナラしとくのがおすすめです.いや,いつもも誰も幸せになってないけれども.

 

知らんからな言ったからな一通り書いて読み直したうえで普段からつまらん記事を書いてきたくそとくそのどちらがより優れたくそかを見極めてきたクソムリエの単位さんが言ってるんやからマジでつまらんぞ.

 

じゃあこっから愚痴です.ごめんなさい.

そういえば前回記事からそろそろ半年たちますね.僕はさっきの脳筋たいな精神面どころか他何一つ成長できなかったようで,ついこないだ結果振るわず終わったロボコンですがどうも高専4年間同じこと繰り返して終わりました.まあ一年生の時は応援でしたが.

何作っても結局使うことないしプログラムは当日に全部書き直しってのを3回繰り返してたみたいです.プログラム書き直しは2回やどうでもいいけど.

いや気づけよ.

モタドラとかLRFなんてやってないで調整いらずぶっつけ本番で初めてロボットに乗せても動くものでも作ってろよ.それか4年間しこしこバナナに単位掘ってろよって感じですね.大会には1校から2チーム出てて,もう1チームのほうがとてもいい成績だったことは喜ばしいことなんですが,どうしても比べられるのでリーダーだった人は結構責められたみたいです.

まあ悪気はないんだろうけど,いろんな人から呼ぶときはダメなほうって言われるし開発費返せとかロボット動かなかったの君(制御担当の僕)は何してたの半年間みたいな.ロボットの形はできてたので誰が見ても動かなかったのは制御担当のせいだしまあ実際直前に不良出たし,反省会でもリーダーがやらない人を無理やり動かせなかったからロボット完成しなかったって結論でどうも戦犯してしまったみたいです.

いや,多少は慰めてくれてもええんやないけ?一回くらいだれか慰めてくれるもんやと思ってたぞ.編入勉強できるで負けてよかったとかお前には向いてないとかやなくてお疲れ様ってひとことだけでいいから肯定気味なことを誰か言ってくれると思って泣きそうなの我慢してたけど完全にタイミング逃したわ.

 

いやそれだけのことしたけども.

 

結局何って,ひと段落したはいいけど二か月もしたくせにちょっと引きずりすぎてるので愚痴りたかったんですねわざわざ長文かいてまできっしょ.

みんなから何言われてるか怖すぎてもう部室にはいってないです.実際この前用事があって行った(行ったんかい)ときは,どうやって嫌いな人から飲みに誘われたのを口実つけて断るかって話してるのを横で聞いてて,いやこれは僕とは関係ないのだけれど,僕も誰かに何気なくうっかり声をかけると後で何言われるかわからんなって感じて結構怖かったです.

いやもともと陰キャやから教室の端っこで誰としゃべるでもなく黙ってぼけーっと過ごしてるんやけどね.

そろそろ鬱陶しいな我ながら性格悪いぞこいつそんなやから嫌われるんや.

 

ということでここからは読み進めて気分を悪くしてしまった人へのお詫びにアクリルのお話しますね.

この前アクリルを買ったんですよ.

www.acry-ya.comアクリ屋というところで,冬のDIY応援みたいなのがやってて,端材詰め合わせが送料込みでだいたい2000円だったので,メールで案内来た瞬間に買いました.普通ホムセンでアクリル買うと180x320x3一枚でも1000円とかするので結構高いんですね.正直詰め合わせっても100x100が2,30まい程度やろと思ってたんですが,CNC買ったのもあってギヤだったりいろいろ削り出して遊んでみたかったので買いました.

届いたのが

 

んんんんんんんんんん!!!!!!!!!!!

 

この1枚ってのも310x120くらいの結構でかいの,しかも厚みは2から5で1種類につき5枚ずつくらい.透明多め.これ92枚2000円はえぐいっしょ.思ったより果てしなく多い.箱に詰めに詰め込んであるぞ.何でも作れる幸せ.

うれしくてツイートしたら結構反応あってびっくりしました.

この中にマットブラックのアクリル,メタクリル樹脂って書いてあったのがあったので,高級っぽいしニキシー菅時計のケース作ることにしました.もともとアルミプレートでやるつもりだったけど,黒アクリルならレーザー使えそうだし精度でそうだったので.

使ったCNCはsainsmartのGenmitsu3018(proじゃない古いほう)で,レーザーは2.5Wです.出力100%,Feed50mm/minで,刃先はだいたい0.2mmです.

これがめっちゃ優秀で,二周くらいで切り出しできてバカ早いし切りくずでないしエンドミル無いから折れないしアクリル板固定しなくていいのでメリットばっかです.いや,換気しないとめっちゃ臭いけど.これ一回おもっきし煙吸ってまってから3日くらい咳が止まらんかったから割と危ないです.単純に風邪なだけかもしれんのやけどね.

やる人は気を付けてください.下はアクリル切ってるとき.

f:id:bison0522:20191217201619j:plain

 レーザーは買ってからほとんど使ったことなくって,ミスりまくったせいで3枚あったメタクリル2枚消し飛んだのでケース作り切れずに在庫なくなって詰みました.いや,もうひと箱端材かっときゃよかった.枚数は多いんやけど種類ごとの枚数はそんなにないから割と大切に使わんとなあって感じです.

ってことでアクリルをホムセンで買ってきました.艶あり.180x320x3で1000円の二枚.マジでこれでもうひと箱買えたやんけしまったなあ.このままだと見栄え悪いので,100均の艶なしブラック買って吹き付けてみました.

写真中の左が艶なしのメタクリル右が艶ありアクリルで,右の写真が塗装後です.いや,優秀.

f:id:bison0522:20191217233236j:plain

ってことで,艶ありに塗装して何とか完成しました.上面の通気口あるやつ元艶ありなんやけどまったくわからん.いや美しいですね.無駄に凝りに凝っただけある.地味に低頭ねじ,側面の光るプッシュスイッチに無駄に高いアルミ削り出しのエンコーダのつまみとか結構お金かかってるな.いやでも最高ですねニキシー菅にぴったりな高級感ある箱が完成しました.まあ製作者の趣味とド偏見ですが.

よき.

癒しですね.

 

ちなみに,せっかく基板切削用のPCBカッターと透明アクリルがあったので例の光らせるあれも作りました.元データの著作権持ってないので出しませんが気になる人はLambdryで調べてみてください.2019高専ロボコン岐阜高専Bチームのロボットです.

だいたい30時間くらいかけて削り出すんですが,Windowsアプデで止まったり,削りの深すぎ浅すぎでこれも3枚ほど作り直しました.土台もかなり凝ってあって,3Dプリンタで印刷してLEDと配線を頑張って見えないように埋め込んだり電池埋め込んだりしました.一回はめたらもう電池取りにくいけど...

これは結構かっこよくできたので誕生日プレゼントにBチームリーダーにあげました.まあもともとそのつもりでこのデザインで準備してきたけどWinアプデとかのせいで結局渡すの遅れましたが.

f:id:bison0522:20191217234123j:plain

f:id:bison0522:20191217234127j:plain

f:id:bison0522:20191217234131j:plain

アクリル楽しいですね.皆さんもぜひこういう端材放出とかあったときは買ってみると思ったより面白いかもしれませんよー.

 

以上です.

レポート提出が迫ってきてるのでこの辺でそろそろ.そもそもレポート書いてて気が散って記事書くことにしたんだよなそういや.したら思ったより愚痴が出てきちゃったんだけどまあいいや.

 

結局まったくレポやってないのに提出期限だけが迫ってくるんですよね.まったく手つけてないどうしよう間に合わんぞこれ.結構めんどそうやし.

単位の保険制度とかないんかな.毎回一定単位を保険会社に支払って,もし落として留年しそうなら一定量の単位を補償してくれるみたいな.

 

 

そしたら危ないぎょーざが来てこういったんだ「え?今からでも入れる保険があるんですか?」

PIC32の使い方③(UART)

マイコンの通信と言えばそう,シリアル通信ですよね!

今回はシリアル通信の一つであるUARTを使ってPCと通信をしてみます.送信しか扱いませんが,多くの関数が準備されているので開発時も安心です.前回のタイマ割り込み同様,UARTの割り込みハンドラに追記すれば受信,送信割り込みも使えますよ.

bison.hateblo.jpってことで,MHCでUARTの設定をします.

WindowsタブからAvailable Conponets,Project Graph,Configuration Optionsを開きます.

Available Conponets→Peripherals→UART→UART1をダブルクリックで選択.

Project Graphに追加されたUART1を選択.

Configuration Optionsで詳細を設定します.

f:id:bison0522:20190414234229p:plain

Baudrateは115200bps,ストップビットは1ビット,データ8ビットのパリティビット無しで設定しました.まあデフォなんですが.

また,UART1に使用するTX,RXピンを設定します.

Tools→Pin Configurationより設定していきます.3つタブ出てきますが,どれでも設定できます.今回は4ピンをTX,6ピンをRXにしました.

f:id:bison0522:20190414234710p:plain

f:id:bison0522:20190414234726p:plain

f:id:bison0522:20190414234734p:plain

したら後は出力します.

f:id:bison0522:20190323164404p:plain

するとplib_uart1.hとか.cが出来ていろいろ関数が入ってます.

今回は次の一文をmain.c,mainループ内に追記するだけです.

UART1_Write( "Hello!\n", 7 );

引数は一個目が送信内容,二個目がバイト数です.

f:id:bison0522:20190414235404p:plain

んで,さっきのピン設定に合わせてシリアル変換機などにTX,RXを配線してPCと接続したらデータが見られちゃいます.

https://twitter.com/bison0522/status/1117341313634983936

 やったー.はい.おつかれさまでした.以上です.

PIC32の使い方②(Timer&Lチカ)

前回の記事の続きです.今回は前回光らせたLEDをタイマーを使って一定周期でチカチカしていきます.面倒な環境設定から配線までは前回やったので今回はプログラムを変更していきます.

前回はLチカ――――――でしたが,今回はLチカチカチカチカって感じですね.

bison.hateblo.jpまずはMHCでタイマと割り込みを有効にします.

WindowsタブからAvailable Conponets,Project Graph,Configuration Optionsを開きます.

Available Conponets→Peripherals→TMR→TMR1をダブルクリックで選択.

Project Graphに追加されたTMR1を選択.

Configuration Optionsで詳細を設定します.

 

f:id:bison0522:20190413234443p:plain

これで100ms周期ごとにタイマ1割り込みが発生します.要はプログラム実行中,100msごとに割り込み用の関数が実行されるわけです.この割り込み用の関数の中でLED出力を反転させる処理を行えば200ms周期(100ms点灯+100ms消灯)でLEDが点滅します.

とりあえず設定を出力します.

f:id:bison0522:20190323164404p:plain

んで割り込みハンドラっていう,割り込みが発生すると呼び出される関数の中に次の1文をちょいっと付け足せば完成です.

GPIO_PinToggle(GPIO_PIN_RA7); 

 ちなみにこれはピン出力を反転させる関数です.割り込みハンドラは全部interrupts.cの中にまとめられているので,ここのTimer1の割り込みハンドラの中に書き加えます.また,このinterrupt.cは#include "definitions.h"って最初にありますが,GPIOとかのヘッダもろもろが読み込まれています.ピン出力反転の関数が使えるのもこれがあるからです.

f:id:bison0522:20190414001002p:plain

で書き込むと

 わーチカチカしてるーってなります.めっさ簡単でしょ.

以上です.

https://twitter.com/bison0522/status/1116701974592835585

車校の日記⑲(最終回)

お久しぶりです.

結論から言うと車校は卒業,みたぼらの本試験も無事合格し,晴れてペーパードライバーの一因となりました.

 

⑱から結構間が空いたような気もするけど大体先週の話です.試験はほとんど車校でやった模試通りでした.

とれたはいいけど寮生なのでしばらくペーパーだからちょっともったいない感ありますね.周りもみんな車校帰りで特に通学生はこれからクルマ通学だからすぐ慣れるんやろなー.もう車に乗れる年なんですね.

びっくりです.

 

何が驚いたってその中にフォルクスワーゲンに🔰つけて通うやつがいるっていう.

 

イケメンかよ.

 

ちなみに車校右曲がってくださいっていわれて,右ですねーって言いながら左にハンドルを切ったですが,自作テントにメカナムつけて通学するみたいですよ.

 

いやまあちょい言わせた感あるというか,よく見たら一言もそんなこと言ってないんやけど.

 

ってことで車校の日記はおしまいです.読んでくれた方ありがとうございます.

特に最後のほうの圧倒的車校との無関係記事.

 

ちょっと振り返ってみましょう.

 

今日の日程,”夕食:鶏のから揚げ”.

今日はいつもどおりでした.まあそんなことはどうでも良くて...(意訳)

 

くそ記事やんけ.

 

本題に対して”そんなことはどうでも良くて”で2行で片を付けていくこの圧倒的スピード感

昨年の高専ロボコン岐阜Aチームの ”5秒でVゴール” のコンセプトを彷彿とさせますね.まあ結局,試合開始前に回路全焼という予想をはるかに上回る人生ならぬロボ生のVゴールを迎えたわけですが,ボロカスに言う割には部外者が作りましたツイートして腹が立つ程度には好きなロボットだったんですね.

 

まあでも半年かけていろいろ犠牲にして作り上げたものを,その間twitterやらゲームやらでエンジョイしたであろう人に我が物顔で語られ持ってかれるのは耐えられんかな...

 

そんなことはどうでもいいんですよ.終わったことです終わったことより僕は彼女が欲しいんです.つらいときは癒してもらって休日には楽しくキャッキャウフフしたいんですよ.

いやマジでくそ.

なんやこのごみ溜め.うるせえ単位さんの部屋や.

彼女どころじゃないやん.せっかくの休日があ...

ってことでこの日から一週間部屋の掃除というか収納というかに費やしてました.

このせいで彼女もブログもできなかった訳です.くそう.

そういえば車校中書いてたPIC記事公開しました.無事プログラムも動いてもう僕はしあわせです.

 割と頑張ったとはいえ,圧倒的PICの人気のなさか真面目ぶった単位さんのイキリが受け入れられなかったのかあんま人気なかったけど.

まあしかたないかな.実際やる直前って人以外インストールの仕方とかどうでもいいもんなあ.少なくとも興味なくても読めるように次回の記事頑張ります.そろそろ記事たまってきたしカテゴリ分けたいな.

 

まあそんなこんなあった一週間でした.

そういえば今年のチーム決めしたんですが,僕は寝坊するし部室にはおらんし容量悪いしで他と比較しても明らかで我ながらクソ物件なんですが,それでもリーダー立候補したら決まってたかのように悪態付きながら隣に来てくれたやつがいて,ほかにも思ったより仕方なくって感じじゃなくメンバーになってくれた人がいてうれしかったです.割とうるってきました.割と最初3人集まればいいってくらいに思ってたので,ほんとにうれしかったです.

 

まあ今日も部室には行ってないんですがっ.

寝坊したとかそんなんじゃないんやで.

なんでもいいけどありがとね!

読んでるか知らんけど.

f:id:bison0522:20190413220639p:plain

 

後半とうとう内輪ネタどころか読者完全無視した感じになりましたがこんな感じの車校生活でした.

まじで車校のこと夕食以外書いてないけど19回でおしまいです.

では.

PIC32の使い方①(Lチカ)

PIC32はPICマイコンの中でもハイエンドモデルに位置付けられている32bitマイコンです.今回はその中でも

PIC32MK0512MCF064

というマイコンを使えるようになっていきたいと思い,その開発記録として記事に残します.”MC”と名前にある通り,このマイコンはモーター制御を想定した仕様になっており,多くの相補PWM出力ペアと6つのQEIと呼ばれる直交エンコーダインターフェースが備わっています.最終的にこのマイコンで4つ以上のモータードライバ(BLDC,DC切り替え可能)を搭載したロボットのマザーボードとなる基板を製作することを目標とします.①の本記事ではLチカまでやっていきます.開発と同時に記事にしているため,間違いなどあれば指摘していただきたく思います.

www.mouser.jp

 

開発環境を整える

PICマイコンはその種類によらずMPLAB Xというソフトで開発できます.そして対応するコンパイラというものをインストールすることで,各デバイスに対応したプログラムを書くことが出来るようになります.この時,MCCまたはMHCを使用し設定を,MPLAB Harmonyというライブラリを使用しプログラムを書きます.最後にPICKIT4を使用しPICに書き込みます.

ということで,まずは以下のものを準備していきます.

 

  1.  MPLAB X(開発環境)
  2.  XC32コンパイラ(プログラムを各デバイスに対応する機械語に翻訳)
  3.  MCCとHMC(初期設定がグラフィカルに行える)
  4.  MPLAB Harmony(様々な機能が使えるライブラリ)
  5.  PICKIT4(書き込み機)
開発環境のインストール

Microchip公式ホームページより最新版をインストールします.

www.microchip.com一番下のDownloadsより自分のOSに合わせてダウンロードし実行します.Nextだけ選択していればOKです.インストールが完了したら,XC32,MPLAB Harmony,MCCのリンクが勝手に開かれます.

www.microchip.com

www.microchip.com

www.microchip.comMCC以外を順番にインストールしていきます.先ほどと同じように,一番下のDownloadsからダウンロード,実行するだけです.Harmonyは時間が結構かかります.

 

MPLAB X IDE v5.15,

XC32/32++ compiler v2.15,

MPLAB Harmony Integrated Software Framework v2.06,

 

以上のバージョンをインストールしました.以降これらの環境を想定し進めていきます.MCCは,MPLAB Xを起動し,Tools→Plugins→Available Pluginsを開き,一覧よりMPLAB Code Configurator(MCC)にチェックを入れInstallでインストールできます.

また,今回はMPLAB Harmonyを使用するので,同時にMPLAB Harmony Configurator(MHC)もインストールしてください.分かりにくい場合はこちらの動画を参考にして下さい.

www.youtube.comインストールした機能はMPLAB Xの再起動後に有効になります.再起動後,ツールバーにMCCのロゴがあればインストールは完了です.

f:id:bison0522:20190319222347p:plain

f:id:bison0522:20190320084306p:plain

いるものを揃える

購入するものは主にPICマイコンとPICKIT,および回路制作に必要なものと工具です.

PICKITは本記事では純正品PICKIT4を使用しますが,設定でPICKIT4と選択する場面でPICKIT3などに読み替えてもらえればPICKIT3などでもかまいません.おすすめはしませんが,安価な非正規品も存在し,その多くは問題なく使えます.

工具は半田付けセット,配線が出来るもの(基板やブレッドボード類など)が必要です.ピンヘッダなどで配線や実装する場合には以下のような変換基板が必要です.

akizukidenshi.com

MPLAB Harmonyを使ったプロジェクトの作成

作業スペースを作っていきます.

File → New Projectを選択し,以下のとおりに進めていきます.

  1.  MPLAB Harmonyを使用した作業スペースを選択

    f:id:bison0522:20190320103046p:plain

  2. Launch Framework Downloaderを選択(初回のみ)

    f:id:bison0522:20190320103630p:plain

  3. Create Folderを選択.Kinariは僕の名前ですが,各自のユーザー名になっていると思います.このPathにインストールされますので,次回からは2.でのFramework Pathにこのパスを打ち込めば,Launch Framework Downloaderの必要はありません.f:id:bison0522:20190320104548p:plain

  4. Test Connectionを選択し,二枚目のチェックマークが表示されたらNextで進みます.インターネット接続が必要になります.f:id:bison0522:20190320105144p:plainf:id:bison0522:20190320105419p:plain

  5. Dowmload Catalogは写真を撮り損ねましたが,特に操作はないはずです.Dowmload PackageはAccept All Licensesで次へ進み,Nextを選択します.

    f:id:bison0522:20190320125155p:plain

    f:id:bison0522:20190320125313p:plain

  6. Package Configrationも指示通り進めばFramework Selectinの設定はは終わりです.次に進みプロジェクトの名前を指定します.

    f:id:bison0522:20190320125911p:plain

  7.  そしてPICの種類を指定しFinishです.写真ばかりで長く感じますが,実際は指示通り入力するだけですぐ終わります.

    f:id:bison0522:20190320130056p:plain

  8.  このような警告が表示されますが,今回使用するのはMCCではなくMHCなので無視します.この警告はMCCがPIC32MKをサポートしていないため出現します.MPLAB HarmonyはPIC32用ですが,MCCはPIC32に限らず使用できるため今後のために入れました.f:id:bison0522:20190320130237p:plain

  9.  ひとまず作業スペース完成です.

    f:id:bison0522:20190320130945p:plain

MHCの開始

まずは開いてみます.

f:id:bison0522:20190320132641p:plain

f:id:bison0522:20190320132819p:plain

f:id:bison0522:20190320132922p:plain

f:id:bison0522:20190320132951p:plain

f:id:bison0522:20190320133018p:plain

こんな感じです.3枚目の時に右を選択すればMPLAB内のWindowとしても開ける...のかな?お好きなほうをどうぞ.

 

MHCでconfig設定

configとはマイコンの初期設定みたいなもので,面倒なので慣れるまでは気にしないことをお勧めします.PICを触ったことがある方ならばおなじみのconfig自動生成機能をMHCで使ってみます.右側のConfiguration Optionsから選択して行くだけですが,メモとしてそれぞれのconfigの意味をまとめておきます.また,データシートではp.585のSPECIAL FEATURESに記載されてます.

DEVCFG3

f:id:bison0522:20190320153431p:plain

  • USERID:好きな名前(ID).書き込み時などに接続確認で表示されるだけ.
  • PWMLOCK:PWM IOCONxへの書き込みに制限.
  • FUSBIDIO2:USB OTG(On The Go)のIDピンの有効,無効設定.OTGはパソコン抜きでUSB通信できるよう追加された機能.
  • FVBUSIO2:USBのVbus機能の有効,無効設定.VbusはPICの電源とは別にUSBから電源供給を受けることが出来るピン.
  • PGL1WAY:PGレジスタへの設定回数の制限.4.3 Permission Access and System Bus Registers (p.75)参照.
  • PMDL1WAY:PMDレジスタへの設定回数の制限.32.4 Peripheral Module Disable (p.578) 参照.
  • IOL1WAY:PPSレジスタへの設定回数の制限.13.3 Peripheral Pin Select (PPS) (p.239)参照.
  • FUSBIDIO1:FUSBIDIO2と同様.別チャンネル.
  • FVBUSIO1:FVBUSIO2と同様.別チャンネル.
DEVCFG2

f:id:bison0522:20190321184242p:plain

f:id:bison0522:20190321184257p:plainf:id:bison0522:20190321184311p:plain

f:id:bison0522:20190321220305p:plain

FIGURE 9-1:PIC32MK GP/MC FAMILY OSCILLATOR DIAGRAM (p.162) 参照.ちなみにこのややこしいクロック関係のConfigurationはGUIで設定できます(後述).

  • FPLLDIV: クロック周波数をこの値で割る.
  • FPLLRNG:PLLで割られた後のクロック入力の範囲.
  • FPLLICLK:内部高速RCクロック(FRC)か外部クロック(Posc)か選択.
  • FPLLMULT:クロック周波数をこの値でかける.PLLの逆.
  • FPLLODIV:クロック周波数をこの値で割る.
  • VBATBOREN:VBATモード時のZPブラウンアウト有効,無効設定.
  • DSBOREN:Deep Sleepモード時のブラウンアウト有効,無効設定.
  • DSWDTPS:Deep Sleepモード時のウォッチドッグタイマのポストスケーラ値.DSWDTのプリスケーラ値は32.
  • DSWDTOSC:DSWDTのクロック入力選択.
  • DSWDTEN:DSWDT有効,無効設定.
  • FDSEN:Deep Sleepモード有効,無効設定.
  • BORSEL:ブラウンアウトのリセット電圧.
  • UPLLEN:USB PLLの有効,無効設定.
DEVCFG1 

f:id:bison0522:20190322101147p:plain

f:id:bison0522:20190322101223p:plain

f:id:bison0522:20190322101230p:plain

DMTとWDTについてはこちらを参照.

DEVCFG0 

f:id:bison0522:20190322111705p:plain

f:id:bison0522:20190322111713p:plain

  •  DEBUG:バックグラウンドデバッガの有効,無効設定.参考:

    www.google.com

  • JTAGEN:JTAGの有効,無効設定.参考:

    JTAGとは何か | 特殊電子回路

  • ICESEL:インサーキットエミュレータ・デバッガのチャンネル設定.ICSP書き込みはどちらからでも可能.
  • TRCEN:CPUトレースの有効,無効設定.
  • BOOTISA:Boot ISAのコード設定.
  • FSLEEP:FlashのSleepモード時の動作設定.
  • DBGPER:デバッグモード時のCPUへのアクセス許可設定.
  • SMCLR:MCLRピンが生成するのがパワーオンリセットか通常のリセットかを選択.
  • SOSCBOOST:セカンダリオシレータのブーストキックスタートの有効,無効設定.
  • POSCGAIN:プライマリオシレータのゲイン選択.参考:6.5.1 プライマリオシレータのモード選択
  • POSCBOOST:プライマリオシレータのブーストキックスタートの有効,無効設定.
  • EJTAGBEN:EJTAGの動作設定.
設定の一例

 右側のConfiguration Optionsから選択して行きます.また,DEVCFG1,2のクロックに関する設定はMHCのGUIで設定してみます.Tools → Clock Configrationより,Clock DiagramというWindowが開かれ,各項目が分かりやすく設定できるようになります.各設定はConfiguration Optionsの項目と連動しています.まずはこんな感じ日てみましたが,動作確認はまだです.

f:id:bison0522:20190323090820p:plain

f:id:bison0522:20190323090833p:plain

f:id:bison0522:20190323090840p:plain

f:id:bison0522:20190323090854p:plain

f:id:bison0522:20190323090900p:plain

f:id:bison0522:20190323090910p:plain

MHCでDMA設定

Tools → DMA Configrationより,DMA SettingというWindowで有効か無効か,また各チャンネルをどの周辺モジュールに割り当てるかを設定します.

参考:こちら

使ったことないのでとりあえずパス.

MHCでEVIC設定

Tools → EVIC Configrationより,EVIC SettingというWindowで有効か無効か,また各設定が出来ます.この設定についてもわからないのでパスですが,多分割り込みの優先度的なあれだと思います.

MHCでIO設定

Tools → Pin Configrationより,Pin SettingというWindowで入力か出力か,また各設定が出来ます.左下のPin Diagram,Pin Tableからも機能の割り振り(PPS)が出来ます.まずは使い方を知りたいので,1ピンを出力に設定してみます.Pin Settingで以下のように設定しました.2ピンがデフォです.

f:id:bison0522:20190323154205p:plain

設定を出力

以上の設定を出力します.左上のツールバーより

f:id:bison0522:20190323164404p:plain

を選択し以下のように進めていきます.

f:id:bison0522:20190323164204p:plain

Save asで保存しておきます.

f:id:bison0522:20190323164259p:plain

f:id:bison0522:20190323164414p:plain

f:id:bison0522:20190323164500p:plain

完了するとこのようにいっぱいファイルが出来上がっています.確認のためClean&Buildしておきます.

f:id:bison0522:20190323164814p:plain

f:id:bison0522:20190323164821p:plain

正常ですね.ちなみに,プログラムを編集した後にもう一度MHCで設定を変更し出力しようとすると,差分が表示されコードの変更の許可,不許可が選択できます.自作関数など,MHCの変更の範囲外の場合(MHCで生成される関数外)は保持されることを確認しました.プログラム中に設定を変更するときでも安心ですね.

Lチカ

akizukidenshi.com初めにも紹介しましたが,この変換基板にPICをはんだ付けしてブレッドボード上で配線します.今回は先ほど出力ピンに指定したRA7(1番ピン)にLEDを接続し光らせるLチカを目標としますので,配線は主に電源,書き込みピン,RA7の出力ピンのみです.以降機能を付け加えるときも,変更がなければ電源と書き込み部分は共通で使えます.また,ICSP用のピンは3グループありますが,どこからでも書き込めます.

https://github.com/Bison0522/Blog/raw/master/Circuit1_32mk.png

https://github.com/Bison0522/Blog/raw/master/Circuit1_32mk.png

先ほどのプログラムをLチカのために書き換えます.具体的には出力ピンの出力を1にする命令を書き加えます.1行です.

ピン操作はLAT,PORTを使用していましたが,関数になってまとめられています.変数を用いて操作できるので便利です.この関数は”plib_gpio.h”にまとめられています.

今回は次の1行を"main.c"のmain関数内のwhile(true)ループ内に追記します.

GPIO_PinWrite(GPIO_PIN_RA7, 1); 

f:id:bison0522:20190411162848p:plain

PICKITはUSBに接続しておき,PICの電源をPICKITから供給します.PGECはPGC,PGEDはPGDに接続し,回路図のコネクタ(CONN)の部分をPICKITに接続し書き込みます.

f:id:bison0522:20190411162956p:plain

f:id:bison0522:20190411163002p:plain

f:id:bison0522:20190411163012p:plain

Apply,OKの順に選択し,最後に書き込みを選択します.

f:id:bison0522:20190411163147j:plain

f:id:bison0522:20190411163522p:plain

回路上のLEDが点灯したら成功です.点灯しなかった場合は回路の配線ミスを疑ってみてください.

f:id:bison0522:20190411164741j:plain

写真にスイッチが2つあるのはリセットスイッチと入力ピンです.今回は入力は使用しないので気にしないでください.

 

今回はこれで完成です.

お疲れ様でした.

次回はタイマーでLEDをちかちかしていく予定です.

車校の日記⑱

とうとう実技試験当日です.

かなり緊張しました.まずは朝起きてコースされたコースを確認してイメトレしてました.まあコースとか言われてもさっぱり分からんのやけどね.

 

ぶんぶうーん

ぶぶぶうーんwww

 

はい合格ちょろ.

 

嘘です.

トロトロへこへこ走っていき何とか大きなミスなく合格できました.トロすぎって注意受けましたが.それはそうと,同じ車に乗ってて運転手途中から交代して別ルートで試験受けた方は巻き込み気にしすぎて左折中に前から来たチャリに気づかず審査員にブレーキ踏まれて落ちてゆきました.運転キレイだったけど慎重になりすぎて別のところが見えていないことがあるので気を付けたいですね.実際僕が運転してたらちゃんと気づいて止まれるのかって言われると結構不安なところでした.

というか仮免でも一緒に乗って試験受けた人落ちてったんやった...

 はい.⑱日分の成果です.

 

おめでとう!

ありがとう!

...何か言いたそうやな.つべこべ言わず祝ってください.

f:id:bison0522:20190403011957j:plain

 

無事卒業です.このあと岐阜のみたぼらってとこで本免試験受けて受かれば免許証交付です.

 

疲れたので車校のことと関係ないけどいいニュースと悪いニュースがあるんや.どっちから聞きたい?

 

あ?どうでもいい?

 

うるせえ.どうでもいいかもしれませんがJLCPCBとどきました.いいニュースです.僕にとっては.

 以前記事で挙げてましたね.早い.一週間や.2種面付で8ドルかかったけどよく考えたら別々2種類で発注したほうが安いしいっぱい買えるし色変えれたな.ちょっと失敗.まあそれでも安い早いきれいで満足です.

 

で悪いニュースです.明日から雄志寮生活が始まります.

 あれれーおっかしーぞー(棒)

きたねえ.引っ越したそのまんま.住めませんね.

悪いニュースでした.

 

いや片付けろよ.

 

ん?やっぱり興味なかったって?

 

そんなお前にはこうしてやる!!くらえ!!

 

f:id:bison0522:20190403011543j:plain

 

ひれ伏せ!!!うな重様や!!!

 

どうだ!まいったか!

勝ち逃げしますおやすみなさい.

 

車校の日記⑰

こんばんは.

当日に書けな過ぎていつの話か分からんくなってきましたが今回は昨日の分です.よく考えたら読んどる人的には番号順になってればいつの分とか関係ないやん.むしろややこしくしてるだけやんけ.

まあ書いてる僕的にもややこしいだけですがそんなことはどうでも良くて,この日で教習は全部終わりでした.教習ってもコース確認でグルってして縦列駐車とスイッチターンやっておしまいって感じなんやけどコースがさっぱり分からん.当日はルート教えてくれるとはいえ,教習で何コースのどこはしってるのかほんとにわからんです.

まあ最悪そこらへんは走ってるときに見覚えあるなーここ危険やったなー二段階停止やったなーとかでいいやけど.

でもさすがにこの時点で半クラできずに発進1秒でエンストとか,路側帯に全力で突っ込んで停車とか,歩道あるのにがっつり横開けて駐車とかしてるとかなり自信なくなってプレッシャーになりますね.あとはうっかり確認忘れるとか.

結局いよいよ明日試験なのに僕はミスばっかで大丈夫なんだろうか...というプレッシャーを胸にがっつり寝ました.気持ちよかったです.めっさよく寝れました.

まあでも迷ったらとりあえず寝とけば大体正解です.どうなっても知らんけどね.

 いやー名言出ましたね.

で,時間さかのぼることになってしまい申し訳なくもないんですが夕食のハンバーグです.

f:id:bison0522:20190403002538j:plainただの晩ごはん報告になりましたが今回は以上です.

今日コースをグルって回っただけでも左右の確認,右折左折時の速度と巻き込みや横断歩道での横断者の保護,速度維持,停車位置,停車駐車時のギヤの位置,後退時の後方確認と目視確認と,いろいろ注意受けました.いやこれほぼ全部やけど.

結構慌てたり集中すると忘れやすいので意識して実技試験受けたいです.おやすみばいばい!