サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.pwv.co.jp/~take
2013/12/14からのアクセス回数 26791 SPIインタフェースを持つ、12-bit DAC(デジタル・アナログ変換)MCP4922を使ってみます。 *1 MCP4922の使い方 † DAコンバータ MCP4922を利用しD/A変換を行う の例題を実際にArduinoで動かしながら、動作を確認していきます(ほとんど物まねですみません)。 MCP4922のSPIインタフェースでは、12-bitのデジタル信号の他に、bit12から15 に制御用のデータを追加しています。 bit15: A/B アナログを出力するチャンネルAorBを指定します。 0:チャンネルA(OUTA) 1:チャンネルB(OUTB) bit14: BUF VREFの入力でバッファ制御を行うかの指示をします。 0:バッファ制御をしない 1:バッファ制御をする bit13: GA 出力するゲインを選択します。 0:2x
2015/11/03からのアクセス回数 16827 注意! ESP8266を単体で使うと、初期に書き込まれているプログラムを上書きし、ATコマンドが使えなくなります。 WiFiを使う場合には、ESP8266のWiFi用APIを使用することになります。 ESP8266の使い方 † ESP-WROOM-02に搭載されているESP8266は、単体としてもArduinoと同じように 使えることが以下のサイトに紹介されていました。 技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法 これに習って開発環境を整えてみます。 ↑ ArduinoIDEを整備 † esp8266をArduinoIDEで開発できるようにコミュニティが活動されています。 https://github.com/esp8266/Arduino esp8266
2012/12/16からのアクセス回数 6651 Raspberry PiでJuliusを使って音声認識をしたいと思っているので、その結果を 音声合成を使って出力するものを探していたところ、以下のページが見つかりました。 Open JTalkで音声合成 音声合成ソフト † Raspberry Piで動くか心配でしたが、試しにhts_engine, Open-Jtalkをインストールしてみました。 手順は、 Open JTalkで音声合成 に従って行いました。 ↑ hts_engine APIのインストール † 以下のページから最新のhts_engine APIをダウンロードしました。 http://sourceforge.net/projects/hts-engine/ 私のダウロードしたものは、hts_engine_API-1.06.tar.gz です。 いつもの通り~/Download
2015/10/25からのアクセス回数 10327 お手軽IoTモジュールESP-WROOM-02 † 秋月で550円で購入できるWiFIモジュール ESP-WROOM-02*1は、 それ単体でもArduinoとして利用でき、アナログデータをサーバに送信することができます。 初めて使う時には、Wi-Fiモジュール ESP-WROOM-02 DIP化キット(K-09758) を使うか、スイッチサイエンスのESP-WROOM-02ピッチ変換済みモジュール《シンプル版》 (ボードのみ 162円) を使うと便利です。 ↑ Arduinoで始めるWiFiモジュール † 今回参考にしたサイトは、技適済みWi-Fiモジュール「ESP8266」で始めるIoT入門(ブレイクアウトボード実装編)です。 http://tech-blog.cerevo.com/archives/859/ 今回は、ESP-WROO
2013/05/12からのアクセス回数 28615 通勤時間を利用してManningのArduino in Actionを読み終わったので、その紹介と日本では入手困難な 部品の代替方法を説明します。 Arduino in Action は分かりやすく書かれたArduinoの教材です。 *1 ここでは、3章と6章の紹介ですが、その他は、以下の記事で紹介しています。 Arduino/ArduinoInAction.Chap5 モータ制御 Arduino/ArduinoInAction.Chap7 LCDを使う Arduino/ArduinoInAction.Chap8 イーサネット接続 3章 入力と出力 † 著者のJordan Hochenbaumさんが、Arduinoを使った新しい音楽楽器を作る研究をされているため、 所々に音を使った例が挿入されています。 ↑ アナログ入力 † Arduin
Site admin: anonymous PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.1.6. HTML convert time: 0.002 sec.
2013/01/13からのアクセス回数 38264 Debian系のRasbianは豊富なLinuxパッケージを揃えています。今回はOpenCVの顔認識をWebカメラで捉えた 動画に対して使ってみました。 今回使用したWebカメラは、ELECOM Webカメラ 130万画素 マイク内蔵 イヤホンマイク付属 HD対応 ホワイト UCAM-DLN130TWHで、1000円程度で購入できます。 RaspberryPiの良いところは、WebカメラやUSB-Wifiと言った高機能の民生品が安価に使えることです。 OpenCVのインストール † OpenCVのインストールは至って簡単です。 Terminalから以下のコマンドを入力します。 $ sudo apt-get install libopencv-dev ↑ テスト用のプログラムの作成 † 今回は、詳解OpenCVの2章の例題2を拡張し、顔認識
2013/01/13からのアクセス回数 38268 Debian系のRasbianは豊富なLinuxパッケージを揃えています。今回はOpenCVの顔認識をWebカメラで捉えた 動画に対して使ってみました。 今回使用したWebカメラは、ELECOM Webカメラ 130万画素 マイク内蔵 イヤホンマイク付属 HD対応 ホワイト UCAM-DLN130TWHで、1000円程度で購入できます。 RaspberryPiの良いところは、WebカメラやUSB-Wifiと言った高機能の民生品が安価に使えることです。 OpenCVのインストール † OpenCVのインストールは至って簡単です。 Terminalから以下のコマンドを入力します。 $ sudo apt-get install libopencv-dev ↑ テスト用のプログラムの作成 † 今回は、詳解OpenCVの2章の例題2を拡張し、顔認識
ブレッドボードでの配置 † 最初に、3.3Vに接続してLEDが正常に点灯することを確認します。 抵抗は220Ωから1KΩの間と説明されていたので、手持ちの330Ωを使いました。 LEDの極性は、線の長い方がアノードになっています。 短いカソードを抵抗とつなげ、アノードに3.3V(IOピンの左上)を接続、青のグラウンド線をGND(IOピンの右上から3番目)に接続します。 ↑ WiringPiのインストール † RaspberryPiのIOを制御するためのライブラリWiringPiと制御コマンドgpioを Gordons Projects が公開しています。 LEDと抵抗の結線が正しくできていることが確認できたら、WiringPiのライブラリをインストールします。 最新のWiringPiは、gitを使っての配布に変わったので、git-coreをインストールします。 $ sudo apt-get
2012/11/04からのアクセス回数 10056 準備するもの † 8月には届いたのですが、引越のため動かすのが遅くなってしまいました。 Interface2012年12月号でも特集されていますが、ネタ本はPragmaticのRaspberry Pi, A Quick-Start Guideではないかと推測しています。 RSのホームページによると、10月15日以降発送のRaspberryPiは、メモリが256MBから512MBに増えるそうです。 私は、本体と透明ケースを購入しました。 Raspberry Piに載せるOSは、SDカードに書き込むため最低でも以下の機器が必要があります。 USBキーボード(X-Windowをインストールしたらマウスも必要) SDカード(4GB以上) HDMIコネクターを持つテレビとHDMIケーブル(HDMIがない場合には、アナログのビデオコネクターも使えます
2012/11/11からのアクセス回数 40464 Raspberry PiのSPI接続を試す † センサーのインタフェースには、RS232Cのシリアル通信を使ったものや先に接続を確認したI2Cの他に、 高速な通信をサポートするSPI接続があります。 今回は、Raspberry Piのドライバーを使ってSPIデバイスと接続する方法をArduinoを使いながら説明します。 ↑ ArduinoとのSPI接続を試す † 液晶ディスプレイやデジタル・シリアル変換(DAC)などは、RS232CやI2C以上に高速な通信を必要とします。 そこで、Raspberry PiのSPIドライバーを使ってArduinoと接続することで、SPI接続の手順を確認してみます。 SPIと言ってもこれまで接続したことがないデバイスとつなぐのも大変ですし、いきなりカラー液晶と接続するのも無謀です。 そこで、Raspberry
wait関数 † mbed互換ライブラリにはwait_usしかありませんが、mbedのwait_api.hの関数をwait_api.cに実装しました。残念ながら、wait_usはnanosleepシステム関数を使った場合、TextLCDが正常に動作しなかったためビジーウェイトで実装しました。 wait_msの実装は以下のような感じです。 void wait_ms(int ms) { struct timespec sleeper, dummy ; sleeper.tv_sec = (time_t)(ms / 1000) ; sleeper.tv_nsec = (long)(ms % 1000) * 1000000 ; nanosleep (&sleeper, &dummy) ; } ↑ DigitalOutクラス † DigitalOutには、WiringPiのライブラリを使用したので、と
2009/12/02からのアクセス回数 21935 ここで紹介したSageワークシートは、以下のURLからダウンロードできます。 http://sage.math.canterbury.ac.nz/home/pub/89/ また、Sageのサーバを公開しているサイト(http://sage.math.canterbury.ac.nz/ 、http://www.sagenb.org/)にユーザIDを作成することで、ダウンロードしたワークシートを アップロードし、実行したり、変更していろいろ動きを試すことができます。 sageとは † sageは、mathematicaのような数式処理を行うオープンソースのソフトウェアです。Maxima, R等の既存のオープンソースパッケージをPythonをベースとしたインタフェースで結合し、ブラウザー(firefox)から簡単に操作できるノートブックを提供し
2011/06/29からのアクセス回数 9062 ここで紹介したSageワークシートは、以下のURLからダウンロードできます。 http://sage.math.canterbury.ac.nz/home/pub/108/ また、Sageのサーバを公開しているサイト(http://sage.math.canterbury.ac.nz/ 、http://www.sagenb.org/)にユーザIDを作成することで、ダウンロードしたワークシートを アップロードし、実行したり、変更していろいろ動きを試すことができます。 第9章-混合ガウス分布のEMアルゴリズムをSageで試す † 混合ガウス分布の最尤推定問題をEMアルゴリズムで解いてみます。 ここで紹介するのは、PRMLの図9.8、 です。反復を繰り返して収束する様子がよく分かります。 ↑ テストデータ † テストデータには、Old Faith
2011/07/31からのアクセス回数 15041 テーブルビューの表示 † titanium/はじめの一歩の次は、よく使うテーブルビューを表示することにします。 テーブルには、体重と測定日付を表示することにします。 何事もものまねからはじまります。 Titanium Mobileで作る! iPhone/Androidアプリ第2回 から、TableViewの表示部分を参考にtable_view.jsを作成します。 最初にテストデータをセットします。 table_view.js(先頭のデータセット部分) var records = [{ weight: 60.3, at: new Date('Jul 25 2011')}, { weight: 62.5, at: new Date('Jul 26 2011') }]; TableViewの作成は以下のようになります。 var win = Ti
2011/08/19からのアクセス回数 7541 はじめに † はじめてTitanium mobileを使った時に、画面の作成をすべてjavaScriptで記述するのに、 驚きました。 しかし、GUIの設定をすべてコーディングすることによって、簡単に画面を使い回すことが できることが分かりました。 ここでは、Interface BuilderとTitanium mobileの連携方法を紹介し、面倒な画面設計を 簡単にしてみましょう。 ↑ Xib2JSのインストール † ここで使用するツールは、Interface BuilderのGUI設定ファイルであるXibファイルを javascriptに変換してくれるXib2JSです。 Frog on Mobile のサイトからxib2js130.zipをダウンロードします。 また、Xib2JSを使用するには、AdobeのAIR も合わせてインストール
テストスクリプトの設定 † Automationのテストは、javascriptで記述したスクリプトに沿って行われます。 Scriptのタグで使用するスクリプトをセットします。ここではautomation_test.jsをセットします。 ↑ 最初のスクリプト † 最初に、ログの出力と部品の構成を出力するスクリプトを実行します。 UIALogger.logStart("Starting Test"); UIALogger.logStart("Logging Tab1 element tree …"); UIATarget.localTarget().logElementTree(); UIALogger.logPass(); UIALogger.logStartでロググループの開始をログ出力 logElementTreeで部品の構成を表示 UIALogger.logPassでグループの処理の
2011/08/08からのアクセス回数 7932 Projectファイルの再作成 † Android SDKをインストールする前に作成したTitaniumのプロジェクトは、 Resoruceファイル以下をバックアップして、作り直す必要があります。 ↑ iPhoneとAndroidの違い † TitaniumのAPIでデバイス依存するもの(「iOSのみ」と表記)を使用した場合、注意が必要です。 特に NavigationGroup TableViewRowの削除等のSwipeイベントに対応する機能 HTTPClient(実装が全く異なるためiPhoneとAndroidでの動作確認が必要) には、デバイス毎に対応する必要があります。 ↑ NavigationGroupの対応 † iPhoneでよく使われるナビゲーションバーの左右のボタンは、Androidではメニューで代用するため、 実装がこと
2011/07/31からのアクセス回数 7393 Titanium mobileを知って † 技評のWeb版で紹介されている Titanium Mobileで作る! iPhone/Androidアプリ ですが、Titanium Studioのフリー版でdebug機能も使えるようになったので、試してみることにしました。 *1 ↑ Titanium Studioのインストール † Titanium Studioのインストールは、 Get Started Guide に従ってインストールします。 Titanium Studioのダウンロードには、ユーザ登録が必要です! ↑ プロジェクトの作成 † Titanium Studioは、EclipseベースのAptanaStudioが元になっているため、Eclipseユーザなら同じような感覚でプログラミングができます。 File->New->Titan
はじめに † Amazonの協調フィルタリングで話題になった「集合知(collective intelligence)」ですが、 そこにはこれが正解というものはなく、仮説と検証のサイクルを何度も繰り返しながら新たな方式が 日々研究開発されています。 仮説と検証のサイクルでは、生のデータから分析可能なデータに加工する作業が幾度となく繰り返され その処理内容は様々です。このため、データ加工では短期間に適切なデータを作成するというハードな 業務です。 そんな時に役にたつのが、これからご紹介します UNIXのコマンドをパイプでつないで、データを加工する方法(パイプライン処理) シェルスクリプトを使って、パイプライン処理によりきめ細かな処理を追加する方法 です。 シェルには、sh, ksh, bash, csh, tcsh等いろいろな種類がありますが、ここではshを使って説明します。 *1 ↑ パイ
2011/07/31からのアクセス回数 8766 Titanium mobileの弱点 † 今回は、ものまねではなく、オリジナルの記事です。 Titanium mobileの弱点に お絵かきができない があります。 そこで、 jQueryでグラフを書くを参考に flot を使って体重をグラフに表示してみます。 ↑ flotのテスト † flotのテスト用にplot_window.jsを以下のように作成します。 plot_window.js var win = Ti.UI.currentWindow; var webView = Ti.UI.createWebView({ url: 'plot.html' }); win.add(webView); また、WebViewから表示するplot.htmlを以下のように作成します。 plot.html <!DOCTYPE HTML PUBLIC "
2008/01/11からのアクセス回数 614535 竹本 浩のページ † このページは、竹本 浩(たまねぎおじさん)のWikiページです。twitter: @takepwave 、e-mail: take.pwave@gmail.com 以前のホームページでは、SmartDocで記述して公開していましたが、Wikiを使って 随時追加、更新することにしました。 ↑ 雑誌掲載記事の原稿 † 雑誌に掲載された記事の原稿のリンクを以下に示します。(投稿原稿なので、掲載内容と異なる部分があります、あらかじめご了承下さい)。 WEB DB Press Vol.29 既存機能との融合を既存技術で考えよう(Springの紹介記事) 組み込みプレス VOl.14 ICタグを使った書籍管理システムの構築 Software Design 2009/10 再考シェルスクリプト Software Design 2
2010/03/16からのアクセス回数 14240 このページのsageノートブックは、以下のURLにあります。 http://www.sagenb.org/home/pub/1762 はじめに † SVMは、オーバーフィッティングを避けて効率よく識別関数を求めることができる 手法です。 「集合知」の9章で紹介されているSVMをSageを使ってまとめてみます。 ↑ 簡単な例題 † いきなりSVMに進む前にクラス分けを簡単な例を使って解いてみます。 下図は、赤(-1)のグループと青(1)のグループの分布です。 sageへの入力: # 線形クラス分類の例 # データの用意 c1 = [[1,2],[1,4],[2,4]] c2 = [[2,1],[5,1],[4,2]] # プロットして分布を確認 pl1 = list_plot(c1, rgbcolor='red') pl2 = list_p
iPhone SDKのUnitTestは中途半端 † iPhone SDKにもUnitTest用のクラスとプロジェクトテンプレートが提供されています。 ↑ UnitTest バンドルの新規作成 † iPhone用のアプリケーションプロジェクト(ここではCopyTextを使います)に、UnitTestバンドルを追加します。 「グループとファイル」からプロジェクト名を選択し、右クリックで「追加」→「新規ターゲット」を選択します 「Cocoa Touch」から「Unit Test Bundle」を選択し、「次へ」ボタンを選択 ターゲット名を入力します(ここではUnitTestsとします) ↑ 単体テストクラスを作成 † 次に単体テスト用のクラスを作成します。 プロジェクト名を右クリックで「追加」→「新規グループ」を選択し、グループ名を入力(ここでは「Test Classes」と)します。 「Te
GMC-4について † GMC-4は、学研の「大人の科学」Vol.24の付録に付いている4ビットマイコンボードです。 http://otonanokagaku.net/magazine/vol24/index.html ↑ ハードウェア構成 † GMC-4には、 1個の7セグメントLED 1個のスピーカ 7個のLED 数字キーとASET, INCR, RUN, RESETのキー が載っており、 プログラム領域は、00-4F メモリ領域は、50-5F A, B, Y, Z, A', B', Y', Z'の8個のレジスタ を持っています。 Aレジスタは、演算用レジスタ Yレジスタは、アドレスレジスタ Zレジスタは、条件レジスタ として使用され、その他は、補助用のレジスタとなっています。 ↑
プロジェクトの作成 † mavenを使ってレコメンド・アプリケーションを作成します。 最初に、プロジェクトを作成します。 $ mvn archetype:create -DgroupId=sample.recommendApp -DartifactId=recommendApp -Dversion=0.0.1 ↑ pomファイルの変更 † pom.xmlのdependecyに以下の項目を追加します。 <dependency> <groupId>org.apache.mahout</groupId> <artifactId>mahout-core</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jcl</artifactI
ここでは、antlr/ANTLRWorksを使ってみるに続いて、例題を構文木を使った 解析に変更して、ANTLRWorksでのデバッグ方法も合わせて紹介する。 構文木生成 † 例題を四則演算に戻し、変数を導入したのが以下のE3.gです。 grammar E3; options{ output = AST; ASTLabelType = CommonTree; } tokens{ ASSIGN; ALU_ADD; ALU_SUB; ALU_MUL; ALU_DIV; } prog : ( statement { if ($statement.tree != null) System.out.println($statement.tree.toStringTree());} )+ ; statement : expression NEWLINE! | IDENTIFIER '=' expres
ARMの開発環境のセットアップは、難しいというイメージがありましたが、 ここでは、以下の3つの方法を紹介します(マシン環境はMac OS X Leopardです)。 必要最低限のツールをソースから作成する MacPortを使ってインストールする YAGARTOから必要なパッケージをダウンロードして、インストールする どちらを採用するかは、いろいろですが私はMacPort版を使うことにしました。 必要最低限のツールのソースからのインストール † ツールが思った通りに機能しないとき、原因の切り分けをするために、機能を 必要最低限に絞ってテストすることがあります。 ここでは、ARMのクロス開発に必要なgccとbinutilsのみを作成する方法を説明します。 *1 newlibやC++など組み込みであまり必要でないツールを除くことでmakeが非常に簡潔になります。 作成するツールのバージョンは以下
2010/01/20からのアクセス回数 7895 mavenプロジェクトの作成 † mavenを使って、サーブレット用のプロジェクトを作成します。 $ mvn archetype:create -DgroupId=sample.recommendWeb -DartifactId=recommendWeb \ -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1 生成されたディレクトリ構成は、以下のようになっています。 + recommendWeb/ |- pom.xml |-+ src/ |-+ main/ |-+ resources/ |-+ webapp/ |-+ WEB-INF/ |- web.xml |- index.jsp レコメンドアプリケーションと同様にpom.xmlに追加します。 dependeciesに追
次のページ
このページを最初にブックマークしてみませんか?
『www.pwv.co.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く