英文に出てくる”i.e.”と”e.g.”の違いは?
英語の文章を読んでいると、”i.e.”とか、”e.g.”といった略語が出てくることがあります。 今回は、それぞれの略語の語源と、意味を説明します。 i.e. i.e.というのは、ラテン語の”id est”が語源です。 これは、英語で言うと”that is”や、”in other words”に置き換えることが出来ます。 前の文に出てきた内容の例を説明している場合に使用します。 例: I watch baseball from childhood, i.e. i love it…
続きを読む
電圧計(テスタ)の内部抵抗を調べる方法
テスタ(デジタルマルチメータ)の電圧計を使うと、回路中の電位差を計測することが出来ます。 電圧値を測る場合は、対象物と並列に電圧計を入れる必要があります。 計測を行う上で電圧計の内部抵抗値が低いと、元の回路の電流に影響を与えてしまいます。 このため、電圧計は、高い内部抵抗値となっています。 電圧計の内部抵抗値は、一般に数メガオーム ~ 十数メガオームといわれています。 というのが電圧計の教科書的な説明なのですが、”高い内部抵抗値”というのは実際のところどの程度のものなのでしょうか?自分が持っている電圧計の具体的な抵抗値を計測するにはどうすればよいでしょうか? 気になる場…
続きを読む
[殻割り]フォトカプラを分解する
電子回路を構成する素子のひとつにフォトカプラというものが有ります。 フォトカプラは通常、発光ダイオードとフォトトランジスタで構成されています。 入力された電気信号は発光ダイオードに入り光信号に置き換えられます。 一方フォトトランジスタは光を受けると通電するので、光を経由して電気信号を伝える事が可能です。 これにより電気的に絶縁された状況で情報を伝える事ができ、ノイズの影響を防ぐことが可能です。 …というのが、教科書的なフォトカプラの説明ですが、実際の所、中身はどんな感じになんでしょうか? 気になったので、実際にフォトカプラを購入して殻割りしてみました。 まずは、今回の実験台になって…
続きを読む
PIC18Fシリーズの型番コード体系
Micorship社から発売されているPICには、幾つかのシリーズが有ります。 シリーズを大きく分けると以下の6つに分類されます。 PIC10F,12Fシリーズ PIC16Fシリーズ PIC18Fシリーズ PIC24F,24Hシリーズ dsPICシリーズ PIC32MXシリーズPIC10F,12Fシリーズ PIC16Fシリーズ PIC18Fシリーズ PIC24F,24Hシリーズ dsPICシリーズ PIC32MXシリーズ この中でも、PIC18Fシリーズは8ビットマイコンであるPIC16Fシリーズの後継で、16Fシリーズで使い辛かったI/O機能を改良しつつ、アセンブラレベルの命令セットは上位互…
続きを読む
[C#]DataGridViewでプログラムから列の追加/削除を行う
列の追加 DataGridViewColumn col; // Titleと表示名を指定して追加 dataGridView1.Columns.Add( "ColItemCode", "商品コード" ); // 列定義のオブジェクトを使って追加 col = new DataGridViewColumn(); col.Name = "ColItemName"; col.HeaderText = "商品名称"; dataGridView1.Columns.Add…
続きを読む
LEDフラッシャーIC「M34-1L,2L,8L」の点滅をPICで再現する
LEDを点滅させるためのICとして、M34シリーズの三端子LEDフラッシャ-ICというものが有ります。 これは、トランジスタのように3本の端子が出ているパーツで、接続するだけで指定された周期でLEDを点滅させる事が出来ます。 点滅の周期は型番によって異なり、以下の通りとなっています。 M34-1L 1.0 秒周期 ON-OFF比率 = 1:8 M34-2L 0.5 秒周期 ON-OFF比率 = 1:8 M34-4L 0.25 秒周期 ON-OFF比率 = 1:8 M34-8L 0.125秒周期 ON-OFF比率 = 1:2M34-1L 1.0 秒周期 ON-OFF比率 = 1:8 M34-2L…
続きを読む
[PIC]全ピン数対応のライタ基板を製作(PICkit3使用)
半年ほど前、PICのライタとしてPICkit3を購入しました。 これまで書き込み側の回路はブレッドボードで組んでいたのですが、ブレッドボードだと書き込み/デバッグ中にライタが外れてしまう事もあり不便でした。 ライタは頻繁に使いますしPICの開発も慣れてきたので、今回、書き込み用の回路をユニバーサル基板で作成する事にしました。 PICはブレッドボードにさせるタイプのPDIP形式のものだけでも、ピン数が8, 14, 18, 20, 28, 40ピンと6種類も有り、それぞれ書き込みピンの位置が異なるので、これら全種類に対応できるようにします。 また、ライタにPICを刺したまま状態で、簡単な回路なら確…
続きを読む
[PIC18シリーズ]ピン数別の機能・評価一覧
PIC18シリーズの価格と特徴を分かりやすく整理してくれている一覧です。 この一覧にある製品は、秋月で販売されているという事で入手性も良いです。 PIC16シリーズについて知りたい場合はこちらの記事を参考にして下さい。 [PIC16シリーズ]ピン数別の機能・評価一覧 PIC専用のスレ Part40 http://uni.2ch.net/test/read.cgi/denki/1345537082/ より編集 秋月のPIC18シリーズDIP品限定ピン数別評価 特徴 【PIC18】8bitマイコン。 5V動作可(J除)で比較的高速(10~MIPS) 新型のKシリーズは多機能で高速(16MI…
続きを読む
“Order Fulfillment Report レポート”の自動作成を停止する方法
Amazonのマーケットプレースで、Order Fulfillment Report レポートの自動生成を行っていると、以下の文面のメールが定期的に送信されてきます。 Order Fulfillment Report レポート作成完了のお知らせ Amazon.co.jpよりお知らせいたします。 出品者様がリクエストされたレポートの作成が完了しました。 レポートの概要は以下のとおりです。 レポートの種類: Order Fulfillment Report レポート リクエスト日時: 2001-01-01T00:00:00 レポート 作成完了…
続きを読む
[C#]ManicTime風な,使用アプリ記録ソフトを自作する
WindowsでManicTimeというソフトを使用すると、PCで使用していたアプリケーションのログを採取することが出来ます。PCでどんなアプリを何分使っていたかの作業ログを取る事で、無駄な時間をだらだら過ごしていないか自分の作業内容への振り返りをするきっかけになりまし、ライフログ的な使い方も出来ます。 ライフログの技術 ManicTimeはシンプルかつ分かりやすいUIで、気軽に使うには便利なのですが、採取したログを自分でExcelなどを使用して分析したかったので、同様の機能を持つ記録アプリを作成してみました。 今回作成するのは見た目の部分ではなく、裏方部分のデータ収集処理なので、GUIは最低…
続きを読む
[MPLAB]ブレークポイントで表示される黄色い”B”マークの意味
PICの開発環境であるMPLABで、ブレークポイントをセットすると、赤色の”B”マークが表示されます。 ですが、開発を行っていると時々、以下の様に黄色い”B”マークが表示される事があります。 この黄色のBの意味は、アセンブリコードに対するブレークポイントです。 厳密に言うと、C言語1行に対して複数行のアセンブリが生成されたとき、生成後アセンブリの1ステップ目以降のコードにブレークポイントが張られたとき、黄色のマークになります。 C言語レベルでのデバッグを行っている場合、黄色のブレークポイントだと、該当行に矢印がある時点でアセンブリの一部分だけが実…
続きを読む
[PHP]ハッシュの入った配列を,ハッシュ値をキーにソートする
PHPで、例えば以下の様に沢山のハッシュテーブルが配列に格納されていたとします。 DBのテーブルとかをイメージすると分かりやすいかもしれません。 $dataList = array(); $dataList[] = array( "itemcode" => "10001", "itemname" => "みかん" ); $dataList[] = array( "itemcode" => "100…
続きを読む
[PHP]file_get_contenst()で複数サイトのhtmlを非同期・高速に取得する
PHPでは、file_get_contenst()関数にURLを指定する事で、他のサイトのhtmlテキストを取得できます。 1つのサイトだけを取得する場合はこれでよいのですが、大量のサイトからデータを取得する場合、 1サイトつづ順番に関数を呼んでいたら非常に時間が掛かります。 このような場合はcURLモジュールに有るcurl_multi_getcontent()関数を使用すると、複数サイトの情報を非同期で同時に取得出来ます。 ですが、curl_multi_getcontent()は、リソースの確保・開放処理が必要で、扱いがちょっと煩雑です。 この為、今回はfile_get_contenst()…
続きを読む
[PHP]配列内から、index指定で要素を削除する方法
PHPで配列から要素を削除するには、array_shift(),array_pop(),unset()関数を使用します。 それぞれ配列の「先頭、末尾、index指定」で要素を削除することが出来ます。 index指定というのは、配列の要素番号を指定するという意味です。 それぞれの関数は、以下のサンプルコードで振る舞いを確認できます。 // 先頭を削除 echo "case1—-\n"; $dataList = array( "d1", "d2", "d3", "d4", "d…
続きを読む
Androide向けWebサイトで、横スクロールさせないようにする
html>headの中に、以下のタグを入れると、横スクロールが出ないようになります。 <meta name="viewport" content="width=320, height=480, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes" /><meta name="viewport" content="width=320, height=480, initial-scale=1.0, minimum-…
続きを読む
[PIC]MPLABでICD0191エラーが出た時の対処法
表示されるエラーメッセージ ICD0191: Unable to perform operation as hardware memories are locked. Try later.ICD0191: Unable to perform operation as hardware memories are locked. Try later. ICD0191エラーが発生するのは、MPLAB ICD2が他の機能で使用されている為、操作したかった作業が出来ない時に発生します。 対処法としては、通常はそのまま待って、しばらくしてからもう一度同じ作業をすると正常に動作します。 それでもダメな場合は…
続きを読む
VMware Playerユーザが仮想ハードウェアをアップグレードさせる方法
本記事は、前回の記事の続きです: Windows7にVMware Converterをインストールする VMware Playerの機能制限 VMwareから提供されているVMware Playerを使用すると、無償で仮想マシン環境を構築できます。 このVMware Playerですが、有償版のソフト(VMware Workstation等)と比べると、作成したVMのベースとなる仮想ハードウェアのアップグレード/ダウングレードが出来ないという制限があります。 ですので、古いバージョンのVMware製品で作った仮想マシンを使い続けている場合、VMware Playerユーザは最新機能を使う事が出…
続きを読む
PICのスペックを指定して型番を検索できるサイト
個人でもお手軽に利用できるPICマイコンですが、現在では700種類以上あり、欲しい機能を持った製品を探すのが大変です。この問題を解消するために製造元のMicrochipでは、スペックを指定して型番を検索できるサイトを幾つか用意してくれています。 今回は、PICのスペック検索サイトを紹介します。 Microcontroller Product Selector (MPS) サイト:http://www.microchip.com/productselector/MCUProductSelector.html 以前より存在していた検索ページでAdobeのFlashで作られています。 ページ上部で検…
続きを読む
VMware Toolのアップデートエラー時、vmxの編集時の注意点(KB article 1714)
VMware Player/Workstationを使用時にVMware Toolのアップデートを試みると、以下のエラーが出る事があります。 Tools のアップデート エラー ————————— Tools の更新に失敗しました。 仮想マシンの vmx ファイルを編集し、次のラインを追加してから再試行してください。 vmx ファイルを編集するヒントで KB article 1714 をよくお読みください。 isolation.tools.guestInitiatedUpgrade.disable = "FALSE"Tool…
続きを読む
[PIC]ICD0019エラーが出た時の対処法
MPLABで、ICD 2ライタ/デバッガを使用しているとき、ICD0019エラーが出た場合の対処法です。 エラーメッセージ Connecting to MPLAB ICD 2 ICD0019: Communications: Failed to open port (USB): (Windows::GetLastError() = 0x2, ‘指定されたファイルが見つかりません。’) ICD0021: Unable to connect with MPLAB ICD 2 (USB)Connecting to MPLAB ICD 2 ICD0019: Communications: Failed…
続きを読む