arduino自作(2) ATmega168Pを使う

Arduino Unoに使われているマイコンはATmega328Pだが、これをATmega168Pに入れ替えて使ってみる。

フラッシュメモリの容量以外にも、ブートローダーやフューズビットの設定が必要になった。

 

必要なもの
  • AVRライタ 今回はAVRISP mkⅡを使用
  • AtmelStudio
  • Arduino化したいmega168P
  • Arduino周辺パーツ 水晶発振子、抵抗、コンデンサ、USB-シリアル変換器など前回参照

 

参考にしたページ

Arduino/Arduino の自作/ブートローダを仕込む

http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduino%20%A4%CE%BC%AB%BA%EE%2F%A5%D6%A1%BC%A5%C8%A5%ED%A1%BC%A5%C0%A4%F2%BB%C5%B9%FE%A4%E0

Arduino

http://robo.mydns.jp/Lecture/index.php?Arduino

 

フューズビットの設定

ATmega168PとAVRISP mkⅡを接続しておく。外部電源の供給が必要なので、USB-シリアル変換器から5Vを拝借しておいた。

AtmelStudioを起動し、Device Programmingを開く(下記画像赤丸)

f:id:takanami24:20200614173721p:plain

 Fusesメニューより拡張・上位・下位フューズを以下のように設定する。

  • EXTENDED = 0xF8
  • HIGH = 0xD7
  • LOW = 0xFF

 

ブートローダーの書き込み

MenoriesメニューよりFlashに C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\atmega内のATmegaBOOT_168_diecimila.hexを書き込む。

 

スケッチの書き込み

Arduino IDEよりツール>ボード>Arduino Duemillanove or Diecimilaを選択する。

ツール>プロセッサ>ATmega168を選択

あとは確認のためにBlinkスケッチを書き込んで動作を確認した。

 

動作確認はできて不満はないのだが、フラッシュメモリ16KB中2KBをブートローダーで使うことになってしまうので、使える容量が16KB-2KB=14KBになる。

optibootを使えば512Bに収まるらしいので、使ってみてから容量が足りないようであればoptibootを導入してみるか。

 

arduino自作 ブートローダー書き込みからスケッチ転送まで

はじめに

ちょっと電子工作で作りたいものがあるので、Arduino Uno 3を試しに使ってみた。

https://www.switch-science.com/catalog/789/

ボード単体でLチカはできるし、ブレッドボードを足せばLCDや温度センサなんかも豊富なライブラリで簡単に動かせる。

画像

Arduino Uno R3 + 秋月16*2LCD + 空気質センサCCS811でCO2/VOC濃度を表示させる

 

しかし、組み込みで使うとなると基板の大きさは小さい方がいいし、いちいちボードを買い足すのは面倒くさいしカネがかかる。

そこで、手元にあったATmega328PとUSBシリアル変換器(秋月AE-FT231X)を使ってArduinoを自作することにした。

ブートローダーの書き込み

買ってきたばかりのマイコンはまっさらなので、Arduinoのスケッチを書き込むための下地であるブートローダーを書き込む必要がある。

今回はArduinoブートローダー書き込み機として使い、ブートローダーを書き込んでみた。

参考にしたページ

壊れたArduinoを修理!ブートローダーの書き換えでArduinoを修理する方法

https://voltechno.com/blog/arduino-bootloader/

Arduino as ISP and Arduino Bootloaders(英語)

https://www.arduino.cc/en/Tutorial/ArduinoISP

From Arduino to a Microcontroller on a Breadboard(英語)

https://www.arduino.cc/en/Tutorial/ArduinoISP

 

何はともあれブレッドボード上のマイコンArduinoと接続する。

追加で7pin(VCC)-8pin(GND)間に0.1uFのコンデンサを接続している。

それと大事なのが、書き込み用ArduinoのRESET-GND間に10uFの電解コンデンサを接続すること!

