.. Study Template ver0.2. Last builde is 2012.12.17. CopyRight 2012 - 2012 Yuta Kitagami. License is http://creativecommons.org/licenses/by-sa/2.1/jp ======================================================= Arduino + Python Hacking 第1回 ======================================================= 1.概要 ************************************************** 東京、秋葉原で開催しますPythonとArduinoを使った勉強会です。 基本的には、Pythonを使ってソフト的にハードウェアを制御していく勉強会です。 なので、ハードウェアの知識は元より、ソフトウェアの知識も特に必要ありません。 本勉強会はソフトウェア開発(Python)の開発に重点を置きます。 ハードウェアとPythonの相性について最高だと発表して来たが、実際にその相性の良さを体感して頂く為に、 Arduinoを使ってPythonとハードウェアの勉強会を開催する。 今回はArduinoでフルカラーLEDの制御関数を作成し、Pythonから色情報を送信する仕組みを作る。 基本的な動作は、PythonのPysirialと言うシリアル通信用ライブラリを使い、Arduinoの内部関数を制御する。 http://connpass.com/event/1107/ 2.開催日 ************************************************** .. csv-table:: :header: "日付", "場所", "内容", "必要な物", "参加費用","参加人数" :widths: 10, 10, 10, 10 , 10 , 10 "2012年10月21日", "秋葉原CERO", "PythonでフルカラーLED制御", "PC,Arduino,USBケーブル","1500円","12人" 3.内容 ************************************************** (1)最初のインストール ------------------------------------------ 以下のサイトにまとめました。 http://kitagami.org/Study/arduinopy_install.html (2)Arduino側の開発 (ブレットボード配線) ------------------------------------------ 以下の図にフルカラーLED制御用の配線図及び回路図を示す。 .. image:: FullLED.jpg :scale: 25% (3) Arduino側の開発 (ファームウェア開発) ------------------------------------------ 以下にArduinoをPythonで扱う為の処理とLEDを制御する処理を組み合わせたソースを記述する。 また、全ソース及びプロジェクトファイルはここに示す。 ・ 全ソース C .. literalinclude:: FULL_LED_PYTHON.c :language: c :linenos: ・ 全ソース H .. literalinclude:: Arduino_python.h :language: c :linenos: また、開発したファームウェアには以下の機能があり、この表に従いPythonの開発を行う。 .. csv-table:: :header: "コマンド", "値(範囲)", "内容", "戻り値", "備考" :widths: 10, 20, 20, 20 , 20 "RED", "0〜255", "赤色の光の強さを調整", "なし","0が消灯で255が最大" "GREEN", "0〜255", "赤色の光の強さを調整", "なし","0が消灯で255が最大" "BLUE", "0〜255", "赤色の光の強さを調整", "なし","0が消灯で255が最大" (4) Python側の開発 ------------------------------------------ 以下にPython側のソースを記述する。 基本的にはPysirialを使って 「RED 128」 や 「GREEN 64」 と言った形で色を記述し制御する。 すると、Arduinoが自動的にRED,GREEN,BLUEのの三色を合成した色を出力する。 また、白を表現した際は三色共に255に設定すれば良い。 ・ 全ソース Python .. literalinclude:: Arduinopy_FULL_LED.py :linenos: 4.開場の様子 ************************************************** | .. image:: /Study/Arduinopy20121021/IMG_1113.JPG :width: 180px :height: 180px .. image:: /Study/Arduinopy20121021/IMG_1115.JPG :width: 180px :height: 180px .. image:: /Study/Arduinopy20121021/IMG_1117.JPG :width: 180px :height: 180px .. image:: /Study/Arduinopy20121021/IMG_1118.JPG :width: 180px :height: 180px .. image:: /Study/Arduinopy20121021/IMG_1119.JPG :width: 180px :height: 180px 5.次回スケジュール ************************************************** .. csv-table:: :header: "日付", "場所", "内容", "必要な物", "参加費用" :widths: 10, 20, 20, 20 , 20 "1月20日", "秋葉原CERO", "python-twitter", "PC,Arduino,USBケーブル","3000円" 次回は温度センサを使ってTwitterに投稿する物を作りますw 6.反省 ************************************************** 最後までお付き合い有難うございます。 初めての勉強会で不手際も御座いましたが、何と12人の方に御参加頂き大変ありがたく思います。 今回、初めて大々的な勉強会を自身で主催しまして、色々直したい点が有ったのでちょっとまとめてみます。 * Python系勉強会だとOSが色とりどりになる。 一応、Macが一番多いがWindowsもLinuxも結構いる感じ。むしろWinが少ない感じでとても新鮮でよかった。 ただ、色んなOSに説明を対応させるには色々テクが必要だなと勉強になりました。 * インストールが思った以上に大変であった。 大半のインストールは説明が殆どWEBからのダウンロードで済むから行けるだろうと思ったが、 10何人も集まるとWiFi回線が飽和し思うように進まなかった。    次回は事前にインストールをお願いするのと、予備でUSBにWin,Mac,Linuxのインストールパッケージを準備して置こうと思った。 * 予想外の問題は必ず起こる。 事前にインストール手順や開発手順を熟知した気持ちで居たが、イレギュラーは必ず起きるんだと思った。 特にドライバー関連の問題が発生し、似た様な環境でもうまく行く人うまく行かない人が出て頭を悩ませた。 多分この手の解決法は見つからないと思うが、もし発生した場合は落ち着いて対処し、別の作業を御願いするか判断する。 以上の点を次回に行かせればと思います。 7.参考資料 ************************************************** 準備中 8.管理情報 ************************************************** :作成者: 北神 雄太 :Twitter: @nonNoise :開催日: 2012/10/21 :作成日: 2012/12/17 :分類: Arduino,Python :提供: ArtifactNoise http://ArtifactNoise.com .. toctree:: :maxdepth: 2 .. raw:: html クリエイティブ・コモンズ・ライセンス