* 14/11/28: ArduinoのSdFatライブラリのリファレンス [#f8ec3318] http://www.arconlab.com/lab/Arduino/Library/SD%20Reader%20-%20Fat32/html/class_sd_file.html * 14/11/28: ハイサイドpMOSで電源制御が微妙にうまくいかない [#jeb75f88] ハイサイドpMOSのゲート(G)をマイコンでON/OFFしようとしてて、G=0にしてONにしようとしてもVDDより低い電圧にしかならず、Gの電圧をみようとGにオシロのプローブをあてるとVDDまで上がる、という現象に遭遇。 原因は、Gを駆動しているピンが出力になっていなかったこと。 G=0にしているつもりが0Vまで下がっておらず(G=1のときからほとんど下がっていない)、プローブをあてると電荷が放電してpMOSがONになる、ということだった。 * 14/11/28: Arduinoのdelay() [#b3b1e0a0] 内部ではTimer0を使っている。 つまりdelay()を使うなら電源制御でTimer0を止めてはいけない、ということ。 その他にも、このあたりの内部リファレンスは参考になる。 http://garretlab.web.fc2.com/arduino_reference/language/functions/time/micros.html http://garretlab.web.fc2.com/arduino_reference/language/functions/time/delay.html http://garretlab.web.fc2.com/arduino_reference/language/functions/time/micros.html * 14/11/27: Arduinoでstrcmp [#hc3646dc] strcmpの比較対象がbyte[]だと、型ががあわん、とエラーになるが、 strcmp((const char *)a, "hoge") みたいにconst char *型にcastすればよろし。 http://stackoverflow.com/questions/18001956/arduino-c-convert-byte-array-to-string-or-other-comparable-text-format * 14/11/27: IMAPとGmailの対応 [#c2f38f2f] http://gmail.1o4.jp/imap.html * 14/11/21: マトリクスLEDのきえるはずのLEDが薄く点灯する [#db1fe027] 駆動のタイミングで、各ピンの駆動初期化で全A=0、全K=0にするとき、一瞬だけ(10us)早く全K=0にしてたのが原因。これぐらいの時間でも、目でわかるくらい、薄く点灯してしまう。 * 14/11/20: InskcapeからWord等へ図のはりつけ [#w03619f2] Copy&Pasteで、ベクタ形式で張り付けられるんだそうだ。しらなんだ。 この方法だとビットマップで張り付けられるっぽい→ http://d.hatena.ne.jp/jasmine_88/20120401/1333268128 形式を指定して貼り付け、で拡張メタファイル、を選べばOKっぽい→ http://superable.wordpress.com/2011/09/15/%E3%83%91%E3%83%AF%E3%83%BC%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%AB%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E7%94%BB%E5%83%8F%E3%82%92%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91/ * 14/11/19: iPhoneのWiFiテザリングが見つからない場合 [#b527bb53] 90秒ルール、というのがあるようだ。 http://news.mynavi.jp/articles/2013/06/24/ipadiphonehacks/ ただ、それでも見つからない場合があって、iPhoneを再起動(電源OFF→ON)したら見つかった、という場合もある。 * 14/11/18: ArduinoのSDとSdFat [#t7bb2790] SdFatのほうが高速、ということのようだ。 http://forum.arduino.cc/index.php?topic=90073.0 * 14/11/18: Emacsで行番号を表示する/しない [#s4e449ae] linum-modeで表示できる。.emacsに書いておくと起動時に表示できる。(あるいは表示させたくないときは書かない) http://lisphack.blog137.fc2.com/blog-entry-14.html * 14/11/13: Win8.1にしてからときどき勝手に全ウインドウが最小化される [#d953bad9] どうも"StartMenu8"のせいっぽい。困ったな。 http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-performance/windows81/97c81b4f-50ee-4ab0-9df6-e4a293158cda * 14/11/12: Node.js+nobleでkonashiをつつく [#cdb50a84] ちょっとあやしいけど、できた。 要はconnectしてdiscoverして、service(0xff00=KONASHI_SERVICE)をdiscoverして、必要なcharacteristics(PIOの出力なら0x3000=KONASHI_PIO_SETTING_UUIDと0x3002=KONASHI_PIO_OUTPUT_UUID)をdiscoverして、それらにwriteする。 ただし、この2つはWriteWithoutReplyなので、nobleのwriteによれば、第2引数はfalseにしないといけないはずなのだが、そうすると書き込みが行われない(callback関数に返ってこない)。第2引数をtrueにすると書き込みができるっぽい。ここだけ謎。 var noble = require('./index'); noble.on('stateChange', function(state) { if (state === 'poweredOn') noble.startScanning(); else noble.stopScanning(); }); noble.on('discover', function(peripheral) { noble.stopScanning(); peripheral.connect(function(error){ console.log('connected to ' + peripheral.uuid); peripheral.discoverServices(['ff00'], function (error, services){ // 0xff00=KONASHI_SERVICE_UUID var konashiService = services[0]; konashiService.discoverCharacteristics(['3000','3002'], function(error, characteristics){ characteristics[0].write(new Buffer([255]), true); // 0x3000=KONASHI_PIO_SETTING_UUID characteristics[1].write(new Buffer([255]), true); // 0x3002=KONASHI_PIO_OUTPUT_UUID }); }); }); }); * 14/11/10: 卓駆でアーカイバDLLをまとめてインストール [#xd581a69] http://www.kmonos.net/lib/caldix.ja.html * 14/11/10: Androidアプリ開発の備忘録(断片的) [#w67c72d3] - Nexus7のドライバをあてる: http://androidlover.net/smartphone/galaxynexus/installandroid-composite-adb-interface.html - Activity: メイン画面のこと(WinのForm的なもの) - PackageName: 自分の持ってるドメインを逆から打つ。com.example.hogeなど(公開するときに必要) - ActivityNameは、***Activity、とするのが流儀 - 実行はプロジェクト名を右クリック→Run as→Android Application - Devicesのカメラのボタンで、実デバイスの表示画面をキャプチャできる * 14/11/09: Linux Bluezでkonashiをつつく [#xa82be58] http://www.slideshare.net/kobashin/ble-32572318 こちらを参考に、Linuxでコマンドラインでkonashiをつついてみる。 sudo hcitool lescan ; scan sudo hcitool lecc ??:??:??:??:??:?? ; 接続 sudo gatttool -i hci0 ??:??:??:??:??:?? -t random -I で、その後、gatttoolの操作。 connect ; 接続 primary ; handleの確認 これを、konashiのUUIDの対応をみながら調べると、 - ハンドラ0x001f = UUID:0x3000 : KONASHI_PIO_SETTING_UUID - ハンドラ0x0023 = UUID:0x3002 : KONASHI_PIO_OUTPUT_UUID ということがわかる。 そこでこのハンドラを使って、データを書き込む。 konashiのAPIでは、例えば「PIO2=2:PIOの2ピン目」で、「HIGH=1」「OUTPUT=1」と定義されているので、例えば char-write-cmd 0x001f 04 とすると、ハンドラ0x001fに0x04が書き込まれる、つまりPIO2が出力に定義される。続いて char-write-cmd 0x0023 04 とすれば、ハンドラ0x0023に0x04が書き込まれる、つまりPIO2にHIGHが出力され、LED3が点灯する。 次はnobleでこれをやる。 * 14/11/07: Chromeの下に現れるダウンロード情報の消し方 [#v8dbe344] ダウンロードするたびにChromeの下のほうに現れるが、Ctrl+Jでダウンロードページを開くと、その下のほうの表示は消える。つまりCtrlJ→CtrlWで、それを消せることになる。 * 14/11/07: sudoでnode/coffeeを実行する [#c3ffec63] nobleはsudoする必要がある(と書いてある)が、sudo時のパスは、自分のパスとは違うので、sudo時に探せるようにrootのパスを通すか、パスが通っているところにシンボリックリンクを張る。 http://stackoverflow.com/questions/4976658/on-ec2-sudo-node-command-not-found-but-node-without-sudo-is-ok * 14/11/06: gitのリポジトリを手元にもってくる [#kcb6755c] git clone git://github.com/.... みたいにアドレスを指定すればOK。gitコマンドはgit shellなどで実行。 * 14/11/06: nobleでkonashiをつつく [#z19f495a] konashiの各service, characteristicsのUUIDは公開されている。 http://konashi.ux-xu.com/documents/#core-ble なので、これらを指定してつつけば、konashiをつつける。 ちなみにこれらは4桁(2byte)の短縮UUIDで、実際のUUID(32桁=128bit)は、 "Bluetooth Base UUID"をつけて、0000-????-0000-1000-8000-00805f9b34fb (????=短縮UUID) http://blog.fenrir-inc.com/jp/2013/09/bluetooth-le-firststep.html Node.js用のBLEライブラリであるnobleは、UUIDを指定してつつく関数がある。 https://github.com/sandeepmistry/noble 橋本商会さんの、BlendMicroをnobleでつつく、のCoffeeScriptを参考にする。 http://shokai.org/blog/archives/9047 ちなみにCoffeeScriptは、JavaScript(js)のラッパーみたいなもの(?)で、JavaScriptに変換される。 http://ja.wikipedia.org/wiki/CoffeeScript 橋本商会さんのCoffeeScriptには、ServiceとCharactersiticsを探すところでこんな記述がある。 peripheral.discoverServices [], (err, services) -> service = _.find services, (service) -> service.uuid is UUIDs.service service.discoverCharacteristics [], (err, chars) -> tx = _.find chars, (char) -> char.uuid is UUIDs.tx まず変数servicesに、peripheralがもつサービスを入れて、その中に狙いのサービス(この場合は最初に定義しているUUIDs.serviceがあるかを探す。 ちなみに_.findは、CoffeeScriptで、リスト(配列)から要素を探すメソッド。 http://codedehitokoto.blogspot.jp/2012/06/coffeescript-undersorejs-02collection.html この例では、servicesの各要素をserviceという変数に順に入れて、service.uuidがUUID.serviceに一致するものを探して、それをservice、として返している。 続いてそのサービス内のCharacteristicsを探して、UART送信(tx)を探す、という手順。 ちなみにLinuxからBLEをつついたり、BLEのService, Characteristicsの構造などはこちらが詳しい。 http://www.slideshare.net/kobashin/ble-32572318 * 14/11/04: gnupackのEmacsとgnuserv [#of5b92d7] http://rainbowdevil.jp/?page_id=680 * 14/11/04: AndroidSDK事始め [#vdb954fa] http://techfun.cc/android/windows-android-sdk-install.html * 14/11/01: Win8.1でCisco Any Connect [#c261296a] ちょっと小細工がいる模様。 http://somenman.blogspot.jp/2014/06/windows81-cisco-anyconnect.html * 14/11/01: Emacs24でのファイル名補完 [#t1d0acc5] 以前はTABまたはSPCでファイル名が補完できたが、最近はTABだけ、という仕様のようだ。慣れたほうがいいのかな。。。 http://at-aka.blogspot.jp/2005/12/emacs-22050-find-file-spc.html * 14/10/31: WordPress→Facebook連携のRSSGraffitiのエラー [#k85243e9] 以前設定していた、WordPressの新規投稿をみつけてFacebookに投稿してくれるRSSGraffitiがエラーになってた。たぶん先日の停電のときにWordPressのRSSの取得に失敗してエラーで止まっていた模様。(何回かretryすればいいのに・・・) 手動でRSSアイコンをクリックしてONにすれば連携再開。 http://miphoant.exblog.jp/19459858 * 14/10/31: gnupackとWin8.1 [#f57775a0] Cygwinとかemacsを展開するだけで使えるgnupackというのがあって、便利そう。 http://sourceforge.jp/projects/gnupack/ ただしWin8.1では少し手直しが必要っぽい。 http://hardsoft.at.webry.info/201401/article_2.html (14/11/1追記)emacsの追加設定とか http://d.hatena.ne.jp/sandai/20120304/p2 ちなみに最近は設定は.emacsに書くのではなく、/home/.emacs.d/init.el に書くものらしい。(14/11/2追記)いや、どうもこのファイルは読み込んでいないっぽい(あえてエラーのあるファイルにしてもEmacs起動時にエラーが出ない).emacsに書くと反映される。 http://sakashushu.blog.so-net.ne.jp/2014-04-27 * 14/10/29: ATmega+SPIデバイス(Slave)へのISP書き込み [#oa830af3] ATmegaのSPIに別のSPIデバイスがつながっている状態でISP書き込みしようとすると、1つのSPIバスに複数のデバイスがつながることになる。 ATmegaのプログラムで、SPIデバイスをOFF(CSn=1)にしていれば、電源ON時にSPIデバイスは電気的にSPIバスから切り離されているので、ISP書き込みは問題ないが、SPIデバイス非動作時の消費電流を測るために、SPIデバイスの電源を切り離し、CSn=0にするプログラムを書き込んだ後、SPIデバイスの電源をつなぐと、SPIデバイスにとっては、常時CSn=0なのでMISOを駆動していることになるため、この状態だとISP書き込みができない。そこで、MISOをいったん切り離して常時CSn=0としないプログラムをISP書き込みすれば、問題なし。 というわけで、このような構成では、SPIデバイス側のMISOは必要に応じて切り離せるように半田ジャンパをつけておくべき。 * 14/10/28: MacでNode.jsでBlendMicroとBLE [#b3f90843] 橋本商会さんが,Blendmicro (http://redbearlab.com/blendmicro/) をMacのNode.jsからつつくのをやっておられる. http://shokai.org/blog/archives/9047 というわけで, Node.jsの入れ方(基本的にnvm (Node Version manager)とあわせて使うのが吉,か) http://tmlife.net/programming/javascript/nvm-nodejs-install.html ↑ではNode側のプログラムとしてecho.coffeeが紹介されている.*.coffeeとは,CoffeeScriptというやつで,Nodeのパッケージの一つ.なので npm install coffee-script -g で入れておけばOK http://niwaringo.tumblr.com/post/16353537096/windows-node-js-coffee-script ついでに,BLEライブラリnobleも,npmで入れておく. ただし肝心のMacのBluetoothが4.0非対応(BLEが使えない)のため,実際の動作検証はまだ. ちなみに橋本商会さんはBlendMicro用のBLE用ライブラリもつくっておられる. http://shokai.org/blog/archives/9064 橋本商会さんによると、USB-Bluetooth4.0ドングルはなんでもよいわけではないらしく、nobleが対応していないといけないんだそうで、BroadcomのチップはOKとのこと。 USBドングルのメーカーとチップセットの情報 http://d.hatena.ne.jp/kinneko/20140219/p1 http://mino.blog.eonet.jp/minoproject/2014/02/bluetooth-usbwi-2a01.html http://qiita.com/tesujiro/items/0d07c2bf57ecb86a8e00 http://smart.diipedia.net/bluetooth-usb.html * 14/10/26: GitHub以外のGit [#m2207f87] GitHubだけがGitじゃない。 http://qiita.com/kajiemon/items/85391e4e0729887653f2 * 14/10/26: GithubをWindowsで [#w1d67723] このあたりがお手軽か。 http://wp.yat-net.com/?p=3874 * 14/10/26: Node.jsのお手軽実行環境 [#ecc65288] BLEをPCからつつくのには、Node.jsがとりあえずお手軽そうなんだけど、そのNode.jsと、それとあわせてつかnpmのお手軽実行環境。 http://webgoto.net/239/ * 14/10/24: ATmegaでSPIの設定レジスタ(SPCR)が書き込めない [#c04733d4] SPCRに何を書き込んでも、読みだすと0、という現象に遭遇。 原因は、その前にPPR(PowerReductionRegister)で、SPIをオフにしていたのが原因だった。 * 14/10/22: AtmelStudio6.2で、ATtinyを書き込むとき、ISPクロックが1MHzになってしまう [#a95aa3a8] どうも同じ症状の人がいるんだけど、何ともない人もいる、模様。再インストールしたらなおるんだろうか。ちなみに2つめに紹介されているBuild1156でも、同様。 http://www.eevblog.com/forum/microcontrollers/atmel-studio-6-2-avrisp-mkii-clock-resets-too-high/ http://www.avrfreaks.net/forum/atmelstudio-62-build-1153-deleting-eeprom * 14/10/15: バックミンスターフラーレンC60の展開図 [#mb3138b3] http://www.water.sannet.ne.jp/masasuma/masa/e10-3g2.pdf * 14/10/15: MacでThinkPadキーボードをつかう [#s0f38d15] 細かい設定の備忘録.「変換」「無変換」キーをMacで使う方法なども. http://www.dream-seed.com/weblog/archives/2013/07/29124/ * 14/10/09: Excelでt検定 [#pb18207b] http://www.f.kpu-m.ac.jp/c/kojin/asano/kiso/topics/kentei/top.html http://office.microsoft.com/ja-jp/mac-excel-help/HA102928067.aspx http://www.geisya.or.jp/~mwm48961/statistics/bunsan1.htm * 14/10/02: ARM(CortexM0)まわりでいくつか [#w3e53a42] - Thumb命令は16bitだけどデータバスは32bit。どうやってフェッチするのかと思ったら、2命令同時フェッチ、ということのようだ。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0321a/BIHGJICF.html - CortexM0-DesignStart(DS)でいろいろ試したところ、Word単位のLittleEndianのようで、31-16bit= 命令2(16bitのThumb命令をそのまま記述)、15-0bit=命令1、と書くと、命令1→命令2、の順で実行される。 - バスはAHB-Liteなので、クロック同期とはいえ、ふつうのクロック同期とはちょっとタイミングが異なる。例えばデータ書き込みは、アドレスとHWRITE=1になる→次のクロックで、書き込むべきデータが出てくる(さっきのは利用リクエストで、実際にはこのタイミングでAHBが利用可能になるため)、となる。 - "gcc -S"でアセンブラを吐いて、それをちょっといじって、"as"でアセンブルすればバイナリにできるので、変数をレジスタに置くとかの手動最適化ができる。 * 14/10/02: XBee単体で定期的にデータ収集 [#m09e4e4d] IRコマンドで周期設定、D0とかでピンごとに機能を指定。 http://www.eleki-jack.com/wakamatsufan/2012/07/5zigbee.html * 14/10/02: ARM-gccのオプション [#w4fcc216] https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html Cortex-M0用にコンパイルするなら、-mcpu=cortex-m0 -mthumb、あたり。 ちなみに-mthumbをつけないと、 "error: target CPU does not support ARM mode"と出て、なんのことかと思ったら、Thumb命令しか使えない(=ThumbでないARM命令は使えない)、という意味。わかってしまえばなんともないけど、「ARMのCortex-M0なのに、ARMがnot supportとはなんぞ?」と思ってしまった。 * 14/10/01: Vyattaでのbash問題対策 [#j7ec0d5d] とりあえずhttpsアクセスを止めれば問題なし、との見解。 http://www.brocade.com/downloads/documents/technical_support_bulletins/brocade-assessment-bashabug-vulnerability.pdf * 14/09/25: GNU assemblerで機械語に変換 [#adbcbea7] http://inaz2.hatenablog.com/entry/2014/05/30/004109 * 14/09/21: iPhoneのストレージ使用「その他」を削除する [#ldf95e26] http://www.appps.jp/1913833/ * 14/09/21: Dropboxの保存場所をSDカードにする [#z5c2e04a] Dropboxをアンインストール→SDカードをNTFSでフォーマット→Cドライブ内にマウント→Dropboxをインストール時に保存場所を「詳細設定」で指定、という手順でいける模様。 http://kidzunajp.blogspot.jp/2014/03/windows81sd.html * 14/09/17: NetWalkmanのコネクタ(WM-Port)のコマンド [#c03ee708] UARTでコマンドを送って制御できる http://strv.blog.shinobi.jp/%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA/wm-port%E8%A7%A3%E6%9E%90%E9%80%94%E4%B8%AD%E7%B5%8C%E9%81%8E (2014/9/18追記) AudioOutは、Pin9-GND間に適切な抵抗(例えば4.7kΩ)をつなぐと設定できるが、UART信号接続されている(またはTXD-RXDをショート)必要がある。 http://www.wdic.org/w/WDIC/WM-PORT (2014/10/2追記)本体をしばらく(数分)操作しないと、本体がスリープモードに入るようで、RXD=Hにしたあとすぐに(500ms後ぐらい)に0x40を送っても、認証(?)されないっぽい。かといってこの時間をあけすぎると、認証に間に合わない。500msごとに2回ぐらい送る、あたりが順当か。 * 14/09/16: Inkscapeでオブジェクトを円形に配置する [#a7aaae35] http://inkscapedesign.web.fc2.com/practical/tiling-circle.html * 14/09/12: Hirose HR10Aコネクタのはずしかた [#o990b2d9] #ref(HR10Ascrew.jpg) 簡単そうでてこずったので・・・この写真の赤と赤のところをネジみたいにひねる。 * 14/09/10: 秋月Ir受信機のピン配置 [#qd33a94b] 昔、秋月で売ってた、少し大きい赤外線受信機 CRVP1738 のピン配置 #ref(CRVP1738pin.jpg) * 14/09/09: PSoC1duinoのE2PROM [#j07654dd] PSoC1duinoで使っているAN2100のブートローダは、フラッシュ領域の最後のほうをブートローダが使っているので、E2PROMで使えない。AN2100のメモリマップを確認し、あいているところ(CY8C27443なら0x3500直前)をE2PROMで使う。 * 14/09/09: Eagleの基板配線で未配線を確認する。 [#sb9b0040] Air-wire、と呼ぶらしいが、そういうスクリプト(ULP)がある模様。zoom-unrouted.ulpあたりか。 http://electronics.stackexchange.com/questions/34917/finding-air-wires-in-eagle * 14/08/28: TeraTermでSSHでvlsisv07につなげて、VNCをPortForwardingでつなぐ [#y7ef0584] KainsWiFiはVNCで使うポートが閉じているようなので、ポートフォワーディング。 以下はVNCのディスプレイ番号が73(ポート5973)の場合の例。 - sshでvlsisv07に接続 - SSH Port Forwardingの設定で、localpost=19573 (本体のポート+10000)、to remote machine=vlsisv07.ec.t.kanazawa-u.ac.jp、port=5973 - vncでつなぐとき、VNC serverに、localhost::15973、を指定して接続 * 14/08/27: ArduinoUNOでATmegaにArduinoブートローダを書き込む [#t87a659a] http://www3.big.or.jp/~schaft/hardware/bootloader_sketch/page003.html * 14/08/25: ATmega(Arduinoでない)でEEPROM [#b286b12c] http://cega.jp/avr/avr-eeprom_h * 14/08/21: 実物の形状にあわせた部品の設計 [#ye6ddebe] 一例。 + 対象物を定規といっしょに写真に撮る + その写真をInkscapeにインポートし、写っている定規がInkscape上の寸法とあうようにリサイズ + その写真をロック(オブジェクトのプロパティ→ロック) + それにあわせてつくりたいものの輪郭線を描き、写真を消してSVGで保存 + 123D DesignでSketchとしてインポート。ただしInkscape上の1mmがSVGでは単位が[px](1mm=3.543px)になるので、インポート時に3.543倍になっている。そこでSketchをScaleでUniformに1/3.543=0.2822倍に縮小 * 14/08/20: iMovieで動画の一部に説明書きのようなものを加える一方法 [#z756b210] 背景が透明なPNG画像をピクチャ・イン・ピクチャすれば、描画図形だけが動画にオーバーレイ表示される。そこで、動画画像を画面キャプチャしてInkscapeにインポートし、それにあわせて描画して、画面キャプチャの外枠に透明な長方形を描いておいて、ビットマップ(PNG)にエクスポートした画像を、動画サイズにあわせてピクチャ・イン・ピクチャすればOK https://discussionsjapan.apple.com/thread/10134447 * 14/08/19: InkscapeでExportしたビットマップ画像の背景 [#b602d568] InkscapeでExportしたビットマップ画像(*.png)は、背景が透明になっている。こちらにあるように、 convert -background white -alpha off ??.png ??.bmp のように2つのオプションをつけて変換すると背景を白(この場合は)にできる。 http://pen.agbi.tsukuba.ac.jp/~RStiger/hiki2/?Imagemagick * 14/08/18: EagleのAutoroute [#sf8b4907] 電源などの配線を先に手動でやったあとの、細い信号線だけだと、けっこう使えるかも。配線の幅やViaはRouteで使う指定が使われ、DRCルールはDRCで指定されているものが使われる。 * 14/08/09: FT230XでArduinoをDTRリセット [#ya228d35] FT230XはDTR端子がないけど、RTS端子を使えばDTRリセットがかけられる。 https://forum.sparkfun.com/viewtopic.php?f=5&t=32587 * 14/08/01: Eagleで複数要素のプロパティをまとめて変える [#sb76a217] Change(スパナのアイコン)→対象のプロパティ→要素を順番に左クリック、でできる。(例えば回路図部品のピンのピン番号の表示の有無、など) http://yak-shaver.blogspot.jp/ * 14/08/01: Arduinoでwhileループのフラグを割り込みでクリアする [#ca4c9eb9] while(f); の、fを、割り込みのようにループの外でクリアする、というプログラムを書くと、このwhileループを抜けない、ということがある。 これはコンパイルの最適化で、whileが無限ループになっているのが原因(の場合が多い)ので、このfを、volatile宣言しておく(と解決する場合がある)。 http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=1774 * 14/07/15: スイッチサイエンスの委託販売 [#o0ce5d90] http://trac.switch-science.com/wiki/PersonalWorkDistribution * 14/07/04: Replicator2XのX移動の脱調 [#sde09e6a] ときどきおこる。原因を調べた経緯のメモ。 - 脱調なので、モータのトルク不足?と、エクストルーダのモータと交換→なおらず - すべり機構がひっかかってトルク不足と、グリスを塗布→なおらず - モータの駆動波形をみてみると、A層が「ときどき」0Vにはりつく→モータドライバ故障?と推測 - モータドライバを別モータ用と交換→なおらず(ちなみに↓これ) http://www.wayengineer.com/a4982-stepper-motor-driver-module-makerbot-p-6812.html#.U7Zus_l_uSo - モータドライバ-モータ間のケーブルの断線を調べたところ、ケーブルを動かすと断線する場合があることを発見→ケーブルをつけかえ(モータドライバ側を残して、モータ側を新ケーブルに交換して接続)→OK * 14/06/27: USBバスのプルアップ/プルダウン抵抗 [#h4b0ebf1] 両方とも15kΩだと思い込んでいたが、ホスト側が15kΩ、デバイス側が1.5kΩ。 http://www.picfun.com/usb03.html * 14/06/27: ATmegaのTimer2を外部32kHz水晶でうごかしてSleepを起こす [#g5c289a9] どうもsleepからタイマ2割り込みで起きないと思ったら、データシートに注意が書いてあった。Timer2設定関係のレジスタ書き込みが、実際に各レジスタに書き込まれるのは外部32kHzクロックにあわせておこるが、その周期が内部クロック(1MHzとか)と比べて100倍以上長いので、十分またないといけない。そのために、レジスタ(ASSR)に、各レジスタへの書き込みがちゃんと行われたことを示すフラグがあるので、それをチェックして、ちゃんと書き込みが行われことを確認してからsleepに入らせましょう、という話。 教訓:データシートをちゃんと読もう。 * 14/06/25: ATmegaのT0/T1をカウンタのクロックとして使う [#gc01691e] Counter0/1のクロックとして外部ピンのT0/T1を使えるが、データシートのとおり、 T0/T1はclkIOで同期化されてからカウンタに入るので、IOクロック程度より高い周波数の信号はNG * 14/06/24: ATmegaのUARTをCプログラムから使う [#h659670e] http://www.clarestudio.org/elec/avr/mcu-usart.html * 14/06/24: インダクタンスをピアース発振回路の発振周波数として計測する [#ifbfd400] http://ednjapan.com/edn/articles/0711/01/news145.html * 14/06/23: ArduinoでPCINT割り込み [#gcbf33ce] http://forum.arduino.cc/index.php?topic=80928.0 * 14/06/21: iPodで動画をループ再生させる [#oec6a1c3] プレイリストをつくっておく、のが吉。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1268706467 * 14/06/20: VisualC#でボタンなどを配列にしてまとめて配置する [#f24a1933] http://dobon.net/vb/dotnet/control/buttonarray.html * 14/06/18: MacOSXで、DNS検索ドメインを指定 [#y4cb8f7e] 例えばhogeから、hoge.ec.t.kanazawa-u.ac.jpを補完(?)させたいなら、「検索ドメイン」にec.t.kanazawa-u.ac.jp、を入れておく。 http://nauthiz.hatenablog.com/entry/20100929/1285778758 * 14/06/13: Eagleでクリーム半田用マスクをつくる [#i9c91729] Gerberデータ用のCAMファイルを書き換えて、tCreamも書き出す。 http://yuki-sato.com/wordpress/2014/02/16/eagle%E3%81%A7%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%9E%E3%82%B9%E3%82%AF%E7%94%A8%E3%82%AC%E3%83%BC%E3%83%90%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B/ CraftROBO向けだと、スイッチサイエンスさんのULPでDXFを書き出すのが現実的。 http://trac.switch-science.com/wiki/EagleCraftRobo * 14/06/13: Win8でArduinoLeonardなどの署名なしドライバをインストールする [#o5d66be5] Win8→http://freesoft.tvbok.com/win8/testmode.html Win8.1→http://setsuna-no-yume.cocolog-nifty.com/blog/2013/10/windows81-8fa3.html * 14/06/11: InskcaeSVGの単位 [#bd432c99] 座標やサイズの表現は1px=1/90inch、が単位で、変えられない。 http://www.kabipan.com/computer/inkscape/ * 14/06/11: 負の数の四捨五入 [#nc421f7b] 当たり前問えばあたりまえだけど、正だとint(x+0.5)でいいが、負だとint(x-0.5)が正しい。 * 14/06/09: VirtuosoっぽいフリーのレイアウトエディタGlade [#zf40a7ca] http://www.peardrop.co.uk/glade/ * 14/06/08: LEFフォーマットの仕様 [#v0e298ca] LEF(Library Exchange Format)の仕様は、どうもフリーのものではない模様。 http://www.si2.org/openeda.si2.org/project/showfiles.php?group_id=6#p44 * 14/06/08: SVGの図形の変形(transform)属性 [#la888352] http://www.hcn.zaq.ne.jp/___/SVG11-2nd/coords.html#TransformAttribute * 14/06/06: Excelのマクロを編集する [#t28acc53] まずはメニューバー(リボン)で「開発」を表示させる、というところがスタート。 http://msdn.microsoft.com/ja-jp/library/office/ee814737(v=office.14).aspx * 14/06/04: 新しいArduinoボードの設定ファイルとか [#d181ebfe] 自分のArduinoディレクトリ(ArduinoIDEで設定できる、標準でスケッチを保存しておくディレクトリ)の中にhardwareというディレクトリを掘って、その中に、ボードごとにboards.txtとかをおいておくと、ArduinoIDEから新しいボードとして選べる。 * 14/06/03: AVRStudio6.2+AVRISPmkIIの接続のタイミング [#udeccbc7] AVRStudio6.2で、AVRISPmkIIで書き込みをしようとして、AVRISPmkIIとマイコンを接続していない状態で、AVRStudio6.2のTools→ProgrammingでAVRISPmkIIを選び、ターゲットのマイコンを選んでApplyしたところで、"Toolsに接続できない"というエラーが出る。てっきりAVRISPmkII-PC間の接続の問題(USBのドライバがあたってないとか)かと思ったら、この時点でマイコンと接続を試みるようで、ターゲットのマイコンをちゃんとつないだら、Applyできた。ちょっとまぎらわしい(というかAVRStudio6.1のときと挙動が違うような気がする)。 * 14/05/31: Wordpressの投稿があったことをFacebookへ通知を投稿 [#r2c10d86] http://takaslife.com/2013/06/22/facebook-rssgraffiti-setting/ * 14/05/29: iMovieでビットレートを指定して動画ファイルを書き出す [#o35ff6ab] ちなみにニコ動一般会員は600kbps以下。 http://akisute.com/2009/12/imovie-08.html ただしiMovieでビットレートを指定すると画質が大幅に落ちるので、 iMovieから高画質でExportしたあと、「つんでれこ」でmovにするのがよさそう。 http://ch.nicovideo.jp/tdenc/blomaga/ar128361 * 14/05/27: フリーで使えるBGM [#u2e0f6b2] MusMus(クレジット表示すれば基本フリー):http://musmus.main.jp/ * 14/05/16: タクトスイッチのお試しセット [#le44fde1] http://www.chip1stop.com/dispDetail.do?partId=ALPS-0008756 * 14/05/15: ATmega169でArduino [#g5df6ccf] 液晶コントローラ内蔵のATmega169をArduino化しようという話。 Atmel純正ボードの[[AVR Butterfly>http://www.atmel.com/tools/avrbutterfly.aspx]]をArduino化するとうというArduinoButterflyというのがキーワードか。 https://code.google.com/p/butteruino/ http://www.avr-developers.com/cputable.html http://forum.arduino.cc/index.php/topic,24280.0.html * 14/05/14: Autodesk 123Dで平面図をインポート [#ta5b157d] SVGやEPSで平面図をインポートできる。 https://media.dmm-make.com/item/221/ * 14/05/13: 7セグ液晶をマイコンで駆動 [#o7d2da76] http://awawa.hariko.com/avr_lcd_drive.html * 14/05/10: LCRメータでのLs/CsとLp/Cp [#p9af04f5] http://www.home.agilent.com/agilent/editorial.jspx?cc=JP&lc=jpn&ckey=1357788&nid=-11143.0.00&id=1357788 * 14/05/09: Arduinoで静電容量式タッチセンサ [#jbe98873] http://kousaku-kousaku.blogspot.jp/2008/10/arduino.html * 14/05/05: Facebookで誰かをタグづけする [#e0d3e1a8] 入力中に@をいれて名前(の一部)を入力すると出てくるリストから選ぶ。 http://selfyoji.blog28.fc2.com/blog-entry-3243.html * 14/05/03: Eagleで面付け [#af7ca149] http://blog.goo.ne.jp/jh3kxm/e/6d974ef0d3aaa6fc3b675f9f7a1eccaa * 14/04/30: ATtiny85/3.3VでDigisparks [#b149fcbd] ATtiny85上でソフトウエアUSB実装でArduinoスケッチの転送ができるDigispark、あたりまえといえばあたりまえだけど、電源を3.3Vにすると、以下の3点の部品でうごく。 - PB4(3p): D+(22Ω経由) - PB3(2p): D-(22Ω経由) / D-は%%15kΩ%%1.5kΩ(14/06/28訂正)でVDD(3.3V)へプルアップ ブートローダは、以下を参考にmicronucleusを書き込んでおく。 ドライバとArduinoIDE(ちょっと手が入っているみたい)は、こちらから。 http://paperduino.eu/doku.php * 14/04/27: Inkscapeで歯車を描く [#rfa36a87] http://d.hatena.ne.jp/seinzumtode/20120521/1337602009 http://mylifeyourlife.net/2012/10/inkscape-drawing-gear/ * 14/04/27: ATmega+ソフトウエアUSBでArduino [#g94c5cd9] ATmega328でやっている例。 http://make.kosakalab.com/arduino/make/usbasp/index.html * 14/04/10: iMovieで編集したタイトル(字幕)が消えてしまう [#e9bd7b3a] iMovieを再度起動すると、編集したはずのタイトル(字幕)が消えちゃってることがあるんだけど、どもも環境依存で再現性のないFAQの模様・・・困ったな。動画ファイルに書き出しておく、というのが確実なバックアップか。 https://discussionsjapan.apple.com/message/100813733 * 14/04/09: iMovieでピクチャ・イン・ピクチャ [#xf3022e0] http://support.apple.com/kb/PH2243?viewlocale=ja_JP&locale=ja_JP * 14/04/09: iMovidで使う写真のフォーマット [#w85ddffa] bmpやpngは、iPhotoで取り込めるし、↓の方法でiMovieに直接取り込めるが、タイムラインにはめこめないっぽい。*.jpgならいずれもOK。 [#h5ab108a] * 14/04/08: iMovieで使う写真をiPhotoを経由せずに取り込む [#hdf36fc7] http://gori.me/mac/26324 * 14/04/04: MacOSXのシリアルターミナルソフト [#o1be9079] このあたりが便利そう。 https://www.macupdate.com/app/mac/31352/coolterm * 14/03/30: platexで上下左右の余白を指定する [#j5314a27] geometryパッケージを使うという方法もある。 http://joker.hatenablog.com/entry/2012/07/09/153537 * 14/03/25: Rohm WiFiモジュールがスリープから復帰しない [#e0fa8e36] RohmのWiFiモジュール(BU1805)で、いったんスリープに入れると、アクティブに戻そうとコマンドを送っても戻らない、という現象に遭遇。 いろいろ調べた結果、データシートに書いてある、SDCLKピンをRXDピンに接続しろ、という点を見落としていて、これがつながっていなかったのが原因。 教訓:ピンの機能はちゃんと読もう。 * 14/03/23: ATtinyにArduinoスケッチを転送する [#l7585e22] ArduinoUNOをISPライタにすれば(SPI経由で)スケッチを転送できる。 http://d.hatena.ne.jp/jonki/20131109/1383977233 * 14/03/21: BluetoothのHIDプロファイルをマイコンでつつく [#leed3b00] Sparkfunで売ってるRN42HIDというモジュールは、マイコンなどからUART経由でつつけて、PCからはHIDデバイスとして見える。つまりBT接続のマウスやキーボードを作れることになる。プレゼンマウスでもつくるか。 http://yak-shaver.blogspot.jp/2013/05/rn-42-ek-hid.html http://addsict.hatenablog.com/entry/2013/07/27/164647 * 14/03/20: Win8の標準カレンダーでGoogleカレンダを表示 [#e31667e0] http://iinamotto.com/2013/10/1553.html * 14/03/17: MeadoowでSPCでファイル名補完 [#h5032936] http://at-aka.blogspot.jp/2005/12/emacs-22050-find-file-spc.html * 14/03/13: StrawberryLinuxのDaVinciをArduinoLeonard的に使う [#b6f3c707] http://dev.tetrastyle.net/2012/02/leonardo.html * 14/03/07: Arduinoで他デバイスとSoftwareSerial通信しながらSD記録 [#u4dbc277] Arduinoで他デバイスとSoftwareSerial通信しながらSDカードに記録する、というのをやっているとき、SoftwareSerialで受信したデータを、デバッグ用にSerialで表示するだけならOKだが、それとあわせてSDカードに記録すると、記録の途中でハングる、という現象に遭遇。記録するデータを増やしていくと途中でハングるようになり、また途中から表示されるデータ(配列に格納)も化けているので、てっきりRAMの使いすぎで配列変数の領域をSDカードライブラリが浸食(?)しているのが原因だろう、とふんでいたのだが、結果として全く違う原因だった。SoftwareSerial通信が2400bpsと低速なのでナメていたが、SDカードの記録もそれなりに時間がかかるので、SoftwareSerial受信しながら記録すると、受信が追いつかずにデータを取りこぼし、デバイス側の送信が終わっているのにArduino側で取りこぼしていて受信を待っている、というデッドロックになっていたのが原因だった。「途中から表示されるデータが化ける」という現象からRAM不足と思い込んでいたのも問題。RAM不足でなくても、受信されるべきデータが受信されない(=配列に入らない=配列の中身は受信前のデータ)ことでデータが化ける、という可能性もある。 というわけで教訓。 - RAMが足りないのが原因、という思い込みはよくない - シリアル送受信のタイミングは適宜確認をするべき。特にACKを返すなどのハンドシェイクや受信バイト数決めうちの場合は、確実に受信できているかをよく確認するべき。 * 14/03/07: Arduinoをsleepさせて、WatchdogTimerで定期的に起こす [#g87d1e71] http://radiopench.blog96.fc2.com/blog-entry-447.html * 14/03/06: Arduino ProのA6/A7 [#s68e9bdf] Arduino ProとかでA6/A7があるものがあるが、ATmega168/328の仕様上、この2つはADC6/7なので、AD変換の入力専用ピン=ふつうのI/Oピンとしては使えないので注意。 ちなみにD0=0という通しのピン番号だとA0=14となり、A6=20も使えるように見える(コンパイルでエラーになるわけではない)がI/Oピンとしては使えないので注意。 * 14/03/06: Arduinoスケッチをコマンドラインから書き込む [#q6fb671d] 「13/11/22: ArduinoのスケッチのHEXファイルをブランクAVRに書き込む」の方法で*.hexをつくっておいて。avrdudeで書き込める。 http://avr.paslog.jp/article/2455700.html 例えばこんな感じ。 avrdude -c arduino -P COM2 -p m328p -b 57600 -V -u -U flash:w:"hoge.hex":a * 14/03/05: たくさんの静止画から動画をつくる [#z17922f8] http://zapanet.info/blog/item/2653 * 14/03/05: Windows8のMicrosfotアカウントでPCの設定を同期しない [#v9fd08f9] タスクバーの位置とか勝手に同期されて有難迷惑。 http://pcmanabu.com/windows-8-1-synchronization/ * 14/03/05: Windows8(64bit)での32bitDLLの置場 [#nc1ca103] Windows\System32、じゃなくて、Windows\SysWOW64、か?(まだよくわからない) * 14/02/25: FT232Hの245FIFO転送 [#y8c591d2] StrawberryLinuxのFT232Hボードで、FT232Hを245FIFOモードにして8ビットデータをがばがばPCへ転送しようとしたが、どうも入力のはずのD0-D7に与えている信号(今回はADコンバータ)の振幅がやけに小さく(電源3.3Vなのに0〜1V程度)なってしまうので、色々原因を調べていたら、FT232HのRD#ピンがLにしたまま(未接続)で、読み出し(つまりFT232HのD0-D7は出力ピンになる)動作が行われいた模様。RD#=1に固定したら、問題なくデータ転送できているっぽい。ちなみにVCPドライバを使えば、PC側からは普通のCOMポートとして見える。 * 14/02/22: オープンソースなWiFi接続の家電リモコン IRKit [#jc27822b] http://getirkit.com/ * 14/02/17: VisualC#コンソールアプリで途中で終了 [#uffc2301] exit(1)とかは使えないので、return;すればそこで終了 http://y-okamoto-psy1949.la.coocan.jp/VCpp/vcpp2010Win32/NewProject/ * 14/02/12: WiFiのBSSID [#c352e4eb] BSSID(Basic Service Set Identifier)は、インフラストラクチャモードではアクセスポイントのMACアドレス、と定義されている。 http://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%BB%E3%83%83%E3%83%88%E8%AD%98%E5%88%A5%E5%AD%90 * 14/02/12: 各種レンズマウントのフランジバック [#g2888eb0] フランジバック(レンズの底面から撮像面までの距離)。Cマウント=17.526mm、CSマウント=12.5mm、マクロフォーサーズ=19.3mm http://www.uniel-denshi.co.jp/CCTV-LENSES/MOUNT/C-MOUNT.html http://homepage3.nifty.com/fujigiken/gijututechou/mountfb.htm * 14/02/12: VisualC#で指定した時間待つ [#u329fdf5] http://dobon.net/vb/dotnet/process/sleep.html * 14/02/12: VisualC#コンソールアプリケーションでシリアルポート [#m425c507] using System.IO.Ports;して、SerialPortのオブジェクトをつくればOK http://msdn.microsoft.com/ja-jp/library/cc825644.aspx * 14/02/10: VisualC#で数値をコンマつきで表記 [#u80a900d] http://www.atmarkit.co.jp/fdotnet/dotnettips/620number3groupsep/number3groupsep.html * 14/02/07: VisualC#でシリアルポートから行末まで読む [#ec386b66] serialPort.NewLine = "\r"; みたいにして行末コード(この例では'\r'=0x0d=CR)を指定して、 string buf = serialPort.ReadLine(); とやると、stringで1行分読み出せる。 http://tmp.junkbox.info/e14.html * 14/01/31: Emacsでscratchを閉じちゃったときに、再度開く方法 [#v942d74c] C+x b バッファ名 (=Switch to Buffer)、で存在しない名前をつければ、新規にscratch(終わるとき保存するか聞かれない)をつくれる。 http://stackoverflow.com/questions/234963/re-open-scratch-buffer-in-emacs * 14/01/30: FPGAでNTSCやHDMIを吐く [#y14ae77f] http://www.kumikomi.net/archives/2009/03/11circ3.php?page=24 http://sa89a.net/mp.cgi/ele/fpga_hdmi.htm (2014/4/28追記)http://nahitafu.cocolog-nifty.com/nahitafu/2013/08/spartan-6hdmi-a.html http://hamsterworks.co.nz/mediawiki/index.php/Spartan_6_1080p * 14/01/28: iOSの日本語入力で、連絡先に登録されている人名を候補に出す/出さない [#y4ec4f8c] 設定→一般→キーボード、の自動修正、でON/OFFできる模様。 http://macfan.jp/guide/2012/10/04/iphone_74.html * 14/01/28: Win8でGnuToolsやunzip.dllなど [#yfbacee8] http://www.windowsreference.com/free-utilities/gnu-utilities-for-windows-with-unix-utils/ http://www.madobe.net/archiver/index.html * 14/01/26: Win8でファイル削除時に確認メッセージを表示する [#u02d5a89] 「ゴミ箱」のプロパティから。こんなところに設定項目があるのか。 http://homepage2.nifty.com/nonnon/Chinamini/win8/win8-h009.html * 14/01/16: MacOSXのVNCクライアント [#w70c911d] 標準でついているようだ。 http://d.hatena.ne.jp/shimtom/20111110/1320852590 * 14/01/15: ArduinoのUARTのボーレート [#z3bd2c8b] 内蔵8MHzで動かすと、ハードウエアUARTのSerialでも115200bpsはしんどそう。特に受信が、よく文字化けする。SoftwareSerialだと、38400bpsでもあやしい。9600bpsあたりで使うのが無難か。 * 14/01/15: ATmega328のSPIの/SS [#o34a412c] ATmega328のSPIは、SlaveSelectの/SSピンがPB2に割り当てられている。 もちろんソフトウエア的に、他のピンをSlaveに対するSlaveSelectとして使うこともできるが、ATmega内蔵SPIの仕様として、この/SSピン(PB2)は必ず出力ピンに設定しておかないといけない。そうしないとMasterに設定(SPCR:MSTR=1)しても、Slaveに変わってしまう(SPCR:MSTR=0になる)。 * 14/01/15: XBeeをファクトーリセット [#u6e6c6bd] http://www.nekotorobot.com/2012/06/xbee.html * 14/01/14: SIMロックフリーiPhone4 + iOS7でdocomo MVNO [#q8e2de6c] データ通信専用のMVNOは、使えない模様。SMSオプションをつける、ことで解決できるらしい。 http://nahareport.blogspot.jp/2013/10/ios7iphone4sim.html どんなカラクリなの?と思ったらこういうことらしい。 http://techlog.iij.ad.jp/archives/487 * 14/01/14: Win8で起動時にデスクトップを表示 [#kb6d2886] http://www.atmarkit.co.jp/ait/articles/1302/22/news054.html * 14/01/08: StrawberryLinuxのDaVinciのArduinoとしてのピン番号の対応表 [#u66a1c51] http://wave2.iobb.net/pplog2/displog/27.html