公式サイトに書いてあるのに図に示されていなくて散々苦労した…

 

ArduinoIDEを起動し、ファイル>スケッチ例>11.ArduinoISP>ArduinoISPを開く

f:id:takanami24:20200611215452p:plain

ツール>書き込み装置>Arduino as ISPを選択する

ツール>ブートローダーを書き込むを選択し、しばらくして「ブートローダーの書き込みが完了しました。」というメッセージが出たらOK。

 

 

スケッチの書き込み

次はArduinoを動かすスケッチファイルを書き込む。

ここではスケッチ例のBlinkを使ってLEDが1秒毎に点滅するようにする。

参考にしたページ

05. Arduino互換基板を作ろう > 101. 自作Arduino互換回路(ブレッドボード版)

https://sites.google.com/a/gclue.jp/fab-zang-docs/dian-zi-hui-lu/zi-zuoarduino-hu-huan-hui-lu

とにかく部品を配置して配線!配線!

マイコンとUSBシリアル変換器のTXD/RXDを互い違いに接続すること、LEDの極性を間違えないことに注意すれば大丈夫だと思います。

USBシリアル変換器は何でもいいと思います。多分。私はFTDI社のチップが乗ったものを使いました。

f:id:takanami24:20200611221647p:plain

▲部品実装図 右側の黄色テープ下に赤色LEDが設置してある。シリアル通信監視用にTXD/RXD端子にLEDと470Ω抵抗をそれぞれ配置した。

 

いよいよスケッチの書き込み。

ArduinoIDEを起動し、ファイル>スケッチ例>01.Basics>Blinkを開く。

ツール>ボード>Arduino Unoを選択する。(他の設定だとスケッチが書き込めなかった。)

シリアルポートはデバイスマネージャーを参照して使うポートに設定しておくこと。

スケッチ>マイコンボードに書き込むを選択してしばらく待つと、接続したLEDが点滅するはずです。

 

以上、お疲れ様でした。

次はATmega168PをArduinoで使ってみようかと思います。

 

 

3/7 神戸~姫路~相生~日生 カキを食べに行くツーリングは最高だった!

今年は暖冬で暖かいとはといえども、そろそろ冬も終わり…

しかも、今年はまだカキを食べていない!

ということで、神戸から西の方に自転車でカキを食べに行ってきました。

 

神戸駅輪行解除して、8時ちょうどに出発!

f:id:takanami24:20200310221945j:plain

 

国道2号線をどんどん西へ進んで、須磨と塩屋の間で神戸線をオーバーパスする。

f:id:takanami24:20200310222128j:plain

うん、いい天気だ!

須磨から明石の風景はいつ走っても楽しいし飽きない。

f:id:takanami24:20200310222139j:plain

 

明石海峡大橋の本州側の舞子公園でちょっと休憩をとりつつ、写真をとる。

f:id:takanami24:20200310222207j:plain

 

もうちょい右から撮ったら、橋脚が穴の真ん中に入ったのにな。

でも問題なし!

f:id:takanami24:20200310222225j:plain

 

明石海峡大橋の海側も大好きなんだけど、陸側もなかなか見応えがある。

f:id:takanami24:20200310222237j:plain

こんな感じで、コンクリートの塊がどーん!とそびえていて、重量感たっぷり。

(実は最近気づいた)

f:id:takanami24:20200310222812j:plain

 

えっちらおっちら県道718号線を姫路方面へ走り、国道250号線を海沿い方面へ。

道の駅みつに到着!

晴天の下の穏やかな海面にカキのいかだが浮かんでいるのがなんとも瀬戸内海っぽい。

f:id:takanami24:20200310223218j:plain

 

ここで昼食にしようと思っていたんだけど、休みだから人が多い…

空腹を抱えたまま走るリスクはあるけれど、もう少し空いているところを探しに相生方面へ走る。

 

なおも広がる瀬戸内ブルー。

