投稿

1月, 2024の投稿を表示しています

手書き風フォントで数式

イメージ
【2024/03/14】 TeX Live 2024(2024/03/14 ISOイメージ版)での動作を確認 例えばテストの解答原案を作成する際に,手書き風のフォントで数式も書けるといいなと思ったことはありませんか? LuaLaTeXなら割と簡単にできます.手書き風フォントは色々とありますが, YOzakuraN のラテンアルファベットがそれっぽくていいです.リンク先の「 YOzakura(7-Zip版) 」をダウンロードして,YOzkraN_M及びYOzkraBN_Mの2つをTeXではなく OSにインストール します.fontspecで欧文と日本語フォントにYOzkrBN_Mを,数式フォントにFira Mathを割り当て,mathastextパッケージで地のフォント(YOzkrBN_M)を数式にも使用します.Fira Mathは数学記号だけ使用する形になります. 上記サンプル画像のTeXソースは次のとおりです: \documentclass[lualatex,a4paper,fontsize=10pt,article,fleqn,hanging_punctuation]{jlreq} \usepackage[margin=25mm]{geometry} \usepackage{graphicx,xcolor} \usepackage{amsmath,amssymb} \usepackage[ipaex]{luatexja-preset} \setmainfont{YOzkrBN_M} \setmainjfont{YOzkrBN_M} \usepackage[mathrm=sym]{unicode-math} \setmathfont{Fira Math} \usepackage{mathastext} %%====================================================================72======80 \begin{document} %%====================================================================72======80 % body text \color{red} \[ y = ax + b \] \[ S = \int_a^b

今昔物語風の駄文

macの中を掃除とまではいかないまでもちょっと整理していたら,昔書いた駄文が出てきた.原文はカタカナだとかラテン文字・ギリシャ文字が残っていたので,それらを全て和文化して文章もチューニングしてみた: 今は昔,■■回転機の超短波帯雑音対策の話ありけり. 濾波器の有無を尋ねけりが「ここにありけむ」と回転機から五寸ほどの距離にて微小輪線器と一〇四の刻印有りし積層磁器静電容量器を指し示したるを「回転機端子に直接一〇二積層磁器静電容量器を繋ぎ給ひけれ」と指示したるなり. 人々いと怪しみたるもお上の言ふ事なればさやうの手はずを整え測りたるを,雑音の減りしたることただ驚くばかりなりけり.  うーーん,文法は合っているんだろうか?(笑) Copyright © 2024 by Cosy MUTO @ Nagasaki Univ. All rights reserved. License: CC BY-NC-ND 4.0 International

micro:bitを用いた簡単なチャットプログラム

イメージ
 Initial release: 25 Jan., 2024 中学校技術の学習内容「D 情報の技術」では,ネットワークを利用した双方向性のあるコンテンツのプログラミングを学習することになっています. ここでいうネットワークはインターネットには限定されませんので, 極端な話をすれば2台のコンピュータをシリアル接続で繋いでもいいわけですが,そのプログラミングをどうするかはまた悩むところです. micro:bitにはBluetoothのほかに独自の無線通信機能(micro:bit radio)があり,1対1から多数のmicro:bitが接続する無線通信網を構築してメッセージやデータのやり取りをすることができます.これを用いれば,「ネットワークを利用した双方向性のあるコンテンツのプログラミング」は簡単に実現できます. 次のような処理手順を考えてみましょう.このプログラムで用いる変数は,受信結果を代入する変数(文字列)とキーボードから入力した送信メッセージを代入する変数(文字列)の2種類です. 1. 初期設定(変数定義,無線設定) 2. 以下の(1)〜(4)を繰返し実行  (1) 受信内容を確認(受信結果を変数に代入)  (2) 受信内容があれば画面表示  (3) ボタンAが押されていたら,次のア,イを順次実行   ア キーボードからメッセージ入力   イ 入力されたメッセージを無線送信  (4) ボタンBが押されていたら繰返し処理から抜け出る 3.プログラム終了 これでメッセージを相互にやり取りできるのがイメージできるでしょうか? ボタンAを押すと送信モードになり,キーボードから入力した文字列が無線で送信されます.それ以外の場合はひたすら受信モードで,何かを受信したら画面に受信文字列が表示されます.ボタンBを押すとプログラムは終了します. これをアクティビティ図にすると のようになります.   micro:bitのPython では次のコードになります: # Author: Cosy MUTO @ Nagasaki Univ., CC BY-NC-SA 4.0 International from microbit import * import radio radio.on() radio.config(group = 1, length=251) rec = &#

アクティビティ図とPythonのリファレンスカード

イメージ
Revised on 6 July, 2024:一式の圧縮ファイルではなく,個別ダウンロード可能な形式で提供するように変更 Revised on 8 July, 2024:アクティビティ図の裏面(例)を修正   (株)武蔵野電波 さんが公開している Arduinoはやみ表 ,これ一枚で基本的なArduinoのプログラミングを進めることができます.うちではA4判用紙に印刷したものをラミネートカードに加工して,Arduino実習装置のセットに組み入れていました.学生さんや教員免許状更新講習の受講者はこのカードを片手にコーディングを行い,評判が良かったです. 時は移って学習指導要領には「アクティビティ図」が登場し ,私の授業で扱うプログラミング言語も高等学校情報Iを見据えてPythonに,実習ハードウェアもmicro:bitに変更することになりました. Arduinoはやみ表がものすごく有用でしたので,アクティビティ図やPythonの学習用に作成したのが「アクティビティ図(抜粋)」,「Python基本文法及び主要関数等(抜粋)」及び「BBC micro:bit 主要MicroPython関数(抜粋)」のリファレンスカードです. # 現行のmicro:bit用は「BBC micro:bit V2 主要MicroPython関数(抜粋)」  A4判用紙に印刷してラミネートカードに加工することで,生徒さんはこれを見ながら処理手順やプログラムを考えることができます. 大判プリンタで印刷して技術室に掲示するのも手です. PDF形式と編集可能なodt形式のファイルを こちら に置いておきます.各ファイルのライセンスは CC BY-NC-SA 4.0 International です.編集には LibreOffice と下記のフォント: ・ 原ノ味角ゴシック (Regular, Bold) ・ TeX Gyre Heros ・ Inconsolata を使用しています(フォントは適宜変更してもらって構いませんが,等幅フォントは「1とlとI」,「0とO」が一目で区別できるものが望ましいです. IPAゴシック や Takaoゴシック も等幅の候補です.).なおWriterのファイルは,A3判用紙に設定して作成しています. Wordで作ることもできると思いますが,苦労するかもしれません. ア

バットディテクタBD4066

【2024.09.07】サイトの編成を見直し, こちら に移動しました.自動では遷移しませんので,左のリンクをクリックしてください.

束ねた電線の通電過熱を模擬実験する装置

イメージ
  束ねた電線(テーブルタップやコードリール,電ドラ)に大電流を流すと,過熱して例えば上の写真のように電線被覆が融けて火災等の事故につながります.写真の電ドラは,大学のゴミ捨て場に廃棄されていたものを調べたところ通電過熱の事故を起こしたと推定される痕跡があったものです(おそらく,大学祭でリールにコードを巻いたままホットプレートか何か―もしかするとホットプレートと電気ポットの同時―を使ったのだと思われます). 教科書には束ねた電線が通電時に過熱している様子をサーモグラフィーで撮影した写真が掲載されていますが,わかるのは表面だけです.でも本当に知りたいのは,束ねた電線の内部がどう温度上昇するかです.そこで,これを模擬実験する装置を学生さんと一緒に開発しました(2019年度卒業論文). 一般的な1500 W,5 m長のテーブルタップのコードの抵抗は0.0775 Ω@20 ℃です.ここに15 Aの電流を流すと,コード部分での電力消費(ジュール熱に変換される)は17.4 W となります.テーブルタップは延ばして使うのが基本ですので,通常はコード全体でこの熱を放出するわけですが,束ねて使うと束ねた部分の内部にこの熱がこもってしまい温度上昇します.温度上昇すると抵抗値が大きくなりますので更に発熱量が増えて温度上昇に拍車がかかります. 模擬実験装置は,この状況を「直線配置した4本の抵抗」と「束ねた4本の抵抗」で再現してそれぞれの温度上昇を計測するものです.12 V電源,36 Ω×4 本 = 144 Ωで1 Wの電力消費の状況を作り出しています.  回路図とプログラムのアクティビティ図(簡易版)です.温度検出には薄型のサーミスタを用いました.卒論ではArduino互換のAdafruit Metro Mini328を用いましたが,下の装置写真及びデモ動画ではArduino Nano Everyにしています.今だったらSeeeduino XIAO SAMD21 or RP2040でCircuitPython,液晶ディスプレイもI2C接続タイプにするでしょうね.もしくは,micro:bitを用いてホストPCのターミナル(シリアル)画面に表示させるのが簡単かもしれません. 模擬実験装置の写真です.まずは測定開始前.サーミスタの自己発熱がありますので,気温より高めの温度表示になっています :

道路交通信号のプログラミング教材

イメージ
中学校技術の内容「D 情報の技術」で扱う計測・制御のプログラミング教材の一つとして,道路交通信号(押ボタン式+感知式)を2021年度に開発しました.附属中学校との共同研究です. 基板上にT字路交差点(写真の水平方向が交通量の多い幹線道,垂直方向が交通量の少ない市町村道と見立てています)を描画し,その交差点の道路交通信号(車道用,歩行者用)をLED実装しています. サンプル動画です: micro:bit V1及びV2のどちらでも動作します.プログラミング言語はPythonです.Makecode Blocklyでもプログラミングできると思います(未検証). 一度に全部の信号を考えるのは難しいと思いますので,(片方の)歩行者用→(片方の)車道用→(片方の)歩行者+車道→全体→押しボタン式→感知式と順を追って実習していくのが良いと思います. 超音波センサを取り付けるゲートは,トイレットペーパの芯と割箸で安直に作りました.トイレットペーパの芯は,立てた際に重心が低くなるようシリコンシーラントを下から1cm程度のところに2cm程度の厚みで充填しています.また最下部にハサミで切り込みを入れ,ここに輪ゴムを引っ掛けて上部で割箸を止めるようにしています. 問題点は, 使用した 超音波距離センサRCWL-1601 には I2C接続のバージョン もあるということです.調達する際に間違えないようにしなければいけません. 「Adafruit 4007(ADA-4007)」を調達 します.Digi-Key,Mouser,マルツ,共立等で扱っています. よく知られたHC-SR04は5V動作が標準なので本装置には適用できないのですが,秋月電子で扱っている コレ は3V動作を謳っているので利用できるかもしれません.うちでは保有しておらずテストできないので,どなたか人柱を募集します(笑) 回路図(PDF)は こちら .本機ではプリント基板を外注製造しましたが,micro:bit用ブレイクアウトボード(例えば秋月電子の これ )を用いれば,LEDと抵抗はソルダーレスブレッドボードに実装して使うこともできます.LEDはOptoSupplyの5mm及び3mmの赤・黄緑・黄色のLED(秋月電子で100本袋入で売っている安いもの)を使っています. Pythonのサンプルコード一式(zip)は こちら .ライセン

圃場環境(土壌水分・気圧・気温・湿度)を遠隔計測するシステム

イメージ
  中学校技術の学習指導要領では「第3学年で取り上げる内容では,これまでの学習を踏まえた統合的な問題について扱うこと。」とされています. 4つの内容を統合した例として,下図( PDF版 )に示す圃場環境を遠隔計測するIoTシステムを考えることができます:「A 材料と加工の技術」 は屋外に設置する装置類の防水や通気を考慮した構造と材料の選定が,「B 生物育成の技術」はシステムのターゲットそのもの,「C エネルギー変換の技術」では屋外に設置するセンサノードの電源や電気回路が,「D 情報の技術」はセンサノードやホストのプログラミング(計測・制御と双方向コンテンツ)が関わります. そのプロトタイプとして,下記( PDF版 )のようなシステムを2022年度の卒業論文で学生さんと一緒に開発しました.ホストコンピュータはインターネット越しにNTPサーバで正確な時刻に設定されており,毎10分ごとに計測指令をセンサノードに無線で送信します.計測指令を受けたセンサノードは土壌水分と気象(気圧・気温・相対湿度)をセンサで計測し,それをホストコンピュータに(無線で)送り返します.ホストは受信した計測データを画面及びログファイルに記録します.ここでは「ネットワーク」はインターネットではなく,ホスト〜センサノード間の無線通信網ということになります(NTPサーバについてはOSレベルのことでプログラミングの対象になっていないため).   このシステムは,学校で実際に作るというより,システム設計の題材として扱うのが適切だと思います(3年生では時間も限られていますし).   上記は防水ボックス内に収納する電子回路の回路図です(PDFは こちら ).マイコンのAD変換は電源電圧基準とするものも多く,micro:bitもその一つです.正しい電圧を測定するためには,基準電源を別途設ける必要があります.ここでは長崎県産品であるイサハヤ電子の RT9H301S を用いました.またmicro:bitのAD変換入力インピーダンスが不明でしたので,LMC6484を用いたバッファアンプを前置しました.   上記はホスト,無線モデム,センサノードの各プログラムのアクティビティ図(概略版)です(PDFは こちら ).プログラムはPythonで作成しましたが,micro:bitを用いるホスト無線モデムと測定ノードはMakeC

トラッキング現象の模擬実験装置

イメージ
トラッキング現象はNITEや各地の消防がYouTube等の動画サイトに映像を提供してくれています.確かに提示教材としていいのですが,所詮は画面の向こうの世界です.目の前で起こる体験に勝るものはない,ということで2017年度の卒業論文で学生さんと一緒に開発しました. 本装置では1/4W 2.2kΩの炭素被膜抵抗に商用電源を印加し, 螺旋状に切られた抵抗体の線間で発生するトラッキング現象を用いています.下記の写真が抵抗の取り付け状況とコンセントへの挿し込み状況です.抵抗は,ラジオペンチを使ってリード線を栓刃に1回巻き付けます.ホコリの代用として医療用の脱脂綿を用いています.化繊や動物性(たとえば絹)は特有の不快な燃焼臭があり,NGです.木綿も燃焼臭がありますが,化繊や動物性ほど不快ではありません. 実演の動画です:   日本産業技術教育学会第61回全国大会で発表した際のスライド資料は こちら です.手元スイッチは生徒さんに通電してもらうためのギミックです. 部品表は こちら . どこかの建築現場から耐火石膏ボード(壁用)の端材をもらうことができればいいのですが,実機では「彩玉ボード」というソフトセラミックの彫刻板(美術の教材会社で取り扱っているかもしれませんし,ネット通販で買うこともできます.サムホールサイズの12 mm厚です.)を用いました.石膏の彫刻板は「燃える」ので,本装置では使えません.