投稿

ラベル(arduino)が付いた投稿を表示しています

arduino焼きやき器を発掘

イメージ
 カブの整備計画と同時に電子部品の発注も考えなければと手持ちのコマをチェックしていたら、一度も使った覚えのないarduino焼き器が出てきました。たぶんarduinoを始めて間もない頃に買ったに違いありません。たぶん当時の私はこれを持て余したんですよね。だってこんなの無くてもブレットボードがあればOKですもん。まー、でも確かに当時はarduinoをコピーできるってだけで喜んでましたからね(やった事ないけど)。だからコレってあくまでもarduinoを作る人用の物だからマイコン単体で使いたい時は不向きですかね。(←私) 仮にマイコンだけでarduinoのスケッチを走らせたいなら、 超簡単に石だけ。こんな感じ↓

あちゃんでいいの が

イメージ
  手つかずの「あちゃんでいいの」が出てきた。しかも2個。 arduinoUNOの互換機ですが肝心のATmega328は付いてません。さっそく328を秋月電子で購入します。500円前後でしょうかね?UNOを1台買うと思うとお得感がかなり強いかもです。しかしパソコンとつなぐにはシリアル何チャラかんちゃらが別途必要になります。でもUNOの328を取っ替え引っ替えすることでスケッチを焼くことができますから問題なしです。ま〜ちょっと遅くなるけれどATmega328だけでもUNOとして動きますから必ずしも「あちゃんでいいの」が必要ないという話ですがね。発掘した以上使いますって話です。 ライブラリーがUNOに標準対応というパターンがけっこうあります。なのであちゃんでいいのはOLED1306などライブラリーが必要なモノに使おうかと思います。

arduino+oled1306でギアポジDIY(カブプロaa04)

イメージ
arduinoでつくったギアポジメータ(テストNo.001)です。すっかりやる気を失い忘れていました。どうやって取り付けようかな〜!?と悩んではいるんですが、さっぱり良案が降りてきませんね〜。ま〜そのうちやっつけますかね。 ギアポジと同時に時計があれば便利ですね〜。arduinoだけじゃ難しいため専用のマイコンを追加しないとだめでしょうね。使ったことがないので作業の腰が重い…。 そしてタコメータね。ただギアポジと合わせちゃうと見づらくなる可能性が大ですから、これはギアポジメーターからは独立させますかね。

カブ インジェクションの考察 その1

イメージ
  私のカブは50cc、AA04のプロです。初の中国生産カブで、不人気です。中古車は安めですが、カスタム系の専用パーツは無いに等しい。ネットの情報も、ま〜薄いこと。 乗り味は、カブ「プロ」は主に仕事用のバイクとして開発されたようで、荷物を低速で安全に運ぶことに適した仕様なのでしょう。とにかく遅い!いや、遅いだけならそれでもイイのです。別に急いでいないし…それはそれで楽しいし…。しかし私だけの道じゃないのでそれなりに気を使います。急な上り坂では2速全開で50原付の法定速度内(以下)、すぐ後ろでダンプがいらついています!譲りたくても狭い道幅に途切れない対抗車…。お仕事ご苦労さまです…と荒ぶるダンプに届かぬ思いを口にします。残念ながらそういう登り坂はいたるところにあります。 ざっくり言うと登りの苦労や危険から開放されたく、せめて車の流れに乗れるモノが欲しいということで ボアアップ 作戦を行ないたいと思っています。ボアアップで50原付の法定速度からの開放を図り、パワーアップで上り坂をなんとか4速のまま行けないかな〜!というムリな願いを欲望に変え計画を進めます。適合するキットが81.2ccだったかな?数あるボアアップキットの中でAA04には唯一これしか合わないようです。専用のECUのサブコン購入は控えて既存をゴニョゴニョして頑張ろうかと思っています。ま〜その辺を楽しむために買ったカブでもあるので、挑戦してみます。 この一つ前のモデルからキャブではなく、電気の力で燃料を吹くインジェクションになっています。インジェクションはECUというコンピュータで電子制御され、アクセル開閉度やら回転数やら温度やら…よく判りませんが、各種センサーからの情報(電圧)がECUに流れ、それらの条件下でプログラム通りの電子制御を行っているようです。同じバイクをベースとしたクロスカブ50の走りが違うのはプログラムの味付けが違うところが大きいのだと思います。 で、ここでやっと考察です。AA01という一つ前の型の情報ですがインジェクションはECU側の制御で燃料を噴射する。しかしECUの制御はオープンタイプっていう趣旨の情報を見る。???? インジェクションには2線つながっていて、一つは12V(電源)で、もう一つは制御信号線(オープン)とな?オープン?もしかしてオープンドレインとかいうタイプの回路かな?...

