0

Python – pySerialを使ってみた

昨日の研究会前、なんとなく欝だったのでcygwinにPythonをインストールしてみた。

PythonでもpySerialというモジュールでシリアル通信ができる。

これを使ってCOM1から受信して、それをテキストファイルに書き出そうと頑張ったが無理だった。→ソースコード

受信して、コンソールにprintはできる。テキストファイルにも書き出しているが、プログラムを終了させるまでファイルにロックが掛かってしまう。しかも[Ctrl+C]で終了させた時にシリアルポートがclose()されないらしく、毎度TeraTermでCOM1を開いて閉じる事でシリアルポートを閉じて解決している現状。

atexitでプログラム終了時に閉じようとしているんだけど解決できない。もしかしたらclose()できない事が原因じゃ無いのかもしれない。

あと、ファイル頭に

# -*- coding:shift_jis -*-

を付けないと日本語のコメントが化ける。

*参考サイト

CubeLab: pySerial

Python 標準ドキュメント

日本Pythonユーザ会

ニシキヘビを飼おう Python入門

[Python-ml-jp 2672] Re: 日本語のコメントを記述するには?

専門コア情報処理演習: ファイル入出力

Python おもちゃばこ (仮称)

0

DDRのマットをhack

プレステ1のダンスダンスレボリューション専用コントローラを改造して、PCに接続した。

DSC06150.JPG

HARDOFFで1000円で買ってきたマット。さっそく裏蓋を外した

DSC06139.JPG

DDRコントローラーの基盤。マット側は8ボタンで、基盤とマットが9本のラインで繋がれていた

DSC06143.JPG

のでとりあえずブレッドボードに接続。踏むとLEDが光る。

DSC06144.JPG

どうやら普通のフットスイッチみたいな感じなので、DDRコントローラー→RS232Cの変換基盤をATtiny2313作った。 ソースコード

DSC06151.JPG

tiny2313の内蔵クロックに個体差がある事を忘れていて結構てこずった。

そういえばコントローラの基盤側、残しておけばプレステコントローラを自作できたんだけど

DSC06141.JPG

切っちゃった

動作にもまだ問題がある。下ボタン押下が認識されない、左と×が同じに認識される、など。

4

サンマ焼き機

@nifty:デイリーポータルZ:サンマの感電クッキングを見たよしむさんが考案した。

そしてついカッとなって設計した。

fish_robustnessDiagram.jpg
装置とのインタラクションは自由にデザインして下さい。

100Vの電流をリレーで制御、しばらく焼いたらATmega8のA/Dコンバータでサンマの抵抗値を測る。まだ焼けてなかったらまた100V。

DSC06111.JPG

サンマを可変抵抗と捉える所がポイント。サンマ越しとはいえ、マイコンに100V行かないように注意が必要。

中級テク工房のネタとして良いかもしれない。

ネットワーク越しに焼くとかにすれば、UART、リレー、アナログ入力を使った立派な中級卒業課題になりうる。

0

デザ言DでBasicStamp

ParallaxBasicStamp2を水曜3限のデザ言Dで使った。PIC16C57と、3端子レギュレータやRS232Cレベル変換ICも乗っていて使いやすいけど高価なマイコン。大学の授業で使うにはぴったりだと思う。

BasicStampEditorを使うとシリアルポート経由でコーディング、コンパイル、ライティングができる。当然USB-シリアル変換ケーブルに対応している。

授業一回目でいきなりLEDを点滅させる所まで行った。点滅間隔が少しずつ短くなる。

DSC06088.JPG

ソースコード動画

BasicStampなのでPBASICで書かないとならないのだが、よく考えたらPhysicalComputingがまるごとサンプルになる事に気付いた。完璧すぎる。

3

AVRライターまとめ

またライター作った。今回作ったのはAVR910という種類のライター。

黙ってAVRISP買えという事がproofされた。

DSC06079.JPG

USBで動く。だがこれもライター側ファームのソースコード読んだらmega/tinyシリーズのほとんどに対応してなかった。というか2000年の時点でファームの更新が止まっているし、avrfreaksに置いてあるファームよりもここのファームのがバージョン高いのはどういう事だ

ライターを選ぶ基準は4つある。

1.tiny/megaシリーズへの対応度

  →90Sシリーズは生産終了になっている為

2.USB-シリアル変換ケーブルに対応しているか

  →ノートPCには普通、シリアルポートは無い

3.価格

  →1万円超えるものばかり

4.フューズビット書き換え

  →しょっちゅう使うわけではないが、あった方が良い

■ライター

秋月ライター

USB対応不完全。mega/tinyシリーズ未対応。UNIX系でも使える。去年の夏はお世話になった

江藤さんライター去年のORFから先学期末にかけてお世話になった

秋月ライターのISP版。なのでUSB対応不完全。mega/tinyシリーズ未対応。

ELMライター

300円で作れる。最強のライター。全てのマイコンに対応している。書き込み速度がクソ速い。フューズビットも書き換えできる。しかしavrsp(制御ソフト)がシリアルポートのアドレス直叩きしているのでUSB-シリアル変換に対応していない。Windows専用。春休み入った頃からお世話になってます

EZ-USB版ELMライター

試してない

STK500

ATMEL純正。USB-シリアル変換対応。avrdudeが動くのでMacも対応。ただ高い。

STK200

ATMEL純正。プリンタポートだから駄目

AVR910

USB-シリアル変換対応。mega/tiny未対応。

AVRISP

ATMEL純正。5000円。USB-シリアル変換対応。tiny/megaは大体対応(tiny2313未対応、mega8は対応してるのでそれで十分)avrdude使えば多分Macでも使える。フューズビット書き換えができない。

■まとめ

・Windows機でシリアルポートあるならELM、無いならAVRISP。

・もうMac対応とか言ってらんない。avrdudeが対応してるライターなら大丈夫なんじゃないの?