忍者ブログ
[15]  [16]  [17]  [18]  [19]  [20]  [21]  [22]  [23]  [24]  [25
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Vs6をあげるとVisual studio2013のインストール表示になって終わらない

なんとかVS2013のエラーはupdate5で終演したが、今度は突然vb6を
起動すようとするとvs2013インストールが上がって、キャンセルしても
キャンセルが永遠に終わらない

vs6をあげるとvs2008で同じ現象が出たことがあるので、
windows10の完全シャットダウン後にvs201 3with update5を修復インストール
で何とか復帰

インストーラ等を動作させた時は、一度完全シャットダウンをしたほうが
よさげ、、、

windowsUpdate後にインストーラが走る現象は他のアプリでも経験して
おり、MSさん原因は何?



拍手

PR
Visual studio2013 起動後にしばらくしてエラーで終了する


windows10 64ビット vs2015,vs2017同居
昨日まで起動が今日いきなりVs2015が起動後ダウンする現象が発生
セーフモードであげても同じ現象

他のPCでは正常動作

対応
修復インストール 修復せず
再インストール + update4 回復せず
VisualStudio2013 with update5 x86をMSよりダウンロードし
クリーンインストールで回復

MSのupdate後は鬼門

去年の今頃も発生した記憶があるがとっとと2017を使えと
いう事だろうかVS2015も結構落ちまくるのに、2017は怖くて
まだ使えない

VB2008が一番安定している感じ

拍手

RaspberypiでDCモータ by ラズパイマガジン2017/10

立体配線図だけで回路図がなく、コピペ専用の記事なので補足

                                                                 (VCC)
                                                                  |
                                               -----   M    -----    
                                              |-  ダイオード+|
                                              D
16pin(wiringpi23)----1k---G |-
                                      |      S
6pin gnd                       20k   |
          |                          |      | 
          gnd                      gnd gnd

1k     信号安定用
20k    信号入力が不足の時にGNDへ
ダイオードはモータ=発電機なので逆転した時に逆起電力を
回路にもどさない


>import time, wiringpi as pi
タイムとワイアリングパイを使うよ
>motor_pin = 23
16ピン ウィアリングパイ23
>pi.wiringPiSetupGpio()
gpio使用
>pi.pinMode( motor_pin, pi.OUTPUT )
23を出力に
while True:
 > pi.digitalWrite( motor_pin, pi.HIGH ) 出力ON 回る
    time.sleep(1) 1秒待ち
>   pi.digitalWrite( motor_pin, pi.LOW ) 出力OFF 止まる
    time.sleep(3) 3秒待ち

このままだとHIGH状態でbreakすると回りぱなしになる

GPIO.clearnup()したいのでけどwiringpiではコマンドが??

一応初期化で処理
  try:
  except KeyboardInterrupt:
    pi.digitalWrite( motor_pin, pi.LOW )
    pi.wiringPiSetupGpio()
    break


ついでに回転数制御で

    speed = 0
    while ( speed <= 100 ):
        pi.softPwmWrite( motor_pin, speed )
        time.sleep(0.1)
        speed = speed + 1

0-100%まで連続変化だがこれは電圧を0から3.3Vに
アナログ変化でなく、擬似的に振幅の変化で作り出している







拍手

再起動中に画面の解像度がVGAになった(原因不明)

sudo leafpad /boot/config.txt
で設定ファイルを変更

hdmi_mode=16 または35に (1024x764 1248x1024)

なんで勝手に変更される?

拍手

RaspberypiでカラーRGBセンサー

ラズパイマガジン2017年10月号のソースを解析してみました。

ちなみにこのセンサーの浜松フォトニックスは、神岡のスーパー
カミオカンデでニュートリノの光検知センサーのメーカーさんで
ノーベル賞受賞に貢献した会社です。

ラズパイマガジン全般に言えることなんだけど、ソースのコピペで
動作はするが、肝心のソース意味が理解できないのが問題だと思う

特にwiringpiを標準としているが、内容を理解して使わないと結局
何もできない事になる。超入門者はともかく、次のステップは苦労
しながら手組に挑戦が必要だが、この段階になると書籍がない

結局ネットでコピペで終わりになってしまう

まずは
>import time, wiringpi as pi
時間を使うのでtimeを
wiringpiをインポート
>S11059_ADDR = 0x2A
i2cの接続アドレス sudo i2cdetect -y 1で確認
認識しない 安物のボードがケーブルが原因、取り替えましょう
過去ケーブルが内部で繋がっていない事が何度かあった、恐るべし中華品質
安物センサーの場合は、初期不良も多々、悩む時間があったらとっとと
買い換えるべし

amazonの評価でで誰かが複数個買って1個でも動作すればOKと
書いていたが安物センサーは、ラテン気質が必要、
このセンサーのように国内一流メーカー製品なら安心。

>def read_sensor( reg ):
    h = i2c.readReg8( S11059, reg )  #'8bit read
    l = i2c.readReg8( S11059, reg + 1 )  #'8bit + 1byye
    data = ( h << 8 ) + l  #'shift8bit + 8bit
    return ( data )

基本的にI2CであろうとSPIであろうと、センサーのレジスタと
raspberypiがやり取りしてデータの送受信をおこなう。
レジスタの概念が必須になる。
センサーにはレジスタマップがかならず公開されているので
そのマップに基づきデータの送受信を実施する

このソースは
x02a(センサー)のアドレスから8ビットをhに格納
x02a(センサー)のアドレス+1から8ビットをiに格納
hに8ビット上位ビットにシフトして下位8ビットにiをセット
16ビットにして10進数で戻す
上位ビットシフトだが256倍する方法もある

>i2c = pi.I2C() #instance
>S11059 = i2c.setup( S11059_ADDR )  #adress set
>time.sleep(1)

ワイアリングでインスタンス(動作させる為の名前)を作成
x02aアドレスをセット(今後は、このインスタンスはこのアドレスに対して
動作)
1秒間お待ちなさい

>while True:
    i2c.writeReg8( S11059, 0x00, 0x89 ) #10001001 adcreset sleep off 14.ms
    i2c.writeReg8( S11059, 0x00, 0x09 ) #00001001 x x x x low x x 1.4ms 
    time.sleep( 1.0 )

一生働け
x02aのx00にデータx89 を書き込め
レジスタマップのx00を見るとコントロールになっており、各ビットに
0か1をセットするとその動作になる
このx89はADCリセット、スリープ解除、通信14msという命令

x02aのx00にデータx09 を書き込め
このx09はADCリセット解除、通信14msという命令
(ここでraspberypiからのデータ送信命令を待機)
1秒間お待ちなさい 
(待っている間、データが積分される)

ここまでは、秋月のデータシートのサンプル通り
固定モードで実行

> i2c.writeReg8( S11059, 0x03, 0x2A )

readモードに変更

> r = read_sensor( 0x03 )
> g = read_sensor( 0x05 )
> b = read_sensor( 0x07 )
> ir = read_sensor( 0x09 )

x03,x05,x07,x09から読み出し
>def read_sensor( reg )で10進数に変換


>print ( "R:", r, " G:", g,  " B:", b, " IR:", ir )
表示

という具合だが、

ポイントは
・マスタースレーブ間のデータのやり取り(プロトコル)
・レジスタ操作
・シフト演算

この3つの知識は必須、コピペではマスターできない

素朴な疑問、このセンサーは実務で何に使えるの?





 






拍手

カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
フリーエリア
最新CM
[03/10 DORA]
最新TB
プロフィール
HN:
dorabu
性別:
非公開
バーコード
ブログ内検索
P R
Copyright © ドラブーのアンドロイドとIoTなブログ All rights reserved. / Template by 四季. / Material by てんせん.

忍者ブログ [PR]