Skip to content

Instantly share code, notes, and snippets.

@ksasao
ksasao / readme.md
Last active April 6, 2020 23:24
Sensirion Digital Humidity Sensor SHTC3 logger for LGT8F328P board. See https://twitter.com/ksasao/status/1244986264606179329

LGT8F328P-LQFP32 MiniEVB board Pin Assignment

SHTC3 LGT8F328P
+ 3V3
- GND
SDA A4
SCL A5

Serial Port Settings

  • 9600 bps
@ksasao
ksasao / read_guid.ino
Created April 5, 2020 06:34
Read GUID of LGT8F328P
void setup() {
Serial.begin(9600);
delay(1000);
// read GUID of LGT8F328P
// https://www.avrfreaks.net/sites/default/files/forum_attachments/LGT8F88P%20LGT8F168P%20LGT8F328P%20translated.pdf
// if you want to read other device's unique id, use ArduinoUniqueID
// https://www.arduinolibraries.info/libraries/arduino-unique-id
#ifdef _LGT8F328P_SPEC_H_
char buf[10];
@ksasao
ksasao / boot.py
Created April 1, 2020 14:42
MaixPy self learning classifier for M5StickV. See https://twitter.com/ksasao/status/1245359878463344640
import KPU as kpu
import sensor
import lcd
from Maix import GPIO
from fpioa_manager import fm, board_info
import time
import gc
############### config #################
class_num = 3
@ksasao
ksasao / boot.py
Last active April 2, 2022 05:09
M5StickV で UART 文字列受信サンプル。uart.any() で受信バッファの状態を確認して readline() で読むのが簡単。https://twitter.com/ksasao/status/1239058196334923776
import lcd
import image
import time
import uos
lcd.init()
lcd.rotation(2) #Rotate the lcd 180deg
from Maix import I2S, GPIO
from Maix import GPIO
@ksasao
ksasao / input.bat
Last active February 22, 2020 12:05
NEUTRINO で .musicxml ファイルを Drag&Drop すると、そのファイルと同じフォルダに .wav を生成するための .bat ファイルです。Run.bat と同じフォルダにおいてください。右上の Download ZIP からダウンロードできます。
@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
: Project settings
set BASENAME=%~n1
set OUTPUT_PATH=%~p1
set NumThreads=0
: musicXML_to_label
@ksasao
ksasao / Program_client.cs
Created February 2, 2020 10:27
C# WebSocket サーバ/ クライアントのサンプル。サーバ、クライアントそれぞれで、標準入力を受け付けてメッセージを送信します。.NET Core 3 / .NET Framework 向けのコンソールアプリです。
// WebSocket Client
using System;
using WebSocket4Net;
// NuGet で WebSocket4Net を追加してください
namespace WebSocketClientTest
{
class Program
{
static void Main(string[] args)
@ksasao
ksasao / Form1.cs
Last active January 15, 2020 02:47
Windows 10 のオンライン連続音声認識が不定期に止まってしまうのを回避したコード
// Windows 10 の Windows.Media.SpeechRecognition で連続音声認識をします。
// 標準的な使い方では、音声認識が不定期に動作しなくなることが知られていますが、
// https://social.msdn.microsoft.com/Forums/en-US/5afbf9fa-d660-4a7d-b24e-e9e673282244/uwpccontinuous-speech-recognition-is-not-continuous-it-stops-randomly?forum=wpdevelop
// https://social.msdn.microsoft.com/Forums/windowsapps/en-US/1af5f3d1-d5b2-4a0c-956c-53f550e8f1d1/uwpdesktop-bridgesend-speech-recognition-argsresult-as-parameter-in-uwp-desktopbridge-package?forum=wpdevelop#96188ce3-47bd-4537-b1af-fb4c6a362c84
// それを回避しています。
//
// ビルドするためには
// [参照]で右クリック > NuGetパッケージの管理 > 右上の歯車マーク(設定)で右クリック >
// NuGet パッケージマネージャー > 全般 > 既定のパッケージの管理 を PackageReference に
// に変更してから、プレスリリース版を含める、にチェックを入れ、Microsoft.Windows.SDK.Contracts を検索して追加してください。
@ksasao
ksasao / prime.py
Last active January 11, 2020 06:49
双子素数日を列挙する
# 双子素数日を列挙する
#
# 素数判定はミラーラビンの素数判定法を利用
# https://qiita.com/srtk86/items/609737d50c9ef5f5dc59
import random
from datetime import datetime, date, timedelta
def is_prime(n):
if n == 2: return True
if n == 1 or n & 1 == 0: return False
@ksasao
ksasao / boot.py
Last active March 24, 2022 04:54
MaixPy 0.5.0_9 で利用できるようになったNumPy相当の機能のテスト。2つの768次元ベクトルの距離の二乗を計算。ファームウェア http://dl.sipeed.com/MAIX/MaixPy/release/master/maixpy_v0.5.0_9_g8eba07d マニュアル https://micropython-ulab.readthedocs.io/en/latest/ulab.html
import ulab as np
import random
import time
# 初期化
clock = time.clock()
a = []
b = []
for i in range(768):
a.append(random.random())
@ksasao
ksasao / boot.py
Created December 27, 2019 08:11
実行中のデバイスが M5StickV か UnitV かを調べる
from machine import I2C
i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29)
devices = i2c.scan()
if len(devices)==0:
print("UnitV")
else:
print("StickV")