電子工作と理科と

footstep detector / LabVIEW+myDAQ版

footstep_detector.vi - Google ドライブ EWMA.vi - Google ドライブ footstep detector / 振動が検出されたときにLEDを点ける -と同じことをLabVIEWとmyDAQとで再現する。myDAQのanalog inは±10Vまで入力できるがAVR版と同じようにバイアスをかけた。ただし…

ピエゾ素子、バイアス、保護回路

pp.255-258 ピエゾ素子を振動センサーとして使う。出力はプラマイ両方に振れるがマイコンのAD変換でマイナス側も拾いたいので出力を(電源電圧/2)の電位にバイアスする。ただしピエゾ素子自体がキャパシタの構造をしているのでDCカットの必要はない。 圧電ス…

単体計測器の制御 / LINXでArduinoを制御する / オシロのようなものを作る

pp.649-650、USE IT! (続き) Arduino_Slow_Oscilloscope.vi - Google ドライブ 基本トリガ検出.viでソフトウェア的にトリガをかける。下の例では、サンプル数で指定した数の2倍サンプリングして、トリガの検出された位置からサンプル数だけデータを波形グラ…

単体計測器の制御 / LINXでArduinoを制御する / analogRead()と同じことをする

pp.648-649、USE IT! ArduinoのanalogRead()と同じことをしてみる。 Arduino_analogRead.vi - Google ドライブ

単体計測器の制御 / LINXでArduinoを制御する / LINXをインストールする

VIPMを使ってLINXをインストールする。目的のモジュールを探して右クリックし、あとは指示に従う。 下のようにLINXが使えるようになった。 LINX Firmwareをロードする。

DACを自作する / 電圧源によるR-2R方式 / PC-G850VSで制御する

