ESP32でTFT表示(ST7789)

導入

ESP32

TFT1.3 インチ

 

配線

SCK GPIO18
SDA(MOSI) GPIO23
RES GPIO15
DC(MISO) GPIO19
BLK 3.3V

コード例

#define TFT_DC 19
#define TFT_RST 15
//#define TFT_CS 10 // only for displays with CS pin
#define TFT_MOSI 23 // for hardware SPI data pin (all of available pins)
#define TFT_SCLK 18 // for hardware SPI sclk pin (all of available pins)
Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK); //for display without CS pin

windowsでvimを使う

やること

windowsgvimを使う

必要なもの

  • パソコン
  • インターネット環境

インストール

gvimを下記からダウンロードしてインストールする

「Vim」高機能なテキストエディター - 窓の杜

.vimrcへの記述

.vimrcへ追記する必要があるのですが
call plug#begin('$VIM/vim/plugged')

call plug#end()
の間に
Plug ~のようにプラグインを追加していくシステムです。

$VIMですが環境変数です
個人のフォルダまでのパスを登録しておいてください
VIM=C:¥user¥j04328などなど

また、$VIM/vim/pluggedフォルダにプラグインを配置してください

例は次の通りです 
call plug#begin('$VIM/vim/plugged')
Plug 'scrooloose/nerdtree'
call plug#end()
nnoremap :NREDTreeToggle
let NERDTreeShowHidden = 1

プラグインをインストールする為に、vimを起動して
:PlugInstall
でインストールすること

エクセルを使って日付で集計する

日付において集計文字の個数を求めます。

複数の条件(論理式)を【論理式*論理式】でAND条件の件数をカウントします。

配列1 : 日付列を範囲指定して求めたい日付セルを指定します
配列2 : 集計列を範囲指定して集計文字セルを指定します
文字列は「”」(ダブルクォーテーション)で囲みます

まとめ

sumproduct ( ( indirect(seetname&”!日付列”)=日付セル)* ( (indirect (sheetname&”!集計文字列”)=集計文字セル))

参考

www.jimcom.co.jp

ロボットアーム作成記録(設定編)

やること

モーター制御基板へ回転速度を指示する

必要なもの

  • パソコン(arduinoのプログラムを作成します)
  • Arduino Mega2台 Uno 1台
  • USBホストシールド
  • PS3コントローラ
  • LCD Keypad シールド
  • ジャンパーワイヤ

解説

以下が設定に関するソースです
RobotT1/ConnectMasterSetting

ロボットアーム作成記録(ロボットアーム制御編:順運動)

やること

arduinoに接続したDXシールドからAX12Aの制御をおこなう

必要なもの

  • パソコン(arduinoのプログラムを作成します)
  • Arduino2台
  • USBホストシールド
  • DXシールド
  • 12V電源
  • ジャンパーワイヤ
  • PS3コントローラ

解説

以下が単体動作に関するソースです
RobotT1/Alone/

ロボットアーム作成記録(LCDへの状態表示編)

やること

arduinoに接続したLCDに別のArduinoから表示の指示を行う

必要なもの

  • パソコン(arduinoのプログラムを作成します)
  • Arduino4台
  • LCD基盤(【P-00038】LCDキャラクタディスプレイモジュール(16×2行バックライト付))2個

LCDキャラクタディスプレイモジュール(16×2行バックライト付): ディスプレイ・表示器 秋月電子通商 電子部品 ネット通販

  • 【P-06109】半固定ボリューム 5kΩ [502]2個
  • ブレッドボード
  • ジャンパーワイヤ

解説

以下の三つがLCD表示に関するソースです

  • ArduinoRobotArmLCDSenderGIJI

  LCDに表示する文字列をMasterSPIに指示する
  SenderGIJIは動作確認用です。

  • ArduinoRobotArmLCDMasterSPI

  LCD制御メイン基板です
  SlaveSPI(2台)に表示を指示します

  • ArduinoRobotArmLCDSlaveSPI

  LCD基盤が実際につながっているarduinoです
  MasterSPIからの指示で表示を行います

接続概略

SenderGIJI
  |(Serial)
MasterSPI
  |________(SPI)
  |    |
SlaveSPI SlaveSPI

電文形式

SenderGIJIからの表示の指示は以下の形式で行います。

端末番号(1桁) Column(2桁) Row(1桁) 表示文字列 終端記号(;)

端末番号は2台つないでいる場合は0か1です
ColumnはLCDが16桁表示できるため、0~15です
RowはLCDが2行表示できるため、0か1です
終端記号は;になります。つまり;は表示できません

ChromeExtensionで画面キャプチャーを配信する

やること

  • Chrome拡張で画面キャプチャーを配信する。
  • 受信側が画面キャプチャーを表示する。
  • 送受信の情報はSignalingServerが橋渡しをする。
  • 同時にチャットも可能にする

用意するもの

パソコンが必要です。SignalingServerにはnode.jsが必要です。
ChapterServerとChapterClientとCaptureChatServerはChrome拡張です。

導入方法

chromeからの導入になります。