f:id:takanami24:20200310223537j:plain

 

見よ!この青さを!

f:id:takanami24:20200310223547j:plain

 

ちょっと走って道沿いに海鮮料理を出してくれるお店「海鮮料理 みやざき」があったので入る。

お腹がぺこぺこだったので、カキフライ定食を注文する。

f:id:takanami24:20200310223755j:plain

運ばれてきたカキフライを見てめっちゃ驚いた。

特大のカキが5つも乗っている…

しかも全部プリプリの揚げたてアツアツでめっちゃ美味しいんじゃあ~!

カキはあっさりしてるから

f:id:takanami24:20200310223804j:plain

 

カキフライを食べ終えて、なおも海沿いを走る。

f:id:takanami24:20200310224500j:plain

 

相生から2時間弱走って日生に到着。

 

備前♥日生大橋

公募で橋の名前を決めたのでハートが入ったそうな。

f:id:takanami24:20200310224546j:plain

海に浮かぶはカキいかだ。

f:id:takanami24:20200310224535j:plain

f:id:takanami24:20200310224556j:plain

ちょっと天気が曇りがちだけど、やっぱ海沿いは最高だ。

f:id:takanami24:20200310224607j:plain

 

みなとの見える丘公園。

10%弱の坂が1kmくらい続くけど、上るのは楽しい。

f:id:takanami24:20200310225019j:plain

ちょうど小豆島からのフェリーが港にはいってきてる。

こう見ると瀬戸内海って川みたいだな。

f:id:takanami24:20200310225030j:plain

 

ヒルクライムの後は、楽しみにしていたカキオコを食べる!

日生はお好み焼きにカキが入ったカキオコが冬限定のメニューで、お店がいくつかある。

とりあえず裏通りに入り、目についたお店「お好み焼き まるみ」に入ってカキオコを注文する。

f:id:takanami24:20200310225613j:plain

卵が多めに入ったお好み焼きにプリプリのカキが10個ぐらいゴロゴロ入っている。

カキが多くて飽きるかと思ったけど、青ネギと紅生姜がいい感じに口の中をリセットしてくれる。とりあえずと思って並を頼んだけれど、どうせならカキ大盛りか特盛を頼めばよかった…ちょっと後悔。

食べ終えて店を出ると雨が降ってきたので、日生駅から輪行で帰宅しました。

 

今シーズンはもう一回くらいカキを食べに行きたいと思えるような美味しさでした。

 

pythonで乱数表示

pythonで0.0~1.0の乱数を100個/2系列生成し、100枚のpng画像として出力するプログラムを書いてみた。

#!/usr/bin/python
# coding: UTF-8
import numpy as np
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

#plot 2 random series in a figure
#save plot as 100 figures
for i in range(100):

	plt.figure()
	plt.scatter(np.random.rand(100), np.random.rand(100), color = "c", label = "random 1")
	plt.scatter(np.random.rand(100), np.random.rand(100), color = "m", label = "random 2")
	plt.grid()
	plt.savefig("_fig_{0}.png".format(i))
	
	pass

出力結果

f:id:takanami24:20190129224203p:plain
result

for文使うのをやめたらもっと早く出力できるのにな。
最初plt.figure()を記述していなくてプロットがどんどん積み重なってしまった。
plt.figure()で新規描画。これ大事。
ついでにplt.legend(loc ="upper right")で凡例を右上につけておきましょう。

f:id:takanami24:20190129224904p:plain

ZOZOTOWN社長 前澤友作氏 総額1億円お年玉プレゼントの話

2019年の年明けから、Twitter界隈はこの話題で盛り上がっている。

https://twitter.com/yousuck2020/status/1081544630754103296

なんと、前澤社長のアカウントをフォローして上記のツイートをRTすると100万円が抽選100人に当たるというものだ。

なんとなんと、お年玉は社長の自腹らしい。