前回作ったDACを今度はポケコンPC-G850VSの8ピンパラレルIOで制御してみる。 1main(){ 2 unsigned char dVal; 3 fopen("pio", "a+"); 4 pioset(0); /*IOを全部OUTにする。*/ 5 while(1){ 6 printf("Enter a 0-255:"); 7 scanf("%d", &dVal); 8 pioput(dVal);…

DACを自作する / 電圧源によるR-2R方式 / LabVIEWで制御する

参考: AD/DA変換回路入門, pp.116-117 電圧源によるR-2R方式の8ビットDACを作ってみる。myDAQでディジタル信号を生成し、DA変換値をmyDAQのAin0+/-で測定する。 R_2R_DAC.vi - Google ドライブ

RC回路の時定数τ (タウ)の測定

理論値は R × C = 4.7kΩ × 0.1μF = 470μsec。 FGから0V/1V、パルス幅5msecの方形波を入力している。実測値は510μsecであった。

圧電スピーカー

「スピーカー」として売られているものだがダイナミックタイプと同じく可逆性があるので振動センサーとしても働く。 細長くしてエレアコのサドルの下に敷いてあるのがこれである。外からブリッジに貼りつけたりもする。 指で軽くはじいただけで簡単に数十Vp-p…

バタワースフィルターMAX291 / 5 V単電源、外部クロックを使用

今度は外部クロックでコーナー周波数を設定してみる。 myDAQとELVISmxの単体Bode Analyzerとを組み合わせて測定した。 周波数軸の刻みは設定できるが上は20 kHzまでしか測れない。 DCカットは前回と同じく10 μFの積層セラコンを使った。 外部クロック10 kHz…

バタワースフィルターMAX291 / 5 V単電源、内部発振器を使用

5 V単電源、内部発振器を使用(Cを外づけ): 入出力のDCカットに10 μをつないだのを除けばパスコンもバイアスも全部データシートの参考接続図どおりである。 内部発振器の発振周波数〔kHz〕= 105 / 3 C〔pf〕 内部発振器の発振周波数 : コーナー周波数 = 100 :…

TI-Nspire & 超音波モジュール / 高性能超音波距離計 LV-MaxSonar-EZ1 から出力される距離データ (ASCII コード) を TI-Nspire で直読する

関連: 高性能超音波距離計LV-MaxSonar-EZ1データシート(非公式和訳) - シャープ PC-G リンクを使って PC と PC-G850VS とでテキストをやり取りする - I²C および UART/RS-232C シリアルバスのトリガー・解析機能 - 高性能超音波距離計 LV-MaxSonar-EZ1 か…

高性能超音波距離計 LV-MaxSonar-EZ1 から出力される距離データ (ASCII コード) をターミナルで直読する

関連: 高性能超音波距離計LV-MaxSonar-EZ1データシート(非公式和訳) - シャープ PC-G リンクを使って PC と PC-G850VS とでテキストをやり取りする - I²C および UART/RS-232C シリアルバスのトリガー・解析機能 - 高性能超音波距離計 LV-MaxSonar-EZ1 か…

piduino の組立と動作確認

参考: トランジスタ技術 2017年 02 月号 duino (Arduino Uno 互換) を単体用として組み立てる。 部品を集める。基板はトラ技の附録である。 いきなり完成。USBシリアル変換アダプターにはスイッチサイエンスのオリジナル品を使った。 Grove - LCD RGB Backli…

指先脈搏計 2 of 2 / 組立と測定

参考: ボクのArduino工作ノート 改訂版, pp.120-133 部品を集める。 いきなり完成。 オシロで血流波形を見てみる。 1.2527〔Hz〕なので脈搏数は 1.2527〔Hz〕× 60〔秒〕≈ 75〔BPM〕であった。血流が増えると電圧の下がる回路構成になっている。 ボクのArduin…

指先脈搏計 1 / プリント基板を外注する

参考: ボクのArduino工作ノート 改訂版, pp.120-133 スイッチサイエンス経由で Fusion PCB に基板を外注してみる。 Fritzing でパターン図を作ってガーバーデータを出力する。 次の 9 個のファイルが出力される。 ~_pnp.txt ファイルは今回は不要なので削除…

TI-Nspire & Arduino / 温度・湿度・気圧計 4 of 4 / Graphs アプリケーションでグラフ化する

The Lua script below will use the var.store() function to store the received data in the Nspire's native applications. .ino #include <Adafruit_BME280.h> boolean gotInitData = false; unsigned long initTime; Adafruit_BME280 bme; void setup() { Serial.begin(115</adafruit_bme280.h>…

TI-Nspire & Arduino / 温度・湿度・気圧計 3 / サンプルスケッチを変える

When receiving 't' via a serial port, Leo transmits some data via the port in the format of a space-delimited string, "elapsedSeconds△Celsius△humidity△hectopascal". #include <Adafruit_BME280.h> boolean gotInitData = false; unsigned long initTime; float elaps</adafruit_bme280.h>…

TI-Nspire & Arduino / 温度・湿度・気圧計 2 / サンプルスケッチを試す

youtu.be The necessary libraries can be obtained from GitHub - adafruit/Adafruit_BME280_Library: Arduino Library for BME280 sensors and GitHub - adafruit/Adafruit_Sensor: Common sensor library. The following sketch assumes connection of th…

TI-Nspire & Arduino / 温度・湿度・気圧計 1 / モジュール同士を接続する

Bosch BME280 offers a choice of using I2C or SPI. In this example, I2C will be used. If an Adafruit BME280 breakout board can be bought in your location, a logic-level converter is not required.

TI-Nspire & Arduino、超音波距離計 4 of 4、超音波モジュールをサーボに載せて左右に振る(続き)

A Micro, a servo, and a battery pack can be put together on a longer breadboard. For more information on the ultrasonic module used in this experiment, visit Ultra Sonic range measurement module - Seeed Studio. If you want to replicate thi…

TI-Nspire & Arduino、超音波距離計 3、超音波モジュールをサーボに載せて左右に振る

An ultrasonic module mounted on a servo horn would act just like a radar or sonar. By running the following code, Leo will transmit range and angle data to the TI-Nspire in the format of a space-delimited string, "range angle". Drawing res…

TI-Nspire & Arduino、超音波距離計 2、シリアルポートを使って TI-Nspire の画面に距離を表示する

TI-Nspire will receive range data from a Leo who has opened a serial port, and will show those data on its screen. .ino class Ultrasonic { public: Ultrasonic(int pin); void DistanceMeasure(void); float microsecondsToCentimeters(void); priv…

TI-Nspire & Arduino、超音波距離計 1、サンプルスケッチを試す

The following sketch drives an Ultra Sonic range measurement module - Sensor - Seeed Studio to measure distances. .ino /***************************************************************************/ // Function: Measure the distance to obsta…

TI-Nspire & Arduino、サーボを使う 4 of 4、Keyboard ライブラリーを使って TI-Nspire で角度をモニタリングする(続き)

Leonardo will use the Keyboard.h library to transmit data to TI-Nspire. TI-Nspire can receive the data from him by using the on.charIn() function without opening a serial port. .ino #include <Servo.h> #include <Keyboard.h> #define sigPin 9 #define swPin 12 Ser</keyboard.h></servo.h>…

TI-Nspire & Arduino、サーボを使う 3、Keyboard ライブラリーを使って TI-Nspire で角度をモニタリングする

Leonardo sends angle data to TI-Nspire Student Software through a USB cable by using the Keyboard library. TI-Nspire takes these data into its Lists & Spreadsheet application, and shows them graphically. .ino #include <Servo.h> #include <Keyboard.h> #define si</keyboard.h></servo.h>…

TI-Nspire & Arduino、サーボを使う 2、シリアルポートを使って TI-Nspire で角度をモニタリングする

Arduino 側では前回と同じことを実行するが、TI-Nspire で角度がモニタリングできるようにする。 .ino #include <Servo.h> #define sigPin 9 Servo myservo; int pos = 0; void setup() { Serial.begin(115200); myservo.attach(sigPin); } void loop() { while(pos <</servo.h>…

TI-Nspire & Arduino、サーボを使う 1、ひとまず Arduino だけで左右に廻す

サンプルスケッチをそのまま実行してみる。スイープの速度は、増分、減分、delay() で調整する。 .ino /* Sweep by BARRAGAN <http://barraganstudio.com> This example code is in the public domain. modified 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Swee</http://barraganstudio.com>…

TI-Nspire & Arduino、キーボードから任意の文字列を Arduino へ送る

TI-Nspire will send a string to a Leo. Then the Leo will send the received string back to TI-Nspire. (You should use a TI Launchpad instead of a Leonardo.) .ino String inString = ""; void setup() { Serial.begin(115200); } void loop() { whi…

TI-Nspire & Arduino、キーボードから任意の 1 文字を Arduino へ送る

The script below will send a character from TI-Nspire to an Arduino over a serial port. Then the Arduino will convert the received character to a hex ASCII code, and send the code back to TI-Nspire. If you want to replicate this experiment…