日々是好日

日記とかそういったもの

超久しぶりにPICをいじってみた

2019-08-20 19:25:35 | 電気・電子・PC

プログラムはMikroelektronikaのMikrobasicってやつをつかってみた。MikroBasicってだいぶ前はこんなのフリー版で使わせてもらっていいのってかんじだったが、いまは無料版が見つからない。とりあえず有料版でもいれてみたら動く。いつまで動くのか知らないが、これ以上はかねはらわねーとつかわせねーよといわれるまでは使ってやる。ターゲットは16F88内部クロックで動かすことに。

プログラムは下のとおりで、ポートBが1秒ごとにONとOFFを繰り返すだけの物。あまりにも久しぶりすぎたのでどこをたたいていいのかわからなくなって、大昔のノートPCを引っ張り出してソースを参考にした。

program MyProject

main:
OSCCON = %011111110
CMCON = $07
ANSEL = 0
TRISA = 0
TRISB = 0

loop:
PORTB=%00000000
Delay_ms(1000)
PORTB=%11111111
Delay_ms(1000)
goto loop
end.

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

windows 10でヘルプファイルを見る

2019-07-15 19:10:30 | 電気・電子・PC

何も努力しないとwindows 10では*.hlpファイルはみられんのね。

https://kzstock.blogspot.com/2018/05/win10-winhlp32.html

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

さらばKDDI

2017-10-09 23:55:00 | 電気・電子・PC

これまで10年ちょっとKDDI(Au)のインターネット接続サービスを使っていました。始めた当初はAIR-EDGEで細々とインターネットにつなぐためにつかっていたのですが、そのうちADSLになり、今は光回線を使っています。だから接続サービス自体はいらなくはなっていたのですが、長いこと使ってきたホームページやメールアドレスを変えるのが惜しかったので、それらが維持できる最低料金のコースを使ってきました。昨年末くらいからホームページスペースのサービスをやめるという方針になったようで、ついにサービス終了が目前に迫ってきたので本日解約しました。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

デジタル的断捨離 その2

2017-01-23 23:55:00 | 電気・電子・PC

仕事の帰りに2テラバイトの外付けハードディスクを買った。少し悩んだがバスパワーで動く小型のものにした。これで古いハードディスクを駆逐してやる!

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

画像の結合

2016-06-12 23:55:00 | 電気・電子・PC

せっせと溜まっていた年賀状をスキャンして電子データ化しました。

さてどうしたものかとネットを探していたら、表裏を並べて1枚の画像にすると良いとされていまして、なるほどと思いました。どうやって並べて1枚の画像にしようかと探していたら、次のサイトを見つけました。

画像の結合

http://www.quickpicturetools.com/jp/combine_images/

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ゲーミングマウス

2016-03-16 23:55:00 | 電気・電子・PC

使っていたマウスのスクールホイールの回転が悪くなって苛ついたので買い換えた。せっかくなのでロジクールのG300sというゲーミングマウスというものをかった。通常の2ボタン+ホイール以外にもいくつかボタンがついている。付属のソフトをつかってそこにCtrl+CとCtrl+Vを割り当てたら左手を使わなくてもコピペができるようになったので便利になった。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ハードディスクのデータ寄せ

2016-01-11 23:29:18 | 電気・電子・PC

幾つか稼働しているハードディスクがあって中身がごちゃごちゃしてきたので、1つに寄せようと格闘した。昨年に基本ソフトのアップグレードをしたseagateのST2000DM001が冗長エラー他を吐き出すようになったのでお役御免とした。調べてみるとseagateのハードディスク壊れやすいらしいじゃん。買ってきた外付けドライブの中身だったから不可抗力だがもうseagateのドライブは買わない。日立がいいとのこと。それがなければサムソン。シーゲートお前は駄目だ。

大量のファイル移動をするときにはFastcopyというツールを使う。これを使うとWindowsにやらせるよりもいろいろかゆいところにきめ細かく対応してくれるのでいい。結果としてなんとか2Tバイトのドライブ一個にまとまった。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Kindle Fire

2015-12-06 21:38:02 | 電気・電子・PC

