PowerPoint プレゼンテーション
|
|
|
- ほだか うえや
- 7 years ago
- Views:
Transcription
1 WebSocket を用いたスマホによる LED の PWM 調光および Servo 制御 Servo Motor 回転範囲 : 約 0~180 度 約 130 度回転 約 10 度回転 LED PWM 調光 参考にさせて頂いた他人様のページ
2 LED : PWM Red LED : Blue 1kΩ 1kΩ Push Mode Push Reset Slide BUZZER SW 3.3kΩ LCD I2C VDD SCL SDA GND 3.3kΩ 3.3kΩ G BUZZER D K4017 S I/O 3.3V 3.3kΩ UART-USB Converter 3.3V TA48M033F 3.3V,500mA 3.3V I/O 3.3V VDD TXD RXD GND USB Host PC 47μF Lipo1cell 3.7V 4.22V Full charge Servo Motor V DD S GND ESP8266 他人様の元図
3 応答速度を改良する必要があります /* matkapii WebSocket LED Modulation from Smapho... LCD AQM1602 Akizuki WiFi module WROOM-02(ESP8266) aitendo web ref. */ #include <Servo.h> #include <Arduino.h> #include <Hash.h> #include <Wire.h> #include "ESP8266WiFi.h" #define ADDR 0x3e #define C_Low 0x70 #define C_High 0x56 // 0x5c? #define AQM1602 #ifdef AQM1602 #define Cont 5 // Contrast AQM1602 Akizuki #else #define Cont 10 // Contrast 1602D1 Strawberry #endif //#define Cont 9 // Contrast /* ========= Trans Smapho http server ========= */ #define BUZZER 16 //#define WIFI_SSID1 "planexuser" //#define WIFI_PSK1 " " // Univ. //#define WIFI_SSID3 "W01_D4612E0BD29C" // 0 ==> O (Oh---) //#define WIFI_PSK3 "an863fdm12tg472" // Private //const char* LocalIPaddress = " "; #define WIFI_SSID3 "IODATA-79d8cd-2G" // #define WIFI_PSK3 " " // Home const char* LocalIPaddress = " /"; #define DEST_HOST "api.fixer.io" #define DEST_PORT 80 #define DEST_URL "/latest?base=usd&symbols=jpy" const char* ssid ; const char* password ; boolean Ini_html_on = false; Servo servo;// サーボのインスタンス // ブラウザからの初回 HTTP レスポンス完了したかどうかのフラグ boolean WS_on = false;//websocket 設定が済んだかどうかのフラグ WiFiServer server(80); char Android_or_iPad; // スマホが Android か ipad かを判定するフラグ //WiFiClient client; //LED 点灯用ピンアサイン GPIO 13 #define ledpin 13 // 通信トラフィックをオーバーフローを起こさせないようにする変数 // ミリセコンド単位でスマホからのスライダー値送信を間引く byte s_rate = 10; uint8_t cmd_cr[] = {0xc0; // C/R uint8_t cmd_cl[] = {0x01; // CLear Display int ID0 = 0; // = ID0 void setup() { uint8_t cmd_init1[] = {0x38, 0x39, 0x14; uint8_t cmd_init2[] = {C_Low (Cont & 0x0f), C_High (Cont >> 4 & 3), 0x6c; uint8_t cmd_init3[] = {0x38, 0x0d, 0x01; // 0x0d => 0x0c? //uint8_t mess_setup_done[] = "Setup done"; //uint8_t mess_select_apinten[] = "ON=AP, OFF=Inten"; uint8_t mess_start_server[] = "start HTT Server"; uint8_t mess_wifi_connected[] = "WiFi connected"; uint8_t mess_web_socket_test[] = "Web Socket Test"; uint8_t message[] = " "; uint8_t mess_point[] = {0x2e; servo.attach(5); pinmode(buzzer, OUTPUT); digitalwrite(buzzer, LOW); pinmode(id0, INPUT); Serial.begin(115200); //Wire.begin(4, 14); Wire.begin(4, 12); delay(40); // LCD Initialize command(cmd_init1, sizeof(cmd_init1)); command(cmd_init2, sizeof(cmd_init2)); delay(300); command(cmd_init3, sizeof(cmd_init3)); delay(3000); clear_lcd(); write(mess_web_socket_test, sizeof(mess_web_socket_test)); CR_LF();
4 ssid = WIFI_SSID3; password = WIFI_PSK3; WiFi.begin(ssid, password); Serial.println("Web socket '17314"); while (WiFi.status()!= WL_CONNECTED) { delay(1000); Serial.print("."); write(mess_point, sizeof(mess_point)); Serial.println(""); Serial.println("WiFi connected"); clear_lcd(); write(mess_wifi_connected, sizeof(mess_wifi_connected)); server.begin(); Serial.println("Websocket started! "); Serial.println(WiFi.localIP()); delay(1000); //HTTP_server(); void loop() { CR_LF(); if (Ini_html_on == false) { Ini_HTTP_Response(); if (Ini_html_on == true && WS_on == false) { WS_HTTP_Responce(); // これは重要かも これがないと動作かも //***** 初回ブラウザからの GET 要求による JavaScript 吐き出し HTTP レスポンス ******* void Ini_HTTP_Response() { WiFiClient client = server.available();// クライアント生成は各関数内でしか実行できないので注意 String req; while (client) { req = client.readstringuntil(' n'); if (req.indexof("get / HTTP")!= -1) { // ブラウザからリクエストを受信したらこの文字列を検知する Serial.println("-----from Browser FirstTime HTTP Request "); // ブラウザからのリクエストで空行 ( r n が先頭になる ) まで読み込む while (req.indexof(" r")!= 0) { req = client.readstringuntil(' n');// n まで読み込むが n 自身は文字列に含まれず 捨てられる // ここでブラウザが Chrome か Safari かをリクエスト文字列から判定 if (req.indexof("android")!= -1) { Android_or_iPad = 'A'; else if (req.indexof("ipad")!= -1) { Android_or_iPad = 'i'; req = ""; //10ms 待ってレスポンスをブラウザに送信 // メモリ節約のため F マクロで文字列を囲う // 普通の HTTP レスポンスヘッダ client.print(f("http/ OK r n")); client.print(f("content-type:text/html r n")); client.print(f("connection:close r n r n"));//1 行空行が必要 // ここからブラウザ表示のための HTML JavaScript 吐き出し client.println(f("<!doctype html>")); client.println(f("<html><head>")); client.println(f("<meta charset='utf-8'>")); client.println(f("<meta name='viewport' content='initial-scale=1.1'>")); client.println(f("<title>websocket Test</title>")); client.println(f("<script language='javascript' type='text/javascript'>")); client.print(f("var wsuri = 'ws://")); client.print(localipaddress); // ローカル IP アドレス client.println(f("';")); client.println(f("var output;")); client.println(f("var websocket = null;")); client.println(f("var ms;")); client.println(f("function init()")); client.println(f("{ms = new Date();")); client.println(f("output = document.getelementbyid('output');")); client.println(f("testwebsocket();")); client.println(f("function testwebsocket()")); client.println(f("{")); client.println(f("if(websocket == null){")); client.println(f("websocket = new WebSocket(wsUri);"));//WebSocket オブジェクト生成 client.println(f("websocket.onopen = function(evt) { onopen(evt) ;")); client.println(f("websocket.onclose = function(evt) { onclose(evt) ;")); client.println(f("websocket.onmessage = function(evt) { onmessage(evt) ;")); client.println(f("websocket.onerror = function(evt) { onerror(evt) ;")); client.println(f("")); client.println(f("function onopen(evt)")); client.println(f("{writetoscreen('connected'); dosend('websocket rocks');")); client.println(f("function onclose(evt)")); client.println(f("{")); client.println(f("writetoscreen('ws.close.disconnected');")); client.println(f("websocket.close();")); client.println(f("")); client.println(f("function onmessage(evt)")); client.println(f("{var ms1 = document.getelementbyid('wroom_data');")); client.println(f("ms1.innerhtml = evt.data;")); client.println(f("function onerror(evt)"));
5 client.println(f("{writetoscreen( "<span style='color: red;'>error:</span> " + evt.data);")); client.println(f("function dosend(data)")); client.println(f("{var mms = new Date();")); client.println(f("if(mms-ms>")); client.print(s_rate); client.println(f("){websocket.send(data);")); client.println(f("ms = new Date();")); client.println(f("")); client.println(f("function WS_close()")); client.println(f("{websocket.close();")); client.println(f("function writetoscreen(message)")); client.println(f("{var msg = document.getelementbyid('msg');")); client.println(f("msg.innerhtml = message;")); client.println(f("window.onload = function(){")); client.println(f("settimeout('init()', 3000);")); client.println(f("</script></head>")); client.println(f("<body>")); client.println(f("<h2 style='color:#5555ff'><center>esp-wroom-02(esp8266)<br>")); client.println(f("websocket Test</center></h2>")); client.println(f("from WROOM DATA = ")); client.println(f("<font size=4>")); client.println(f("<span id='wroom_data' style='font-size:45px; color:#ff0000;'></span>"));// 改行しない場合は <span> を使う client.println(f("<br>js-innerhtml=")); client.println(f("<input type='number' name='v_box' id='v_box' style='width:30px'>")); client.println(f("<br><br><center>led dimming ")); client.println(f("<input type='range' name='slider' ontouchmove= "dosend(this.value); document.getelementbyid('v_box').value=this.value; ">")); client.println(f("</center><br><br>")); client.println(f("<div id='msg' style='font-size:25px; color:#ff0000;'></div><br>")); client.println(f("<input type='button' id='ws_close' value='ws.close' style='width:150px; height:40px; font-size:17px;' onclick='ws_close()'>")); client.println(f("<br>")); client.println(f("</body></html> r n")); // これが重要! これが無いと切断できないかもしれない client.stop();// 一旦ブラウザとコネクション切断する Serial.println(" nget HTTP client stop "); req = ""; // スマホが ipad ならばループを抜け出す if (Android_or_iPad == 'i') { Ini_html_on = true; // 初回 HTTP レスポンス終わったら true にする else if (req.indexof("favicon")!= -1) { //Chrome は Get リクエストの直ぐ後の favicon を投げかけてくるところの対処 Serial.println("******GET favicon Request************"); Serial.print(req); while (client.available()) { // ブラウザからデータが送られている間読み込む Serial.write(client.read()); client.stop(); //GET/favicon でも一旦ブラウザとコネクション切断する必要あり Serial.println("Client Stop "); Ini_html_on = true; //HTTP レスポンス終わったら true にする //************HTTP レスポンスとデータ送受信関数 ************************** void WS_HTTP_Responce() { WiFiClient client = server.available();// クライアント生成は各関数内でしか実行できないので注意 String req; String hash_req_key; while (client) { req = client.readstringuntil(' n'); if (req.indexof("websocket")!= -1) { // ブラウザからリクエストを受信したらこの文字列を検知する Serial.println("-----from Browser HTTP WebSocket Request "); // ブラウザからのリクエストで空行 ( r n が先頭になる ) まで読み込む while (req.indexof(" r")!= 0) { req = client.readstringuntil(' n');// n まで読み込むが n 自身は文字列に含まれず 捨てられる if (req.indexof("sec-websocket-key") >= 0) { hash_req_key = req.substring(req.indexof(':') + 2, req.indexof(' r')); Serial.print("hash_req_key ="); Serial.println(hash_req_key); req = ""; char h_resp_key[28]; // ハッシュ値 BASE64 エンコード関数 Hash_Key(hash_req_key, h_resp_key); Serial.print("h_resp_key = "); Serial.println(h_resp_key); String str;
6 // ここから HTTP レスポンスの HTML と JavaScript コード str = "HTTP/ Switching Protocols r n"; str += "Upgrade: websocket r n"; str += "Connection: Upgrade r n"; str += "Sec-WebSocket-Accept: "; for (byte i = 0; i < 28; i++) { str += h_resp_key[i]; //"Sec-WebSocket-Protocol: chat r n"; これは不要 これを入れるとコネクションできない str += " r n r n";// 空行は必須 Serial.println("-----HTTP Respons start "); Serial.println(str); client.print(str); str = ""; WS_on = true;//websocket 設定終了フラグ else if (req.indexof("favicon")!= -1) { //Chrome で favicon を 2 回連続で投げてきた時の対処 Serial.println("******GET favicon Request************"); Serial.print(req); while (client.available()) { // ブラウザからデータが送られている間読み込む Serial.write(client.read()); client.stop(); //GET/favicon でも一旦ブラウザとコネクション切断する必要あり Serial.println("Client Stop "); Ini_html_on = true; //HTTP レスポンス終わったら true にする // ここから WebSocket データ送受信 if (WS_on == true) { byte b = 0; byte data_len; byte mask[4]; byte data_b; byte i; byte cnt = 0; long PingLastTime = millis(); long PongLastTime = millis(); long CountTestTime = millis(); while (client) { // ブラウザが ping 受信して 1 秒後までに Pong を受信しない場合 コネクション切断する if (millis() - PongLastTime > 4000) // データ受信が無い時に 3sec 毎に ping 送信 if (millis() - PingLastTime > 3000) { client.write(b ); client.write(4); client.print("ping"); // ブラウザに Ping 送信すると送信した文字そのものが返って来る Serial.println("Ping Send "); PingLastTime = millis(); //WROOM のカウンター数値を 300ms 毎にブラウザに送信 // あまり秒数が短いとエラーになりクローズするので注意 if (millis() - CountTestTime > 300) { client.write(b );// データ送信ヘッダ client.write(1);// 送信文字数 if (cnt > 9) { cnt = 0; client.print(cnt); cnt++; CountTestTime = millis(); if (client.available()) { b = client.read(); if (b == B b == B ) { //B は Pong データ受信 switch (b) { case B : // ブラウザからデータ受信している時は Ping 送信しないようにする PingLastTime = millis(); PongLastTime = millis(); case B : PongLastTime = millis(); Serial.println("Pong Receive**********"); b = client.read(); // マスクビットを削除 data_len = b - B ; // マスクキーを読み込む for (i = 0; i < 4; i++) { mask[i] = client.read(); uint8_t LED_Inten[] = " ";
7 byte m_data[data_len]; char data_c[data_len]; Serial.print("Receive Data = "); for (i = 0; i < data_len; i++) { // マスクされたデータを読み込む m_data[i] = client.read(); // マスクキーとマスクデータを XOR 演算すると実テキストデータが得られる data_c[i] = mask[i % 4] ^ m_data[i]; Serial.print(data_c[i]); // テキストデータを数値に変換 switch (data_len) { case 1: data_b = data_c[0] - 0x30; //Char 型を数値に変換 case 2: data_b = ((data_c[0] - 0x30) * 10) + (data_c[1] - 0x30); case 3: data_b = ((data_c[0] - 0x30) * 100) + ((data_c[1] - 0x30) * 10) + (data_c[2] - 0x30); // ********** mtakapii ********** CR_LF(); for (int cntr = 0; cntr < 16; cntr++) { LCD_space(); CR_LF(); for (int cntr = 0; cntr < 2; cntr++) { LED_Inten[cntr] = data_c[cntr]; write(led_inten, sizeof(led_inten) - 1); LED_analog(data_b); //LED analog 点灯関数 servo.write(data_b*1.8); //0~180まで // ***************************************** else if (b == B ) { client.write(b ); Serial.println("Close Send "); Serial.println(b, BIN); client.stop(); Serial.println("Client.STOP "); WS_on = false; Ini_html_on = false; //************ ハッシュ値 BASE64 エンコード関数 ************************** void Hash_Key(String h_req_key, char* h_resp_key) { char Base64[65] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '=' ; byte hash_six[27]; byte dummy_h1, dummy_h2; byte bb; byte i, j; i = 0; j = 0; String GUID_str = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; String merge_str; merge_str = h_req_key + GUID_str; Serial.print("merge_str ="); Serial.println(merge_str); Serial.print("SHA1:"); Serial.println(sha1(merge_str)); byte hash[20]; sha1(merge_str, &hash[0]); Serial.print("SHA1:"); for (uint16_t i = 0; i < 20; i++) { Serial.printf("%02x", hash[i]); Serial.print("-"); Serial.print("SHA1:"); for (uint16_t i = 0; i < 20; i++) { Serial.print(hash[i], BIN); Serial.print("-");
8 for ( i = 0; i < 20; i++) { hash_six[j] = hash[i] >> 2; hash_six[j + 1] = hash[i + 1] >> 4; bitwrite(hash_six[j + 1], 4, bitread(hash[i], 0)); bitwrite(hash_six[j + 1], 5, bitread(hash[i], 1)); if (j + 2 < 26) { hash_six[j + 2] = hash[i + 2] >> 6; bitwrite(hash_six[j + 2], 2, bitread(hash[i + 1], 0)); bitwrite(hash_six[j + 2], 3, bitread(hash[i + 1], 1)); bitwrite(hash_six[j + 2], 4, bitread(hash[i + 1], 2)); bitwrite(hash_six[j + 2], 5, bitread(hash[i + 1], 3)); else if (j + 2 == 26) { dummy_h1 = 0; dummy_h2 = 0; dummy_h2 = hash[i + 1] << 4; dummy_h2 = dummy_h2 >> 2; hash_six[j + 2] = dummy_h1 dummy_h2; if ( j + 3 < 27 ) { hash_six[j + 3] = hash[i + 2]; bitwrite(hash_six[j + 3], 6, 0); bitwrite(hash_six[j + 3], 7, 0); else if (j + 3 == 27) { hash_six[j + 3] = '='; h_resp_key[j] = Base64[hash_six[j]]; h_resp_key[j + 1] = Base64[hash_six[j + 1]]; h_resp_key[j + 2] = Base64[hash_six[j + 2]]; if (j + 3 == 27) { h_resp_key[j + 3] = Base64[64]; else { h_resp_key[j + 3] = Base64[hash_six[j + 3]]; i = i + 2; j = j + 4; Serial.print("hash_six = "); for (i = 0; i < 28; i++) { Serial.print(hash_six[i], BIN); Serial.print('_'); //************ LED_PWM 出力関数 ************************** void LED_analog(byte data_b) { //analogwriteは の値 とりあえずスライダー値の2 倍にした //analogwrite(ledpin, data_b * 2.5); analogwrite(ledpin, data_b * 10-50); // R=820 ohm //************LCD 制御関数 ************************** void LCD_space() { uint8_t LED_space[] = {0x20; write(led_space, sizeof(led_space)); void CR_LF() { command(cmd_cr, sizeof(cmd_cr)); void clear_lcd() { command(cmd_cl, sizeof(cmd_cl)); void command(uint8_t *cmd, size_t len) { size_t i; for (i = 0; i < len; i++) { Wire.beginTransmission(ADDR); Wire.write(0x00); Wire.write(cmd[i]); Wire.endTransmission(); // 26.3us void write(uint8_t *cmd, size_t len) { size_t i; for (i = 0; i < len; i++) { Wire.beginTransmission(ADDR); Wire.write(0x40); Wire.write(cmd[i]); Wire.endTransmission(); // 26.3us
ESP8266-CORE-R Copyrig
ESP8266-CORE-R1 http://www.microfan.jp/ https://store.shopping.yahoo.co.jp/microfan/ https://www.amazon.co.jp/s?merchant=a28nhprkjdc95b 2018 3 Copyright c 2017-2018 MicroFan, All Rights Reserved. i 1 ESP8266-CORE-R1
Microsoft Word - SU1204教本(Driver)原稿.docx
void setup(){ pinmode(13, OUTPUT); //13 void loop(){ digitalwrite(13, HIGH); //13 HIGH delay(500); digitalwrite(13, LOW); //13 LOW delay(500); setup pinmode loop delay C M B void setup(){ pinmode(12,output);
GR-SAKURA-SAのサンプルソフト説明
MA11 IFTTT ハンズオン体験まとめ GR-SAKURA から 30 分で動く! 簡単メール送信できる IFTTT( イフト ) を使って見よう 2015/8/19 がじぇっとるねさす鈴木 Rev. 1.00 IFTTT( イフト ) って何? IF THIS THEN THAT IFTTT( イフト ) とは レシピ と呼ばれる個人作成もしくは公に共有しているプロフィールを使って数あ る Web
Microsoft Word - SU1203教本(Sens)原稿.docx
int valsw; // void setup(){ pinmode(13, OUTPUT); pinmode(a4, INPUT_PULLUP); //13 //A4 } void loop(){ valsw = digitalread(a4); if(valsw == 0){ //A4 valsw //valsw } digitalwrite(13, HIGH); //valsw 0LED ------(A)
Microsoft Word - SU1202教本(Disp)原稿.docx
void setup(){ pinmode(9, OUTPUT); void loop(){ digitalwrite(9, HIGH); digitalwrite9,high 9 制限抵抗 A K P 型 N 型 基板 ( 土台 ) + P 型半導体 - N 型半導体 1.2 R(Ω) 1.8 20m 3V digitalwrite(13,high); digitalwrite(13,low);
Arduino UNO IS Report No. Report Medical Information System Laboratory
Arduino UNO 2015 2 25 IS Report No. Report Medical Information System Laboratory Abstract ( ) Arduino / Arduino Bluetooth Bluetooth : Arduino Arduino UNO Arduino IDE micro computer LED 1............................
GR-SAKURA-SAのサンプルソフト説明
フルカラーシリアル LED テープ (1m) を GR-KURUMI で使ってみる 2014/2/25 がじぇっとるねさす鈴木 Rev. 1.00 フルカラーシリアル LED の特徴 http://www.switch-science.com/catalog/1399/ 3570 円 1m で 60 個の LED がついている 電源と信号線 1 本で制御する x 24 この信号を 24 個送信して
ESP32-KEY-KIT-R1 (ESP-WROOM-32 ) Copyright c 2
ESP32-KEY-KIT-R1 (ESP-WROOM-32 ) http://www.microfan.jp/ http://store.shopping.yahoo.co.jp/microfan/ http://www.microfan.jp/shop/ 2017 4 Copyright c 2017 MicroFan, All Rights Reserved. i 1 ESP32-KEY-KIT-R1
子供が学校から帰ってきたときなど 玄関が開いたらメールでお知らせする装 置を作ってみましょう ドアに磁石センサーモジュール(PU-2207)と磁石をセットし その状態を監視 して ドアが開いたらスマホなどにメールを送るシステムを作ります メールを送る部分には 今回の工作例では IFTTT(イフト)
子供が学校から帰ってきたときなど 玄関が開いたらメールでお知らせする装 置を作ってみましょう ドアに磁石センサーモジュール(PU-2207)と磁石をセットし その状態を監視 して ドアが開いたらスマホなどにメールを送るシステムを作ります メールを送る部分には 今回の工作例では IFTTT(イフト) というサービスを 利用します IFTTTはifttt.comが提供するサービスで無料で使用できます IFTTTとは
WebSocketを見てみよう
WebSocket を見てみよう @Kuruma 本スライドは下記 URI で公開しています : http://bit.ly/ws-kuruma http://kuruman.org/diary/2011/05/28/file/websocket_study_kuruma.pdf # whoami Kuruma しがないOpera Browser 使い twitter.com/kuruma kuruman.org
arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ
arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?
1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A
STM32L_ADC の説明 V003 2014/03/30 STM32L-Discovery の A/D 入力を行うプログラムです A/D CH0 ~ A/D CH3 の 4 本の入力が可能です 提供する PC のアプリケーション Access_SerialPort を使用して UART( 非同期シリアル通信 ) により A/D 入力の表示を行うことができます 無料の開発ツール Atollic TrueSTUDIO
スライド 1
マイコンをはじめよう 割り込みを使おう 徳島大学大学院ソシオテクノサイエンス研究部 技術専門職員辻明典 連絡先 : 770-8506 徳島市南常三島町 2-1 TEL/FAX: 088-656-7485 E-mail::[email protected] 割り込みを使おう 第 8 回 2013/9/14(Sat) 10:00 11:30 2 本日の予定 1 割り込みについて 2
目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ
第5回 Arduino入門 I2C通信編 プレゼン by いっちー 目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラム 7 読込み 19 センサ読込み概要①
講習会 Arduino
講習会 Arduino 6 回目 タイマー ( 時間の関数 ) 目的 時間に関する関数を覚え プログラムの制御に使う タイマー割込みを知る 制御をするときにセンサー等の外部入力以外にも時間で制御したい時があるかもしれない 例えば一定の間隔をあけてから制御したい場合や制御してからある時間以内ではこの制御 過ぎてからはこの制御をしたいなど 時間に関する関数を紹介する 時間による割り込みを入れることにより正確な計測を行うことができる
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for
RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for ARM Lite 4.2.0 で作成した STM32F4 Discovery 基板用のプロジェクトです
// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma
HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります
SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換)
シングルタスク プログラミング 本田晋也名古屋大学大学院情報科学研究科准教授 TOPPERSプロジェクトシニアテクニカルエキスパート [email protected] 最終更新 2016/6/27 1 自己紹介 所属 名古屋大学情報科学研究科組込みリアルタイムシステム研究室 TOPPERSプロジェクト TOPPERS/R2CA 設計 開発 メンテ 最近注力している内容 TOPPERS/ASP GR-PEACH
開発環境のセットアップ そのウインドウの下の方に esp8266 by ESP8266 Commumity と表示された 部分がありますので そのエリアをクリックすると右下に インストール ボタンが 表示されますので クリックしてインストールします(図3) 回路が出来上がったら ESP-WROOM-
お出かけしている時に 冷蔵庫が開け閉めされたらスマホにお知らせが届く 冷蔵庫センサー を作ってみましょう 冷蔵庫のドアに振動センサーモジュール(PU-2208)をセットし 冷蔵庫のドア が開閉した時の振動を検知してスマホにお知らせするシステムを作ります 今回の工作例では お知らせを送るシステムに IFTTT(イフト) というサービ スを利用します IFTTTはifttt.comが提供するサービスで無料で使用できます
Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def
Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,
slide
// Filename: Example701.ino(AllTest.ino) // Author: Akinori TSuji #include "FastLED.h" #include "SparkFunBME280.h" #include "RTClib.h" #include "LiquidCrystal_I2C.h" #define LED_PIN 13 #define DATA_PIN
For_Beginners_CAPL.indd
CAPL Vector Japan Co., Ltd. 目次 1 CAPL 03 2 CAPL 03 3 CAPL 03 4 CAPL 04 4.1 CAPL 4.2 CAPL 4.3 07 5 CAPL 08 5.1 CANoe 5.2 CANalyzer 6 CAPL 10 7 CAPL 11 7.1 CAPL 7.2 CAPL 7.3 CAPL 7.4 CAPL 16 7.5 18 8 CAPL
Arduino Processing and ) Fig1. Arduino Homepage : h;p://www.arduino.cc/
Arduino Horiuchi* Oguri* Ueda* Tani* Eto* Arduino Processing and ) Fig1. Arduino Homepage : h;p://www.arduino.cc/ : Arduino Java Fig2. Arduino SoGware Download : h;p://arduino.cc/en/main/sogware Hardware
UIOUSBCOM.DLLコマンドリファレンス
UIOUSBCOM.DLL UIOUSBCOM.DLL Command Reference Rev A.1.0 2008/11/24 オールブルーシステム (All Blue System) ウェブページ : www.allbluesystem.com コンタクト :[email protected] 1 このマニュアルについて...3 1.1 著作権および登録商標...3 1.2
Ethernet 開発支援ツール ACCEL ti2k (LastUpdate Mar 1, 2019) 概要ターミナルツール (1) TcpTermS.exe ターミナルツール (2) TcpTermM.exe ターミナルツール (3) UdpTermS.exe ターミナルツール (
Ethernet 開発支援ツール ACCEL ti2k-180829 (LastUpdate Mar 1, 2019) 概要ターミナルツール (1) TcpTermS.exe ターミナルツール (2) TcpTermM.exe ターミナルツール (3) UdpTermS.exe ターミナルツール (4) UdpTermM.exe モニターツール (1) TcpMon.exe モニターツール (2)
スライド 1
RX62N 周辺機能紹介データフラッシュ データ格納用フラッシュメモリ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ データフラッシュの概要 プログラムサンプル 消去方法 書き込み方法 読み出し方法 FCUのリセット プログラムサンプルのカスタマイズ 2 データフラッシュの概要 3 データフラッシュとは フラッシュメモリ
ohp.mgp
2019/06/11 A/B -- HTML/WWW(World Wide Web -- (TA:, [ 1 ] !!? Web Page http://edu-gw2.math.cst.nihon-u.ac.jp/~kurino VNC Server Address : 10.9.209.159 Password : vnc-2019 (2019/06/04 : : * * / / : (cf.
1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受
STM32L_UART1 の説明 V004 2014/03/30 STM32L-Discovery の UART 1 の送受信を行うプログラムです 無料の開発ツール Atollic TrueSTUDIO for ARM Lite( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です PC アプリケーションの Access_SerialPort
1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R
TrueSTUDIO 用 L152CD_UART1 の説明 V001 2014/10/22 UART( 非同期シリアル通信 ) で送受信を行う STM32L152C-DISCO のプロジェクトサンプルです STM32L152C-DISCO は STMicroelectronics 社製の Cortex-M3 ARM CPU である STM32L152RCT6 を搭載した基板です 試用版の開発ツール
割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ
第 2 回 本日の内容割り込みとは タイマー 割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれば 次の動作に移るし そうでなければ また少し待ってから同じことを繰り返す
line(x1, y1, x2, y2); (x1, y1) rect(x, y, width, height); (x, y) (x1, y1) (x2, y2) height width (x2, y2) ellipse(x, y, width, height); rectmode(corners); rect(x1, y1, x2, y2); (x,y) width height strokeweight(4);
thesis.dvi
H8 e041220 2009 2 Copyright c 2009 by Kentarou Nagashima c 2009 Kentarou Nagashima All rights reserved , H8.,,,..,.,., AKI-H8/3052LAN. OS. OS H8 Write Turbo. H8 C, Cygwin.,., windows. UDP., (TA7279P).,.
81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************
1 /******************************************************************************/ 2 /* IIC(Inter IC Bus) の制御 */ 3 /******************************************************************************/ 4 /*
Microsoft Word - no15.docx
7. ファイルいままでは プログラムを実行したとき その結果を画面で確認していました 簡単なものならそれでもいいのですか 複雑な結果は画面で見るだけでなく ファイルに保存できればよいでしょう ここでは このファイルについて説明します 使う関数のプロトタイプは次のとおりです FILE *fopen(const char *filename, const char *mode); ファイルを読み書きできるようにする
MPL115A
MPL115A2(I2C を用いた絶対圧力計 ) のデータ取り込み ストロベリーリナックスなどを通して, 購入可能な,I2C 通信で行う絶対圧力センサ MPL115A2 と PSoC を用い,RS232 で出力するようにプログラムをする PSoC には,P16 に Rx,P27 に Tx を接続し, シリアル通信できるようにした MPL115A2 との配線は次のようにする MPL115A2 PSoC
プロキシ Pac ファイルとそのサンプルについて
プロキシ Pac ファイルとそのサンプルについて 目次 質問 : 質問 : プロキシ Pac ファイルとは何ですか 例を挙げてください 環境 : Cisco Web セキュリティアプライアンス 注 : このナレッジベース記事では シスコによる保守およびサポートの対象でないソフトウェアを参照しています 情報は 利便性のために無償で提供されています さらにサポートが必要な場合は ソフトウェアベンダーに連絡してください
CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000
CoIDE 用 STM32F4_UART2 の説明 V002 2014/03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000000 です デバッグが可能です 提供する PC のアプリケーションの Access_SerialPort
Java演習(4) -- 変数と型 --
50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends
K227 Java 2
1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html
55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a
55 7 Java C Java TCP/IP TCP/IP 7.1 7.1.1 TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] argv) { Socket readsocket = new Socket(argv[0], Integer.parseInt(argv[1]));
untitled
1.0 1. Display Format 8*2 Character 2. Power Supply 3.3V 3. Overall Module Size 30.0mm(W) x 19.5mm(H) x max 5.5mm(D) 4. Viewing Aera(W*H) 27.0mm(W) x 10.5mm(H) 5. Dot Size (W*H) 0.45mm(W) x 0.50mm(H) 6.
AquesTalk for WinCE プログラミングガイド
AquesTalk for WinCE プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk for WinCE ( 以下 AquesTalk) をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと
Android Layout SDK プログラミング マニュアル
プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から
AquesTalk プログラミングガイド
AquesTalk プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2 種類があります 使用するアプリケーションに応じて選択してください
1. 入力した正の整数を降順に並べ換えて出力するプログラムを作成せよ プログラムは個別にコンパイルし make コマンドで実行すること 入力データは 50 以下とし 以下の数が混在しているとする 16 進数 : 先頭 1 文字が x または X( エックスの小文字か大文字 ) 8 進数 : 先頭 1
1. 入力した正の整数を降順に並べ換えて出力するプログラムを作成せよ プログラムは個別にコンパイルし make コマンドで実行すること 入力データは 50 以下とし 以下の数が混在しているとする 16 進数 : 先頭 1 文字が x または X( エックスの小文字か大文字 ) 8 進数 : 先頭 1 文字が 0( 零 ) 10 進数 : 先頭 1 文字が 0( 零 ) 以外の数字 1.1 プログラム
TCP_BP3591 の説明 V /03/28 ROHM 社製 WIFi モジュール BP3591 を使用して 無線 LAN により TCP/IP 通信を行うプログラムです 簡単な文字列によるコマンド ( 例 : LED0 ON ) を受信して LED の ON/OFF を行います 受
TCP_BP3591 の説明 V002 2014/03/28 ROHM 社製 WIFi モジュール BP3591 を使用して 無線 LAN により TCP/IP 通信を行うプログラムです 簡単な文字列によるコマンド ( 例 : LED0 ON ) を受信して LED の ON/OFF を行います 受信したデータはエコーバックされます 無料の開発ツール Atollic TrueSTUDIO for ARM
講習会 Arduino
講習会 Arduino 10 回目 シリアル ( パソコンに表示 ) 目的 シリアル通信を利用して Arduino の処理によって生まれた数値をパソコンに表示する Arduino で作ったタイマーを Processing を利用して表示する シリアル通信とは 電気通信において伝送路上を一度に 1 ビットずつ 逐次的にデータを送ることをいう また コンピュータにおいては バス上を一度に 1 ビットずつ
JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2
JavaScript (2) 1 JavaScript 1.! 1. 2. 3. DOM 4. 2. 3. Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2 (1) var a; a = 8; a = 3 + 4; a = 8 3; a = 8 * 2; a = 8 / 2; a = 8 % 3; 1 a++; ++a; (++
10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV
[email protected] [email protected] http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20
PowerPoint プレゼンテーション
磁気コンパスの試作 ~ データ送信の無線化 ~ 液晶表示 電源 5V 位 ICSP PICKit3 PIC:16F1827 液晶表示器 ACM1602NI-FLW-FBW-M01 液晶表示器 AQM0802A-RN-GBW PIC16F1827 完成版 変更点 :2015.1.23 2015.1.30 倒立振子デモ 2015.1.22 倒立振子, グラフィッデモ 2014.12.18 グラフィックデモ
JavaScript 演習 2 1
JavaScript 演習 2 1 本日の内容 演習問題 1の解答例 前回の続き document.getelementbyid 関数 演習問題 4 イベント処理 基本的なフォーム テキストボックスの入力値の取得 演習問題 5 演習問題 1 prompt メソッドと document.write メソッドを用いて, ユーザから入力されたテキストと文字の色に応じて, 表示内容を変化させる JavaScript
JavaプログラミングⅠ
Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または
スライド 1
ワンコイン Arduino モシ ュール ESP-WROOM-02 用基板紹介 発表主旨 楽しく 安く 早く 電子工作を心がけています 1)LCD に温度と湿度と気圧 WGBT( 熱中症指数 ) を表示するガジェット 2)ESP-WROOM-02 で安く作れます 今回 課題であったはんだ付けを改善するため専用の基盤を作り 話題のワンコインモジュール :ESP-WROOM-02( 秋月 :550 円
SmartBrowser_document_build30_update.pptx
SmartBrowser Update for ios / Version 1.3.1 build30 2017 年 8 月 株式会社ブルーテック 更新内容 - 概要 ios Version 1.3.1 build28 の更新内容について 1. 設定をQRから読み込み更新する機能 2.URLをQRから読み込み画面遷移する機能 3.WEBページのローカルファイル保存と外部インテントからの起動 4.JQuery-LoadImageライブラリの組み込み
1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ
break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati
Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致しない場合 default: から直後の まで処理します 式は byte, short, int, char 型 ( 文字または整数 ) を演算結果としますラベルには整数リテラル
CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x
CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )
プロセス間通信
プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り
1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String
目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()
SystemC言語概論
SystemC CPU S/W 2004/01/29 4 SystemC 1 SystemC 2.0.1 CPU S/W 3 ISS SystemC Co-Simulation 2004/01/29 4 SystemC 2 ISS SystemC Co-Simulation GenericCPU_Base ( ) GenericCPU_ISS GenericCPU_Prog GenericCPU_CoSim
RT300i/RT140x/RT105i 取扱説明書
2 3 4 5 6 7 8 9 10 Bold face Enter Ctrl Tab BS Del Typewriter face RT105i RT300i RT140p RT140f RT140i RT140e RT105i RT300i 11 RARP 9600 bit/s 8 http://www.rtpro.yamaha.co.jp/ ftp.rtpro.yamaha.co.jp 12
86Duino EduCake Analog I/O ピン機能応用編 1. Analog I/O 紹介 アナログ vs デジタル : 前篇では 86Duino EduCake の基本仕様と IDE の簡単な使い方やデジタル IO を説明しました この章では アナログ
EduCake Analog I/O ピン機能応用編 1. Analog I/O 紹介 アナログ vs デジタル : 前篇では EduCake の基本仕様と IDE の簡単な使い方やデジタル IO を説明しました この章では アナログ IO 機能を紹介します アナログ信号の説明の前に デジタルとは何かをお話してデジタルとの比較を紹介します 前篇ではデジタル信号についてお話ししましたが一般的に 2 つの状態を表す電圧信号
NL-20取扱説明書_操作編
MIC / Preamp A C AMP 1 AMP 2 AMP 3 FLAT FLAT CAL.SIG. OVER LOAD DET. AMP 4 AMP 5 A/D D/A CONV. V ref. AMP 8 AMP 10 DC OUT AC OUT AC DC OUT DATA BUS CPU ADDRESS BUS DSP Start Pause Stop Store Mode Cont
RT300/140/105シリーズ 取扱説明書
REMOTE & BROADBAND ROUTER RT300i/RT140p/RT140f/RT140i RT140e/RT105p/RT105i/RT105e 2 3 4 5 6 7 8 9 10 Bold face Enter Ctrl Tab BS Del Console RT105i RT300i RT140p RT140f RT140i RT140e RT105p RT105i RT105e
1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )
TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000
JavaScript演習
JavaScript 演習 2 1 本日の内容 prompt 関数 演習 1 演習 2 document.getelementbyid 関数 演習 3 イベント処理 基本的なフォーム テキストボックスの入力値の取得 演習 4 IE における JavaScript のデバッグ方法 1. ツール インターネットオプションメニューを実行 2. 詳細設定タブの スクリプトエラーごとに通知を表示する をチェック
演算増幅器
ネットワークプログラミングの続き前回はチャットを行うプログラムを作成し ネットワークを利用したプログラミングの基本について学んだ 本日は 前回作成したプログラムを改良していく 具体的には 以下の2つの項目について習っていく ホスト名や IP アドレスの取得の方法 fork() システムコールを使い 子プロセスを作成する方法 チャットプログラムの改良 前回のプログラムを以下のように改良していく 太字部分が変更部分である
IEEE1888 開発キットの活用 電力管理システムを作る 慶應義塾大学 メディアデザイン研究科 秋山寛子
IEEE1888 開発キットの活用 電力管理システムを作る 慶應義塾大学 メディアデザイン研究科 秋山寛子 内容 1. IEEE1888 対応電力計測器作成の背景 2. IEEE1888 対応電力計測器の仕組みとハードウェア構成 3. プログラミングサンプル 4. 実装システムでのデータ確認 内容 1. IEEE1888 対応電力計測器作成の背景 2. IEEE1888 対応電力計測器の仕組みとハードウェア構成
