2021年6月29日火曜日
死ぬかもしれない
2021年4月21日水曜日
DroidScriptでカメラ使用
Androidアプリをとても簡単に作れるDroidScriptってアプリがあります。
でも、時々不思議な現象に出くわします。
今回のとても不思議な現象は
カメラ使用権限をDroidScriptに与えていないAndroid端末での現象です。
ただ、この状況に陥るケースは、ほぼ無いとは思いますが
その状況とは
「複数のソースで開発 & メイン以外のソースでカメラを使用する」
といった特殊な状況です。
で、対策としては
メインソースのどこかに
//app.CreateCameraViewx
とコメントを入れるだけでアプリ起動時にカメラ権限を確認されます。
以下、スケルトンソースです
<camTest.js>
//This Comments is required to use the camera
//app.CreateCameraViewx <<<<<このコメントが重要です!
app.Script( "Camera.js" ) //他のスクリプト読み込み
function OnStart()
{
//Create a layout with objects vertically centered.
layMain = app.CreateLayout( "linear", "VCenter,FillXY" )
app.AddLayout( layMain )
Camera( layMain ) //メインレイアウトにカメラ画像を埋め込む
}
<Camera.js>
//Called when application is started.
function Camera( layContent )
{
//Create camera view control.
cam = app.CreateCameraView( 0.6, 0.8 )
cam.SetOnReady( function(){cam.StartPreview()} )
layContent.AddChild( cam )
}
2021年3月4日木曜日
3Dプリンタの糸引き対策
使用機種:Ultimaker3
スライサー:Cura4.8
純正フィラメントを使っているのに糸引きが激しいです
で、大分昔に作ったプロファイルで出し直しましたら
あら、こんなにキレイ!
左2つが未対策
一番右が対策プロファイルで出力
で、肝心の変更箇所は以下の通りで
検索箇所に「引」と入れれば変更しやすいです。
一応プロファイルをアップロードしときます。
2021年3月1日月曜日
Microsoft Teamsの通知が来ない
この設定がカスタムになっていると
赤枠で囲んだ機能で相手のメッセージに反応しないと
以後、その人から話しかけられても通知を出さないという
空気読む機能なのだろうか?
2020年12月3日木曜日
Arduino(ESP32)にタッチパネル液晶
アマゾンでタッチパネル付きのLCDが格安で販売されていたので
WayinTop 2.8インチ TFT液晶モジュール 240x320 SPI ILI9341搭載 3.3V/5V タッチパネル タッチペン付属 10KΩ抵抗器付属 ジャンパーワイヤー付属
なんと、ピンコネクタケーブル付きで直ぐに使える
ってことで早速サンプルを色々と動かしてみました。
サクサク動くしとても使いやすいですね
WINGONEER T-Display ESP32 CP2104 WiFi Bluetoothモジュール1.14インチ用LCD開発ボード
タッチパネルは無いけどこれもイイですね。
ただし、重大な問題を発見!!
LCDを変える毎にライブラリをイジらないとダメだって???
それじゃライブラリの共有化ができない(T T)
そこで、なんとか頑張って共有化にチャレンジしてみました。
がっ、まだ上手く行っていません。
取り敢えずLCDを変えた場合でも最小の変更ということで
以下の方法で逃げています。
まずはライブラリフォルダ中のlibraries\TFT_eSPI\User_Setup.h
このファイルを以下のようにコメントアウト編集します。
/*▼
#define ILI9341_DRIVER
*/
/*▼
#define TFT_CS PIN_D8 // Chip select control pin D8
#define TFT_DC PIN_D3 // Data Command control pin
#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line)
*/
そして
Arduino\libraries\TFT_eSPI\User_Setup_Select.h
このファイルの以下の行の前に色々と追加して
#include <User_Setup.h> // Default setup is root library folder
一応ファイルは以下でダウンロードできます。
2020年11月30日月曜日
後悔しないFusion360の使い方を公開するよ
2017年11月20日月曜日
Arduinoでタッチセンサ その2
1ポートしか対応していなかったので複数ポートに対応してみた。
D2ポートとタッチセンサとして使用したいポートの間に
1MΩの抵抗を入れて下さい。
D2をタッチセンサ静電容量計測の為の出力に使っていますので
タッチセンサとしてしようするのはそれ以外をタッチセンサとして
使用できます。
因みに本ソースではD3をタッチセンサとしています。
//
//タッチセンサ
//
#define Version "TouchSence210"
//複数入力に対応
//#define Version "TouchSence200"
#define ouTouch 2 //タッチセンサ出力
#define inTouch 3 //タッチセンサ入力
#define ouLED 13 //検知状態モニタ
int threshold = 3; //判定レベル
void setup()
{
pinMode(ouTouch,OUTPUT);
pinMode(inTouch,INPUT);
pinMode(ouLED,OUTPUT);
Serial.println(Version);
}
struct stTouch{
int stt; //タッチセンサ出力
int tt; //タッチセンサ入力反転時間計測用
int tH[8]; //立上り時間
int tL[8]; //立下り時間
int lev[8]; //タッチセンサ判定結果
} touch;
int touchMng(int touchPin)
{
digitalWrite(ouTouch, touch.stt);
//入力が出力と同レベルになるまでの時間カウント
if (digitalRead(touchPin)!=touch.stt){
touch.tt++;
}
//入力が出力と同レベルに変化なった
else{
//レベル反転とHiとLoの時間を保持
if(touch.stt!=HIGH){
touch.stt = HIGH;
touch.tL[touchPin] = touch.tt;
}
else{
touch.stt = LOW;
touch.tH[touchPin] = touch.tt;
}
touch.tt = 0;
//変化時間表示
/*
if(touch.stt!=HIGH){
Serial.println();
Serial.print("\ttL= ");
Serial.print(touch.tL[touchPin]);
Serial.print("\ttH= ");
Serial.print(touch.tH[touchPin]);
Serial.print("\tSUM= ");
Serial.print(touch.tH[touchPin]+touch.tL[touchPin]);
Serial.print("\tSUB= ");
Serial.print(abs(abs(touch.tH[touchPin])-abs(touch.tL[touchPin])));
}
*/
//判定結果を確定
if( touch.tH[touchPin]+touch.tL[touchPin] > threshold ){
touch.lev[touchPin] = true;
} else {
touch.lev[touchPin] = false;
}
}
//判定結果を返す
return touch.lev[touchPin];
}
{
//検知状態をLED点灯
if(touchMng(3) == true){
digitalWrite(ouLED, HIGH);
} else {
digitalWrite(ouLED, LOW);
}
}