プライム会員だから4000円ぐらい引いてくれるからって注文して今朝届きました。とりあえずぺたぺた触って、Wi-Fiで接続できるようにして、せっかくだからシステムのアップデートもして・・・アップデートファイルが80%くらいまで落ちているのを見届けて昼飯を食べました。昼飯から戻って画面を見てみると黒地にAmzonのロゴ。これが表示されているだけで、何も反応しなくなりました電源足りないかとも思って充電をしつつ、3時間ほど放っておきましたが何をやっているのか一切反応しません。出荷状態に戻そうにも、そもそもアプリもメニューも出る状態にならないのだから何もできません。結局サポートに電話して指示でリセットなどしてみましたが状況は変わらず、結局交換という事になりました。KindleFireさんは結局のところうちに来て何をしたかったのでしょうか。実売1万円くらいでゲームボーイ以下の存在に何かを求めようとしてはいけないのでしょうが出鼻をくじかれるというのは面白く無いものです。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

電子的断捨離

2015-09-23 19:12:22 | 電気・電子・PC

外付けハードディスクがいくつかあって、それぞれにそれを使っていた時のデータが入っている。そのうちのデータのいくつかは仕事に関係しているので消すことはできないが、できるだけ少数のハードディスクに寄せて、重複しているデータを消していこうと格闘していました。しかし、1テラバイトとかになると移動させるだけで数時間かかります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ArduinoとMCP3425

2015-04-11 16:31:16 | 電気・電子・PC

昨年末に秋月で16ビットのA/DコンバーターMCP3425を購入した。このコンバーターはI2C接続が使え、さらにDIPへの変換基板もついて250円とお得だった。Arduino UNOで使おうと思っていたが、仕事がごたごたしていて手付かずになっていました。ちょっとだけ時間があったので挑戦してみた。検索してもArduino UNO+MCP3425という組み合わせでの作例がなかったので、記録がてら掲載しておきます。

 

□ 回路図

とりあえず動作確認が取れればいいや位のやっつけ回路です。SCL,SDAのラインに入っているプルアップ用の抵抗ですが、データシートには5~10kオームと書いてあったけどたまたま1kオームのものがみつかったのでそれを入れておきました。可変抵抗VRはArduinoからの5Vを適当に抵抗分配してチェック用の電位を作るために入れてあります。

 

 

□ スケッチ

とりあえず動けばいいやというスケッチです。


#include
byte dh,dl;
long d;

void setup(){
  Wire.begin();
  Serial.begin(9600);
  delay(1000);
}


void loop(){
  Wire.beginTransmission(0b1101000);
  Wire.write(0x88);
  Wire.endTransmission();
  delay(200);

  Wire.requestFrom(0b1101000,2);
  dh = Wire.read();
  dl = Wire.read();
  d = dh *256 + dl;
  Serial.println(d,DEC);
  delay(500);
}

注意点というほどでもありませんが試作していてハマったことなどを幾つか列記します。

まず、Wire.beginTransmissionやWire.requestFromで指定するデバイスアドレスですが、秋月で購入したデバイスアドレスは7ビットで指定する1101000です。0x68であって、0xd0でありません。

次に、Wire.readでMCP4325からデータを読み込む際の変数の型ですが、Arduinoのマニュアルはcharで受けていますが、これをやるとArduinoが補数表現を使っておかしな結果を見ることになります。ですから上の例のようにbyte型で受けるほうがいいともいます。

Wire.write(0x88);で送り込む0x88がconfiguration registerの内容です。

bit7: 1=変換開始 0=最後に変換したデータ

bit6-5: 特に意味ない

bit4: 1=連続的に変換 0=1回だけ変換

Bit3-2: 分解能 00=12ビット 01=14ビット 10=16ビット

bit 1-0: ゲイン 00=1V/V(ゲイン1倍)  01=2V/V 10=4V/V 11=8V/V(ゲイン8倍)

Wire.endTransmissionしてから200msほど待っていますが、上の16ビット分解能だと秒15回くらいしかサンプリングできないようですので、最低でも1回の変換に70ミリ秒くらいかかることになります。この辺りに余裕をみて200msとしています。

あとは、変換の基準は内部で作られる2.048Vです。Vin+-Vin-が0V以上2.048Vまでなら0~07FFに変換されます。Vin+-Vin-が-1LSBなら0xFFFF,-2.048Vなら8000と負側は補数表現で表されます。上のスケッチは正の側では正しく動きますが、入力が負の側へは何も配慮していないのでご注意ください。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする