Archive for the ‘Knowledge’ Category
Analog Discovery 購入
Analog Discovery を購入。 2015.10.03
電子回路の動作を確認する為には、信号を測定する装置が必要です。
オシロスコープを検討する中で、DIGILENTの Analog Discovery を選択しました。
Agilentの200MHz DIjital OscilloScope を使用した経験から、見劣りするかなとの危惧がありました。
アナログでの周波数帯域は、5MHzしかありませんが、通常の電子工作では使える範囲です。
価格は高いですが、多彩な機能があり、オシロを購入するより満足する場面が多々あります。
オシロスコープではできない優れた機能:
1. 直流電圧測定のオフセットを大きく取れる。例:直流の細かな変動を測定できる。
2. 表示サイズを大きくできる。例:27インチの画面表示。
3. 画面の保存が容易:例:スクリーンショットで即時及び自在に撮れる。
4. 拡大表示がが容易:例:縦、横及び全体の大きさを自由に選択できる。
5. 測定とパソコンの機能が同時に使用できる。例:メモ帳等で文書の作成。
6. パソコン画面に多くの波形表示が出来る:例:測定済みの波形と比較できる。
購入先:秋葉原、秋月電子通商。 価格:総計 46,989円。 Analog Discovery = 36,000円。(左上) Discovery BNC Connector = 2,140円。(左下) Analog Parts Kit = 6,980円。(右下) Connector , BNC Cable 等 = 1869円。(右上)* *コネクターやケーブルは、末広町近くの コンピューエースが安い。 BNC-SMAコネクター = 124円。 SMAケーブル 0.5m = 288円。 |
|
Analog Discovery:digilent.waveformsの画面。 . 使用条件:iMac+ VM Ware + Windows XP + digilent.waveforms_v2.7.5 。 . 測定は2CH、信号発生器は2CH。 オシロスコープには無い多彩な機能がある。 |
Analog Discovery で ESP8266 の電源を測定する。これにより、ESPの電源問題が明らかになる。
Arduino UNO + ESP12 Sheeld . ESP12の電源3.3Vを測定。 . ESPの3.3V電源端子直下(左上)と GND端子直下(左下) を測る事。(重要) . 5VからAS1117L33 LDR(中央のIC) (3.3V 800mA)で3.3Vを作っている。 |
|
ESPの電源電圧を測定し分析 | 動作しない原因は、電源容量の不足である |
Arduinoの電源は、マックに接続した USB HUB(電源付き) に接続。 . Hi = 3.27V Lo = 2.74V . Lo は、3.0V (ESP最低動作電圧)より低い。 送信時に2.74Vまで落ちている事が解る。 . 3端子の出力にCapacitorを追加しても変化なし |
|
ESP12 3.3vの電源は、USB -> Arduio(5V) -> AS1117L 33(3.3V 800mA)3端子の容量は充分。 . USB電源をエネループに変更し電流容量を増す。 . Hi = 3.29V Lo = 3.02V 3.0Vギリギリだが、電圧は確保できている。 |
|
ArduinoのAC Adapterは、9V〜12V DCの仕様。 . AC Adapter 6V 2.0A は、電力不足でダメ。 . AC Adapter 12V 2.5A は正常。(左画像) Hi = Lo = 3.25V |
|
電圧(縦)を、10mV レンジに拡大した波形。 . 電圧低下は、10mV . スパイクは、100mV . AC Adapter 9V 2.0A も同様の波形。 |
|
不具合事例:ESP-WROOM 02単体での実験。 ブレットボードで、3端子LDO出力から ESP電源端子までの配線が6cmの場合。 配線の抵抗(0.32Ω)により、ESP電源端子は 3.25Vから3.09Vに低下(0.16V)。 さらに送信時の電圧は、2.3V となり、 ESPは、ハングアップ状態となった。 |
|
波形の分析から解る事。 . ESPは送信時の消費電流が大きい為に、 配線や内部抵抗による影響が大きい。 . ESPの動作を安定化させる対策と方法。 |
1. USB電源は、容量の多い物を使う。 2. AC アダプターは、容量の多い物を使う。 3. 3端子Regulatorは、容量の多い物を使う。 4. 3端子Regulatorの配置は、 _ ESP電源端子の直下に接続する事。 5. 平滑キャパシターの配置は、 _ ESP電源端子の直下に接続する事 |
参孝:
アナログ回路のおもちゃ箱:Analog Discovery
あるエンジニアの回想録:Analog Discovery で遊んでみた
CQ出版社:レギュレータの動作安定性を 実測して検証する
CQ出版社:腕上げまくり!オールマイティ・ アナライザ Analog Discovery
マイナビニュース:これからはじめる人のためのMATLAB活用術
趣味のオーディオ製作:Analog Discovery試用記
フルバランス アンプ:Analog Discoveryで自動測定
他の製品:redpitaya の方が良さそうでもある。
_ Analog Discavaryと同様なKickstarter発のredpitayaは、Ethenet接続。
_ これは、どのPCでも波形を見る事ができます。つまり、iPadでも見れる。
_ つまり、Analog Discavaryのような、Windowsやアプリを使う必要がない。
_ 価格が高い事は高いですが、円高の影響が大きい Analog Discavary と、さほど変わらず。
_ 今回は、実際に確認していない為、購入は見送りました。
TI SensorTag と iPhone、iPad
2年程前に購入した、手のひらに入る TI SensorTag を iPad で動かしてみた。 2015.09.11
温度、湿度、圧力、加速度、ジャイロ、磁力、スイッチ をセンスしBLEで通信します。
アプリは新しくなり、TI SensorTag という名前で無料。
iPhone,iPad,Nexus,Xperiaにも使え、ボタン電池(CR2032)は、結構長持ちします。
新しいセンサー:IoT made easy もある。
TI Sensor Tag
TE Sensor Tag
開発環境:
techBasic というMac、iPhone/iPad用の開発言語がある。
Mac:techBASIC App Builder
サンプルが沢山あり、カット & ペースト・レベルでアプリを作る事が可能。
無料版の techSampler でも動きます。
参考:
iTunes Preview:旧版 SensorTag
iTunes Preview:TI SensorTag ver 4.2
iTunes Preview:TE Sensor Tag
iTunes Preview:Texas Instruments:他に沢山のアプリがでている。
Texas Instruments:SensorTag User Guide
Texas Instruments:Texas Instruments CC2541 SensorTag Development Kit
Texas Instruments: CC2541 SensorTag
Texas Instruments:IoT made easy
Texas Instruments: SensorTag2015:新しいセンサーが充実しています。
Controlling the TI SensorTag with techBASIC:センサー及びBLEプログラムの基礎と詳細
techBasic
techBAsic Documentation:
_ techBASIC Reference Manual、Quick Start Guide for iPad、Quick Start Guide for iPhone
購入方法: DigiKey(3427円), Amzon.com, Texas Instruments, mouser で販売しています。
感想:
_ Hard:ハードの製作が必要ないのは楽です。部品や配線が細かく改造がしにくい。
_ 電源:ボタン電池(CR2032)は、結構長持ちし、電子工作にある電池の問題は楽になります。
_ 速度:BLEの速度は遅いですが、温度程度なら充分かと思われます。
_ BLE:サンプルにはBLE通信の極意がありブルーツース制御の参考になります。
_ teckBasic:グラフ標示は遅いが、BASICレベルで iPad のアプリを製作できるメリットは大きい。
_ Basicと言っても、Xcodeのような長ったらしい名前が多い。
Nextion TFT HMI 到着レポート
_INDIGOGOでの Nextion: a cost-effective high-performance TFT HMI が中国から届く。2015.7.11
名称:NX4827T043_011R。規格:4.3int(480*272,65536 Color, With Touch panel)。価格:$30。
見栄えは良いが、Arduino IDEではどうやって開発するの? 、、、が、実は出来ないのである。
デモ画面:
電源を入れてデモ画面を見る(反射するので斜め撮り)。
明るさも解像度も充分良い。大きさは、4.3インチ( 480 * 272 ) で見易い。
入力にタッチセンスが使えて操作が便利な事と入力に関するハードも不要になる。
そして配線がシリアル2本で済む所が最大の利点、他のポートが多数使用できる事になる。
使いこなせば、5int(800*480)タイプもあるので期待ができる。
Nextion HMI Solution:
特徴は通信に1つのシリアルポートだけで済み、配線の労力を減らしインターファイスを豊かにする。
編集は、インターフェース設計を豊かにするために、ボタン、テキスト、プログレス・バー、スライダー、計器板その他のような大量の構成要素を持っている。そして、タッチパネルのドラッグ&ドロップ機能により開発作業負担を減らす。 と記載され、ソフト作成時に期待ができる環境だ。
開発環境:
Nextion Editor で、Windows用のみである。ただし、CNXSOFTでは、2015後半?にLinuxおよびMac OSのバージョンとも記載されている。
販売:
現在(2015.07.11)、Nextion NX2432T043 4.3インチは、$44.90で販売している。
過去:
aitendoのディスプレーはひどかったね。良い点は安くてピン数が少ない事だがタッチセンスの配線がSD CARDのラインとショートとか端子の間隔が設計ミスでも堂々と販売している。これはもとの中国の販売店も同じものを売っていた。多数購入したが、結果、手間や費用がかなりかかった。
きちんと動作する違うタイプのDisplayを海外から購入したが、配線を変換する基盤が1枚必要でかさばる始末。なんとも、簡単にできるArduinoらしくない、理想的でない状態。
応用例:
Nextionは、理想的な規格と出来上がり。値段は少々しますが、きちんと動く方が大切。
応用例に、Wboard Pro(Arduino MEGA+ESP8266)を使用した
Weather Station: Use Nextion 4.3″ with Wboard があり、ESP8266でインターネット接続ができる。
問題点:
INDIGOGOでの説明が初心者にとっては非常に不十分である。
開発環境がどうなっているのか具体的でなく、直ぐ出来ない状況にある。
ネットでは、早々に、How about making the Nextion IDE open source ? の質問がある。
Nextion Editor なるものがあるが、Windows 用であり、マックでは出来ないのである。
GUIを駆使した装置は見栄えは良いが、開発環境やレベルが高いと素人には無理で使えない事になる。
以下のサンプルは、Arduinoのシリアル出力からシリアルデーターを送るだけであり、Nextion上で動いているソフトの中のprogress Barに表示するだけのものである。これでは、使えない。
Product Preview: Nextion in an Arduino Project (2)
Arduino IDE では、開発できない:
GUIや入出力のプログラム作成は、Nextion Editor で行い、この Display に、インストールする。
センサーとの信号のやり取りは、Arduinoでプログラムする。信号は、Serial通信で行う。
これには、Nextion Editor や新しいコマンドの習熟が必要で、直ぐには使えない。
Arduino IDEでは、全ては出来ない。
よって、現在の知り得る情報では、このディスプレーは使えない事になる。
参考:
1. tronixstuf:Review – Nextion TFT Human Machine Interface
_ ハードウェア:
_ Nextionが表示され、タッチスクリーンと、4.3″(480×272)と2.4″(320×240)表示サイズがある。
_ ソフトウェア:
_ ディスプレイインターフェイスは、Windows用のIDE(統合開発環境)を使用して作成される。
2. CNXSOFT:Nextion 2.4″ and 4.3″ UART TFT Displays Come with a Drag and Drop UI Editor
_ インターフェースとの接続を簡素化し、開発者がコーディングすることなく、ユーザー·
_ インターフェースを作成することができ、それらのNextionエディタで簡単にUIデザイン
_ を作ることを目指しています。
_ Nextionエディタは、WYSIWYGユーザーインターフェイスエディタでは、独自のイメージ/
_ アイコンをドラッグ&ドロップ_ ができ、テキスト、ボタン、プログレスバー、メニュー、
_ ゲージ、などの定義されたコンポーネントが付属しています。
_ Nextionエディタは、Windowsでのみ使用可能ですが、LinuxおよびMac OSのバージョンは、
_ 2015年の後に出てくることがあり、、目標です。
以上、到着のレポートでした。
DYNAMIC RANGE Mesurement of HTBasic
HTBasicでスピーカーのダイナミックレンジ測定アプリを作る。 2015.07.11
計測器は、Audio Analyzer,DVM,Sound Level Meter。画像はシュミレーション画像。
! RE-STORE "DYNAMIC RANGE ANALYZER" ! *********************************************************************** ! BPLUS ! ORG 2008.06.27 macsbug ! HANDSET DYNAMIC RANGE ANALYZER ! REV 2015.07.11 macsbug ! *********************************************************************** ! Black=0,White=1,Red=2,Yellow=3,Green=4,Cyan=5,Blue=6,Magenta=7 LOAD BIN "BPLUS" ! PLUS MODULE LOADING COM @C ! SUB VALUE SET COM M$(0:3)[20],T$[80] ! Menu,TEXT M$(0)="Loop Test=OFF" ! SYSTEM MENU = Loop Test ON/OFF M$(1)="Printer=ON " ! SYSTEM MENU = Printer ON/OFF M$(2)="Print" ! SYSTEM MENU = Printout M$(3)="Quit" ! SYSTEM MENU = Quit Io_initialize:!--------------!----------------------------------------- CONTROL 10,102;1 ! PRINTER SELECT = LAN PRINTER CLEAR SCREEN ! SCREEN = CLEAR KEY LABELS OFF ! MENU KEY DISPLAY = OFF REMOTE 7 ! HPIB SETUP:SYSTEM SELECT=7 Aan=708 ! 08:AUDIO ANALYZER : 8903B Dvm=722 ! 22:DIGITAL VOLT METER : HP34401A OUTPUT Aan;"AUFR1000HZ" ! AAN:FREQUENCY OUTPUT Aan;"AP4000MV" ! AAN:0.4 VOLT AC OUTPUT OUTPUT Aan;"M1" ! AAN:AC VOLT OUTPUT Dvm;"F2" ! AC WAIT 3 ! Agc_chart:!------------------------------------------------!----------- ASSIGN @C TO WIDGET "STRIPCHART" ! MODULE CONTROL @C;SET ("SYSTEM MENU":M$(*)) ! MENU CONTROL @C;SET ("TITLE":" DYNAMIC RANGE ANALYZER") ! TITLE CONTROL @C;SET ("SHOW GRID":1,"TRACE BACKGROUND":1) ! 1=White CONTROL @C;SET ("X":10,"Y":5,"WIDTH":760,"HEIGHT":270*2) ! X,Y,W,H CONTROL @C;SET ("CURRENT AXIS":"X","ORIGIN":100,"RANGE":1720)! HORIZON CONTROL @C;SET ("CURRENT AXIS":"X","AXIS LABEL":"FREQ(Hz)")! X LABEL CONTROL @C;SET ("CURRENT AXIS":"Y","ORIGIN":60,"RANGE":60)! VERTICAL CONTROL @C;SET ("CURRENT AXIS":"Y","AXIS LABEL":"DB") ! Y LABEL CONTROL @C;SET ("TRACE PEN":2,"VISIBLE":1) ! 2=Red CONTROL @C;SET ("TRACE COUNT":20,"CURRENT TRACE":0) ! CONTROL @C;SET ("POINT CAPACITY":100000) ! ON EVENT @C,"SYSTEM MENU" GOSUB Sysmenu ! MENU EVEN !-----------------------------------------------------------!----------- Memo_chart:! ! ASSIGN @M TO WIDGET "PRINTER";SET ("BACKGROUND":1) ! CONTROL @M;SET ("X":775,"Y":5,"WIDTH":220,"HEIGHT":210) ! CONTROL @M;SET ("TITLE":" LRU MEMO") ! CONTROL @M;SET ("APPEND TEXT":"HANDEST DYNAMIC RANGE") ! CALL Date(D$) ! DATE READ CONTROL @M;SET ("APPEND TEXT":"DATE : "&D$) ! DATE PRT CONTROL @M;SET ("APPEND TEXT":"TIME : "&TIME$(TIMEDATE)) ! TIME PRT CONTROL @M;SET ("APPEND TEXT":"") ! SPACE BEEP ! L$="P/N" ! GOSUB Lru_memo ! P/N L$="S/N" ! GOSUB Lru_memo ! S/N Info_chart:!-----------------------------------------------!----------- ASSIGN @P TO WIDGET "PRINTER";SET ("BACKGROUND":1) ! CONTROL @P;SET ("X":775,"Y":220,"WIDTH":220,"HEIGHT":100) ! CONTROL @P;SET ("TITLE":" MEMU INFO") ! CONTROL @P;SET ("APPEND TEXT":M$(0)) ! CONTROL @P;SET ("APPEND TEXT":M$(1)) ! Data_chart:!-----------------------------------------------!----------- ASSIGN @D TO WIDGET "PRINTER";SET ("BACKGROUND":1) ! CONTROL @D;SET ("X":775,"Y":325,"WIDTH":220,"HEIGHT":190) ! CONTROL @D;SET ("TITLE":"DATA") ! !-----------------------------------------------------------!----------- Mesure_setup:! ! Vr=4000 ! START VOL L1: WAIT .2 ! OUTPUT Aan;"AP"&VAL$(Vr)&"MV" ! VOLT ADJ OUTPUT T$ USING "12A,4D,5A";"SG OUTPUT = ";Vr;" mVAC" ! SG OUT CONTROL @D;SET ("APPEND TEXT":T$) ! SG OUT WAIT .5 ! ENTER Dvm;V ! READ INPUT OUTPUT T$ USING "12A,4D,5A";"INPUT VOL = ";V*1000;" mVAC"! INPUT VOL CONTROL @D;SET ("APPEND TEXT":T$) ! INPUT VOL IF ((V>.98) AND (V<1.02)) THEN GOTO Measure ! SETUP END IF (V<1) THEN D=INT(100*(1/V)) ! 4V 0.8 +125 IF (V>1) THEN D=-1*INT(100*(V/1)) ! 4V 1.2 -120 Vr=Vr+D ! GOTO L1 ! new setup !-----------------------------------------------------------!----------- Measure: ! ! x axis CONTROL @M;SET ("APPEND TEXT":"") ! SPACE CONTROL @M;SET ("APPEND TEXT":"SG OUT: "&VAL$(Vr)&"mVAC") ! SG OUT Va=INT(V*1000) ! CONTROL @M;SET ("APPEND TEXT":"INPUT : "&VAL$(Va)&"mVAC") ! INPUT VOL OUTPUT Aan;"LG" ! DB FOR Freq=100 TO 1800 STEP 20 ! FREQ LOOP OUTPUT Aan;"FR"&VAL$(Freq)&"HZ" ! AAN FREQ WAIT .5 ! ENTER Aan;V ! y axis V=-1*(V-80) ! OUTPUT T$ USING "9A,DDD.D,3A";"OUTPUT = ";V;" DB" ! CONTROL @D;SET ("APPEND TEXT":T$) ! CONTROL @C;SET ("CURRENT TRACE":1,"TRACE PEN":2) ! DRAW SET CONTROL @C;SET ("POINT LOCATION":Freq,"VALUE":V) ! DRAW SP NEXT Freq ! +Freq !-----------------------------------------------------------!----------- IF M$(1)="Printer=ON " THEN CALL Print_out ! PRINT OUT IF M$(0)="Loop Test=ON " THEN ! CONTROL @C;SET ("CURRENT TRACE":0,"VALID POINTS":0) ! DRAW CLR GOTO Measure ! LOOP END IF ! GOTO Finish ! !===========================================================!=========== ! SYSTEM MENU EVENT ROUTINE ! Sysmenu:!--------------------------------------------------! STATUS @C;RETURN ("SYSTEM MENU EVENT":N) ! IF N=2 THEN CALL Print_out ! Print IF N=3 THEN GOTO Finish ! Quit IF M$(N)="Loop Test=ON " THEN T$="Loop Test=OFF" ! N=0 IF M$(N)="Loop Test=OFF" THEN T$="Loop Test=ON " ! Loop Test IF M$(N)="Printer=ON " THEN T$="Printer=OFF" ! N=1 IF M$(N)="Printer=OFF" THEN T$="Printer=ON " ! Printer IF N=0 OR N=1 THEN ! M$(N)=T$ ! MENU CG CONTROL @C;SET ("SYSTEM MENU":M$(*)) ! MENU SET END IF ! CONTROL @P;SET ("APPEND TEXT":M$(0)) ! CONTROL @P;SET ("APPEND TEXT":M$(1)) ! RETURN ! !===========================================================!========== Lru_memo:!-------------------------------------------------! B$=" LRU MEMO" ! T$="Please enter LRU "&L$ ! DIALOG "STRING",T$;SET ("TITLE":B$),RETURN ("VALUE":U$) ! CONTROL @M;SET ("APPEND TEXT":L$&" "&U$) ! RETURN ! !===========================================================!========== Finish:!---------------------------------------------------! WAIT 2 ! DIALOG "QUESTION","Finish",Btn;SET ("TITLE":"Finish") ! ASSIGN @C TO * ! ASSIGN @D TO * ! ASSIGN @M TO * ! ASSIGN @P TO * ! END ! !===========================================================!========== ! CALL SUB ROUTINE ! !===========================================================!========== SUB Print_out ! GINIT ! GCLEAR ! AREA PEN 1 ! White RECTANGLE 1024,768,FILL,EDGE ! FILL RECTANGLE 10,10,FILL,EDGE ! BG=White CONFIGURE SYSTEM ("DUMP;PLUS") ! MODULEs CONFIGURE DUMP TO "WIN-DUMP;INVERT" ! INVERT DUMP GRAPHICS #10 ! PRINT OUT CLEAR SCREEN ! SUBEND ! !===========================================================!========== SUB Date(Ymd$) ! CALCURATE !-----------------------------------------------------------!---------- DIM Y$(12)[3],X$(12)[3] ! DATE DATA Jan,01,Feb,02,Mar,03,Apr,04,May,05,Jun,06 ! 1 TO 6 DATA Jul,07,Aug,08,Sep,09,Oct,10,Nov,11,Dec,12 ! 7 TO 12 FOR I=1 TO 12 ! 1 TO 12 READ Y$(I),X$(I) ! DATA READ NEXT I ! D$=DATE$(TIMEDATE) ! TODAY Mon$=D$[4,6] ! MONTH FOR I=1 TO 12 ! 1 TO 12 SELECT Mon$ ! SEL MANTH CASE Y$(I) ! SEL YEAR Mon$=X$(I) ! SET MANTH Day$=D$[1,2] ! SET DAY IF Day$[1,1]=" " THEN Day$="0"&Day$[2,2] ! " " = 0 Year$=D$[8,11] ! SET YEAR Ymd$=Year$&"."&Mon$&"."&Day$ ! YYYY. END SELECT ! MM.DD NEXT I ! SUBEND ! !===========================================================!==========
Resistance Logger for HTBasic
HTBasic で、レジスタンス・ロガーを作成。 2015.06.07
デジタルマルチメーターのオームレンジで抵抗値を測定しグラフで表示する。
軸:縦は抵抗値、横は時間(分)で抵抗値の変化をグラフ化する。
スライドバー:左は縦軸の変更、右は時間軸の変更(測定中に変更可)。
警告音:リミット値を超えるとスピーカーから音が出る。
HTBasic は、Rocky Mountain BASIC (RMB) 言語のためのBASICインタープリタです。
GPIBインターフェースを通じ計測器(GPIB付)をコントロールしデーターを取得します。
OS環境:Windows。
使用計測器:Agirent 3458A 叉は、Agirent 34401A。
汎用性:縦軸の抵抗値をDC電圧に変更すると、DC LOGGERになります。
時間間隔:約0.5秒で低速です。
未装備:オートレンジは組み込んでいませんが、追加は簡単です。
メモ:
今時、HTBasicの話は極めて少ないと思いますが、PLUS MODULE が素晴らしく、備忘録としました。
高性能で高価な計測器を自在に扱えると便利ですし、仮想の計測装置が作れます。
参考:HP-BASIC入門。 HTBasic Tip。
プログラムを以下に示します。
1000 ! RE-STORE "RESISTANCE_LOGGER" 1010 !*********************************************************************** 1020 ! RESISTANCE LOGGER PROGRAM ! 1030 !----------------------------------------------------------------------- 1040 ! COPYRIGHT ! ORG : BY macsbug 1050 ! ORG 2008.07.-- ! BPLUS DESIGN : BY macsbug 1060 ! REV 2015.05.-- ! Resistance Logger : BY macsbug 1070 ! ********************************************************************** 1080 ! Black=0,White=1,Red=2,Yellow=3,Green=4,Cyan=5,Blue=6,Magenta=7 1090 LOAD BIN "BPLUS" ! PLUS MODULE LOADING 1100 DIM M$(0:4)[20],T$[80] ! Menu,TITLE 1110 ! I/O -------------------! 1120 Hpib=8 ! HPIB SYSTEM No. 1130 Dvm=803 ! DVM HPIB ADDRESS. HP3478A(Agilent 34401A) 1140 ! Variable --------------! 1150 M$(0)="Loop Test=OFF" ! SYSTEM MENU = Loop Test ON/OFF 1160 M$(1)="Printer=OFF" ! SYSTEM MENU = Printer ON/OFF 1170 M$(2)="Sound=ON " ! SYSTEM MENU = Sound Monitor ON/OFF 1180 M$(3)="Print" ! SYSTEM MENU = Printout 1190 M$(4)="Quit" ! SYSTEM MENU = Quit 1200 T$=" RESISTANCE LOGGER" ! TITLE 1210 R_limit=10 ! RESISTOR LIMIT 1220 CLEAR SCREEN ! 1230 CALL Date(D$) ! DATE 1240 KEY LABELS OFF ! 1250 !------------------------------------------------------------------------ 1260 ! DATE ! 1270 !------------------------------------------------------------------------ 1280 ASSIGN @Dt TO WIDGET "PRINTER";SET ("BACKGROUND":1) ! 1290 CONTROL @Dt;SET ("X":815,"Y":10,"HEIGHT":70,"WIDTH":200) ! 1300 CONTROL @Dt;SET ("TITLE":"DATE") ! 1310 CONTROL @Dt;SET ("FONT":"20 BY 20,BOLD") ! FONT SIZE 1320 CONTROL @Dt;SET ("APPEND TEXT":" "&D$) ! 1330 !------------------------------------------------------------------------ 1340 ! CLOCK ! 1350 !------------------------------------------------------------------------ 1360 ASSIGN @Clock TO WIDGET "CLOCK" ! 1370 CONTROL @Clock;SET ("TITLE":" TIME","BACKGROUND":37) ! 1380 CONTROL @Clock;SET ("X":815,"Y":85,"HEIGHT":200,"WIDTH":200) ! 1390 !------------------------------------------------------------------------ 1400 Io_set_up:!--------------------------------------------------!--------- 1410 CONTROL 10,102;1 ! PRINTER SELECT = LAN PRINTER 1420 CLEAR SCREEN ! SCREEN = CLEAR 1430 KEY LABELS OFF ! MENU KEY DISPLAY = OFF 1440 REMOTE Hpib ! HPIB SETUP 1450 CLEAR Dvm ! DIGITAL VOLT METER HP3458A = CLEAR 1460 WAIT 1 ! 1470 OUTPUT Dvm;"PRESET" ! DVM Agirent 3458A = RESISTOR MODE 1480 WAIT 1 ! DVM Agirent 3458A 1490 OUTPUT Dvm;"NORM" ! DVM Agirent 3458A 1500 WAIT 1 ! DVM Agirent 3458A 1510 OUTPUT Dvm;"OHM" ! DVM Agirent 3458A 1530 !OUTPUT Dvm;"F3R2N3T1Z1" ! DVM 34401A:R1=30,R2=300ohm,RA=AUTO RANGE 1540 WAIT 1 ! 1550 !------------------------------------------------------------------------ 1560 ! VERTICAL SIZE SLIDER 1570 !------------------------------------------------------------------------ 1580 Yh=300 ! VERTICAL 1590 ASSIGN @S1 TO WIDGET "SLIDER" ! SLIDER 1600 CONTROL @S1;SET ("TITLE":"Y") ! 1610 CONTROL @S1;SET ("X":815,"Y":290,"WIDTH":80,"HEIGHT":253) ! POSITION 1620 CONTROL @S1;SET ("MINIMUM":1,"MAXIMUM":20000) ! OHM 1-20000 1630 ON EVENT @S1,"DONE" GOSUB Cg1 ! 1640 !------------------------------------------------------------------------ 1650 ! HORIZONTAL SIZE SLIDER SET UP ! 1660 !------------------------------------------------------------------------ 1670 Xh=30 ! HORIZONTAL 1680 ASSIGN @T1 TO WIDGET "SLIDER" ! SLIDER 1690 CONTROL @T1;SET ("TITLE":"X") ! 1700 CONTROL @T1;SET ("X":900,"Y":290,"WIDTH":80,"HEIGHT":253) ! POSITION 1710 CONTROL @T1;SET ("MINIMUM":30,"MAXIMUM":180) ! TIME min 1720 ON EVENT @T1,"DONE" GOSUB Cg2 ! -> Cg2 1730 !------------------------------------------------------------------------ 1740 !Resistance_chart_set_up:!------------------------------------!---------- 1750 ASSIGN @P TO WIDGET "STRIPCHART" ! MODULE 1760 CONTROL @P;SET ("SYSTEM MENU":M$(*)) ! MENU 1770 CONTROL @P;SET ("TITLE":T$) ! TITLE 1780 CONTROL @P;SET ("SHOW GRID":1,"TRACE BACKGROUND":1) ! 1=White 1790 CONTROL @P;SET ("X":10,"Y":5,"WIDTH":800,"HEIGHT":270*2) ! X,Y,W,H 1800 CONTROL @P;SET ("CURRENT AXIS":"X","ORIGIN":0,"RANGE":30) ! 30min 1810 CONTROL @P;SET ("CURRENT AXIS":"X","AXIS LABEL":"minutes") ! X LABEL 1820 CONTROL @P;SET ("CURRENT AXIS":"Y","ORIGIN":0.,"RANGE":Yh) ! VERTICAL 1830 CONTROL @P;SET ("CURRENT AXIS":"Y","AXIS LABEL":"ohm") ! Y LABEL 1840 CONTROL @P;SET ("TRACE PEN":2,"VISIBLE":1) ! 2=Red 1850 CONTROL @P;SET ("TRACE COUNT":10,"CURRENT TRACE":0) ! 1860 CONTROL @P;SET ("POINT CAPACITY":216000) ! 3600*60*3 1870 ON EVENT @P,"SYSTEM MENU" GOSUB Sysmenu ! MENU EVEN 1880 !Main Routine ------------------------------------------------!---------- 1890 Measure: S=TIMEDATE ! START T 1900 Loop:! RESISTOR ---------------------------------------------!---------- 1910 WAIT .5 ! SICL time 1920 ENTER Dvm;D ! RESISTOR 1930 IF M$(2)="Sound=ON " AND D>R_limit THEN BEEP ! LIMIT OUT 1940 CONTROL @P;SET ("CURRENT TRACE":1,"TRACE PEN":2) ! DRAW SET 1950 CONTROL @P;SET ("POINT LOCATION":(TIMEDATE-S)/60,"VALUE":D) ! DRAW 1960 DISP "TIME = "&VAL$(INT(TIMEDATE-S))&" sec", ! DISP TIME 1970 DISP "RESISTOR = "&VAL$(D)&" ohm", ! DISP DATA 1980 DISP M$(0),M$(2),M$(1) ! DISP MENU 1990 !-------------------------------------------------------------!---------- 2000 IF (TIMEDATE-S)<(Xh*60-10) THEN GOTO Loop ! LOOP 2010 !------------------------------------------------------! 2020 IF M$(1)="Printer=ON " THEN CALL Print_out ! PRINT OUT 2030 IF M$(0)="Loop Test=ON " THEN ! 2040 CONTROL @P;SET ("CURRENT TRACE":0,"VALID POINTS":0) ! RESET 2050 GOTO Measure ! RE-START 2060 END IF ! 2070 GOTO Finish ! END 2080 !=============================================================!========== 2090 ! SYSTEM MENU EVENT ROUTINE ! 2100 Sysmenu: !---------------------------------------------------! 2110 STATUS @P;RETURN ("SYSTEM MENU EVENT":N) ! 2120 IF N=3 THEN CALL Print_out ! Print 2130 IF N=4 THEN GOTO Finish ! Quit 2140 IF M$(N)="Loop Test=ON " THEN T$="Loop Test=OFF" ! N=0 2150 IF M$(N)="Loop Test=OFF" THEN T$="Loop Test=ON " ! Loop Test 2160 IF M$(N)="Printer=ON " THEN T$="Printer=OFF" ! N=1 2170 IF M$(N)="Printer=OFF" THEN T$="Printer=ON " ! Printer 2180 IF M$(N)="Sound=ON " THEN T$="Sound=OFF" ! N=2 2190 IF M$(N)="Sound=OFF" THEN T$="Sound=ON " ! Sound 2200 IF N=0 OR N=1 OR N=2 THEN ! 2210 M$(N)=T$ ! MENU CG 2220 CONTROL @P;SET ("SYSTEM MENU":M$(*)) ! MENU SET 2230 END IF ! 2240 RETURN ! 2250 !-------------------------------------------------------------! 2260 ! REGISTOR SLIDER SELECT ! 2270 !-------------------------------------------------------------! 2280 Cg1:! ! 2290 STATUS @S1;RETURN ("VALUE":Yh) ! SLIDER 2300 CONTROL @P;SET ("CURRENT AXIS":"Y","ORIGIN":0.,"RANGE":Yh) ! VERTICAL 2310 RETURN ! 2320 !-------------------------------------------------------------! 2330 ! HORIZONTAL SLIDER SELECT ! 2340 !-------------------------------------------------------------! 2350 Cg2:! ! 2360 STATUS @T1;RETURN ("VALUE":Xh) ! SLIDER 2370 CONTROL @P;SET ("CURRENT AXIS":"X","ORIGIN":0,"RANGE":Xh) ! min 2380 RETURN ! 2390 !=============================================================!========== 2400 Finish: !----------------------------------------------------! END 2410 INPUT "MONITOR END ? (ENTER)",A$ ! 2420 ASSIGN @P TO * ! 2430 ASSIGN @S1 TO * ! 2440 END ! 2450 !======================================================================== 2460 ! CALL SUBROUTINE ! 2470 !======================================================================== 2480 SUB Print_out ! 2490 GINIT ! 2500 GCLEAR ! 2510 AREA PEN 1 ! White 2520 RECTANGLE 1024,768,FILL,EDGE ! FILL 2530 RECTANGLE 10,10,FILL,EDGE ! BG=White 2540 CONFIGURE SYSTEM ("DUMP;PLUS") ! MODULE 2550 CONFIGURE DUMP TO "WIN-DUMP;INVERT" ! INVERT 2560 DUMP GRAPHICS #10 ! PRINT OUT 2570 CLEAR SCREEN ! 2580 SUBEND ! 2590 !-------------------------------------------------------------!---------- 2600 SUB Date(Ymd$) ! CALCURATE 2610 !-------------------------------------------------------------!---------- 2620 DIM Y$(12)[3],X$(12)[3] ! DATE 2630 DATA Jan,01,Feb,02,Mar,03,Apr,04,May,05,Jun,06 ! 1 TO 6 2640 DATA Jul,07,Aug,08,Sep,09,Oct,10,Nov,11,Dec,12 ! 7 TO 12 2650 FOR I=1 TO 12 ! 1 TO 12 2660 READ Y$(I),X$(I) ! DATA READ 2670 NEXT I ! 2680 D$=DATE$(TIMEDATE) ! TODAY 2690 Mon$=D$[4,6] ! MONTH 2700 FOR I=1 TO 12 ! 1 TO 12 2710 SELECT Mon$ ! SEL MANTH 2720 CASE Y$(I) ! SEL YEAR 2730 Mon$=X$(I) ! SET MANTH 2740 Day$=D$[1,2] ! SET DAY 2750 IF Day$[1,1]=" " THEN Day$="0"&Day$[2,2] ! " " = 0 2760 Year$=D$[8,11] ! SET YEAR 2770 Ymd$=Year$&"."&Mon$&"."&Day$ ! YYYY. 2780 END SELECT ! MM.DD 2790 NEXT I ! 2800 SUBEND ! 2810 !=============================================================!==========
匿名検索する方法
匿名検索をするには、https://search.disconnect.me/ を使用する。 2015.05.17
検索能力は、Googleが一番大きい。
「音」で検索すると、URLの中に、「音」が入る。これにより、検索文字が漏れる。
匿名検索できるURL:https://search.disconnect.me/ で検索。
「音」で検索し、Google で行う。
検索文字が暗号化されている。
結果:匿名検索経由、Googleで検索できる。
地図
リアルタイム地図 及び 分布地図を、まとめてみました。
国際宇宙ステーション:国際宇宙ステーションの現在地(柏井勇魚氏製作)
はやぶさ2:はやぶさ2の現在地(柏井勇魚氏製作)
国際宇宙ステーション:国際宇宙ステーションの現在地(ライブ中継あり)
地球全体の気流・気温・海面水温:左下「earth」で日本語とか設定ができる。
世界の雨分布速報:GSMAP(衛生全球降水マップ)
Tokyo Wind Map:東京都の風速
meteoritessize | CartoDB:地球上にこれまで落ちた隕石の場所
地球の重力場:GGMplus 200メートル分解能マップ
Yearly Cycle of Earth’s Biosphere:地球も呼吸している
人工衛星観測:頭上を通過する人工衛星の軌道マップ
stuffin.space:地球を回り続けている物体の軌道を全てリアルタイムで3D表示
The Planet Is Losing Groundwater at an Alarming Rate:地球の地下水:gizmodo(日本文)
How many trees are there in the world?:地球上には今、木がどのくらいあって、どのように減っているのか
Digital Universe Atlas(三次元宇宙地図):カーター・エマート [Youtube]
興味深い世界地図を まとめた地図帳:海外生活、環境・自然、原発、感染症、社会
サイバー攻撃を可視化するWebサービス
_ Norse – IPViking Live:Norse社(セキュリティー企業)
_ Cyberthreat Real-Time Map:2D表示や3Dで地球が回る。カスペルスキー社
_ FireEye Cyber Threat Map:FireEye
_ NICTER WEB:情報通信研究機構
_ Virusmap:F-Secure Globe F-Secure Globe:F-Secure Globe
_ Cyberfeed:Live Global Botnet Visualizer
_ Übersicht über die aktuellen Cyberangriffe:
_ McAfee IPViking Live: HP IPViking Live:
Flightradar24:航空機の現在地。 リアルタイム航空便追跡:航空機の現在地
Flight Stream:飛行機の路線とフライト
東京メトロ:地下鉄の運行状況
ライブ船舶マップ:船舶の現在地
Mapping the internet:海底ケーブルの分布を表した図
全国放射線量測定マップ:放射線量。 全国放射線:放射線の状況
2011年の日本の地震 分布図:2011年に発生した日本付近の地震を可視化した動画
星空:星空の地図
太陽系の惑星のスケール:if the Monn Were Only 1 Pixel
いまどこ新幹線マップ:新幹線の現在地
全国地価マップ:宅地の価格
FabMap:ファブラボと各種ものづくりスペースの日本地図
J-SHIS 地震ハザードステーション:全国を概観した地震動予測地図
ハンガーマップ(世界の飢餓状況):飢餓状況
ARCHITECTURAL MAP(建築マップ ):建築地図
都内公園:都内の公園地図
マック特集:The Insanely Great History of Apple 3.0:Appleのソフトやハードの歴史
歴代マックの起動音。 歴代マックのスペック。 apple CM歴代ソング一覧。 歴代Macのアイコン:
安全飛行フライトマップ:ドローンやラジコン機等の無人航空機の飛行ルール