年明けからアルファツイッタラーがこぞってこの話題を取り上げ、終いには100万円あったらやりたいことがタイムラインに流れてきた。

自分はフォローもRTもしていないが(しろよ)、なぜ前澤社長はこんなことをしているのだろうか。

  • Twitterのフォロワーを増やしたい。
  • 世の中にタダで金がほしい人間がどれだけいるか知りたい。
  • 1億円でZOZOTOWNの広告を打ちたい。

などなど、他にもいろいろあるだろう。

この中でも、1億円でZOZOTOWNの広告を打つ説が有力なのではないか。

服飾業界は流行に流されやすく、Eコマースの観点から見ると、Amazon楽天、その他ファッション業界競合他社との熾烈な競争があるからこそ、コストパフォーマンスが高い広告手段が必要だし、現時点で目標は達成できているのではないだろうか。

You TubeTwitterのオマケで流れてくる広告とは違い、ZOZOTOWN自体がいい意味で話題になっている状況は本当に『めったにないこと』だと思っている。

実際にメディアに依頼した場合の広告費をざっくり調べてみた。

  • Twitter 24時間で420万円~ (日本の場合)
  • YouTube 10円~/再生
  • JR東日本首都圏全線 中吊りポスター 7日間 2400万円(ワイド)
  • テレビCM 75万円~(日本テレビ スポット15秒/本)

こう考えると、1億円という数字はそんなに高くないと思った。

 

 個人的には、前澤社長は月に行きたいと豪語しているので応援したいところだ。

Flucrum Racing 5 LG グリスアップやってみた

普段遣いのレーシング5のフリーのラチェット音が大きくなってきたのでグリスアップをした。以前グリスを補充したのだけれど足りなくなったようだ。

購入してからおそらく10,000kmは走っていると思うので、そりゃグリスもヘタるはずだよな。

f:id:takanami24:20181118132844j:plain

用意したもの

スプロケリムーバー

・17mmレンチ

・5mmアーレンキー

・パーツクリーナー

シマノ プレミアムグリス

・汎用?グリス(フリーボディーに塗る用)

f:id:takanami24:20181118132517j:plain

まずはホイールを取り外して

f:id:takanami24:20181118132824j:plain

クイックレバーを抜いてスプロケを取り外します。

 

f:id:takanami24:20181118132932j:plain

次はアーレンキーとスパナを使ってフリーボディーを止めているナットを取り外します。このナットは逆ネジになっているので注意してください。

f:id:takanami24:20181118133057j:plain

フリーボディーを抜くとラチェット部分の外筒が見えます。

f:id:takanami24:20181118133103j:plain

フリーボディーはこうなっています。クランクを回転させると3本の爪がラチェット外筒のギザギザに引っかかることでトルクを伝えています。反対にクランクの回転を止めると爪が寝て空転するようになっていますね。

f:id:takanami24:20181118140748j:plain

古いグリスを除去するために、まずはウエスを大量に使ってとにかくグリスを拭き取ります。ウエスは大量の古着を刻んで作ったので惜しみません。その後パーツクリーナーで最後のベタつきを取り除きます。写真には写っていませんが、フリーの爪とスプリングも取り外して清掃します。

f:id:takanami24:20181118142917j:plain

ハブ側も同様にグリスを取り除きます。軸受用のベアリングが中に入っているのでパーツクリーナーは吹き付けず、古いグリスをとにかく拭き取りました。その後新しいグリスを充填します。充填量は結構多めにしました。(一度組み上げたところグリスが少なく、爪周りにグリスが回っていませんでした。)

分解と逆の手順で組み上げて完成です。ついでにスプロケもバラして清掃し、フリーボディーにグリスを塗って組み上げます。

グリスアップ後はあからさまにラチェット音が目立つことはなくなりましたが、やはりシマノのR500等と比べると音が大きい気がします。

やはりフルクラムは音が大きい傾向にあるのか…