ギアポジション表示

イメージ
  カブのギアポジションをarduinoとoled1306を使って表示させようと制作中。あとはボタンと同じ処理でokなはず。 ギアチェンジがロータリー式だから デザインに取り入れましたよっと。

祝 1306OLEDでタコメーター

イメージ
   やっとタコメーターの表示ができました。 1306OLEDを使ってアナログ的(針の動きを表現)なタコメーターをつくろうと挑んだんですが、どうも外部割込みとI2C(1306OLED)の相性が悪いようで、それを知らずに七転八倒をくり返していました。外部割込み処理と表示処理を別系統にする事で解決できました。 映像を説明すると、まずaruduinoのレオナルドで擬似エンジンを設けます。本来エンジンのシャフトが1回転するたびに出す信号をレオナルドの13番pinで擬似表現します。13番pinはaruduino上のledが光ってくれて都合が良いのでそうしました。 次に上記のパルス信号をUNOの2番pinで受けます。attachInterrupt()を使うことで信号を受ける度に指定した関数を実行できます。   attachInterrupt()とI2Cとの相性悪い問題では結構はまりました。 相性問題の解決は下記のページを参考にしました。     いや〜助かります。 https://qiita.com/tomkimra/items/f8ebcc391ac87e6e2e5e 関数の外で volatile bool myFlag = false;//読み取り旗 を宣言して関数内の頭でtrueに設定しています。 あと関数外でvolatile付きで宣言しているのはメーターの針の角度情報を収める変数(仮称 volatile int myKakudo = 0) 。この外にある変数をメーター表示用のプログラムで参照しています。私はloop()内のプログラムから参照しました。   arduino2番pinで受けて実行された関数ではmillis()をつかってarduinoの起動時からの時間をミリ秒単位で参照してゴニョゴニョしています。マイクロ秒を使わないのはオーバーフローまでの時間が短いのを嫌った為です。   コンパクト自動車でのザックリとした回転数を目安にしたいだけのなんちゃってタコメータです 。高い回転まで目盛りを刻んでも寂しいだけでしょうから5000RPMまでの目盛りとしました。いや、本当は私のプログラムでは処理が追いつかないのか高回転域で針が乱れます(笑)。針は回転数に応じて目盛り以上に移動する仕様です。   ...

買ってしまった。。。

イメージ
    あれ?また本屋さんの棚に出てきた。まったく、一度はスルーしたはずの本なのだが、このところの仕事しごとのストレスをいなしたかったのか?気づいたら手にしていた。さすがスペシャル、値段もイイわ~。難しい部分はとばして読み。  これでもうすこしマイコンで遊べるようになるかな?

StringだったりCharだったり

やっとこ実験成功。16進数の0x3e(例)とかいうテキスト型の数字を数値化するという問題をやっとこ理解することに成功ですな~。まーまだ実験ですがね。 String型の"0x"と乱数から16進数へたどりついた、例えば"3e"を連結。その後Char型に変換して"0x3e"という文字列ができる。これをsscanf()で数値化する。これでやっと仕込みができた感じになる。できたものをDFPlayerMiniに渡す。お~イイ感じ。 あー4桁対応させなきゃならないのか。楽しいことはまだ続く 。

シャッフル検証中

イメージ
arduinoで配列の要素数を100個用意してシャッフル。同じシャッフル内容が出ないか監視してみる。pin0でrandomSeed()ってやつを設定する。よくわからないけれど、乱数が文字通りの乱れっぷりになるらしい。このなにもつながっていないpin0がいい具合に乱れているらしい。これがいつも同じ定数だと乱数の内容も毎回同じになり、結果シャッフルの内容も毎回同じになるという理屈らしい。 シャッフルの内容はイイ感じでシャッフルしている感じ。さてと配列のシャッフル機能はとりあえずここまでとして。え~16進数に移りますかね。arduinoって16進数の変換機能ってあるのかしら?あC言語か?

やっとこのシャッフル

イメージ
やっとこシャッフルが完成したのかも。loopの頭にシャッフルの関数を置いています。Cでのシャッフルははじめてです。JavaScriptと同じだろうよ!となめていましたがちょっとめんどかった。要素数が10個なら問題なさそう。各アクセスごとに違う順番になっております。これが数千という単位ならどうなんでしょうね?プログラムで2.5Kのメモリー消費です。 この時点でAttiny10aを使う夢は消えました。