2023-03-27

Pythonで開発するレゴSPIKE Primeと、JS2Pyを使って、JavaScriptで開発可能にしました。 こちら、左右モーターでかわいく動くJavaScriptのプログラムのメイン。 for (;;) { forward(300); wait(500); right(300); wait(500); left(300); wait(1000); } 下記がこのコードを動かすための準備プログラム。HubのマトリクスLEDを光らせるおまけ付き。 import { PrimeHub } from "pybricks/hubs.js"; import { Motor, ColorSensor, UltrasonicSensor, ForceSensor } from "pybricks/pupdevices.js"; import { Button, Color, Direction, Port, Side, Stop } from "pybricks/parameters.js"; import { DriveBase } from "pybricks/robotics.js"; import { wait, StopWatch } from "pybricks/tools.js"; import { Matrix } from "pybricks/geometry.js"; import { randint } from "urandom.js"; const hub = PrimeHub(); const X = 100; const field = [ [0, X, 0, 0, 0], [0, 0, 0, X, X], [0, X, 0, X, 0], [0, X, 0, 0, X], [X, X, 0, X, X], ]; hub.display.icon(field) const m1 = Motor(Port.A); const m2 = Motor(Port.B); function forward(n) { print("forward"); m1.run(n); m2.run(-n); } function right(n) { print("right"); m1.run(n); m2.stop(); } function left(n) { print("left"); m2.stop(); m1.run(-n); } print関数を使うと、Bluetoothを通じてリアルタイムにブラウザ画面に表示してくれて、デバッグに便利です。


こちら動かした様子。JavaScriptのプログラムをJS2Pyで、Python化して書き込み実行します。 ロボは、Matz葉がにロボコンの時に作ったものを組み換えて使用。


「PybricksHub test in JS」
src on GitHub
Python版テストに、JS2Pyを加えて無事動作!エラーが起きた時のわかりにくさは課題です。ひとまず開発者コンソールを見て修正ください。

links
- レゴSPIKEプライムをJavaScriptで開発 on Web
- レゴ SPIKE プライムをC言語で開発 on Mac

2023-03-26

小松市、小松駅の目の前に、巨大なダンプカーとパワーショベル!そして桜!


2015年、小松サマースクールでもお邪魔した、コマツの施設にて、コマツ元社長で、福井市出身(なんと明道中の先輩!)野路國夫さんの呼びかけて始まった、今年で7期目となる「わくわくコマツ塾」の卒業発表会に行ってきました!


10ヶ月、25回にも及ぶカリキュラム、PCN金沢、久保田さんによるIchigoJamはんだづけからスタート! LEDを制御したり、サーボを動かしたり、BASICプログラミングの楽しさにどんどんはまっていったというこどもたちの発表がうれしい!


わくわくコマツ塾から参加した、加能ガニロボットコンテストの出場ロボットのデモ走行も!


今回見たかった、IchigoJamコントロールのパワーショベル!自動制御でダンプカーへ積んでいます。


アーム、ブーム、バケット、そして、転回、PWM2〜5を使って、サーボを4つを制御し、パワーショベルをコントロール。長くなるプログラムですが、3つのモジュールに分けてファイルへ書き込んだとのこと。IchigoJamのメモリと入出力共に使いこなしてくれて感激です。


「VRパワーショベル」
src on ES-Jam
パワーショベルは、バケットに入れたものを、こぼさないように持ち上げるためには、複数同時に動かすことが必要です。A-Frameで簡単なシミュレーションを作ってみました。ARで登場させたり、搭乗してみたり、いろいろ試してみたくなりますね!(数字キー、1から8で制御できます)


この素敵なパワーショベルを使った、コマツオリジナルな「小松パワーショベルロボコン」とかいかがでしょう?

何かを創る喜びをしった子供たち、大いに活躍する場を広げてあげましょう!


PCN金沢PFUのみなさんと!コマツの方、素敵な会へのご招待、ありがとうございました!

2023-03-25

世界最大の中高生向けサイバーセキュリティコンテスト、CyberPatriotの日本版、CyberSakuraの第二回全国大会が福井県鯖江市で開催。中学生、高校生、高専生による予選を勝ち抜いた6チームによる決勝戦のリアル開催。
会場サバエ・シティーホテルの隣、西山公園の桜もちょうど開花!


気合の入ったネットワーク機器!


スタッフとして活躍、学生団体with


3時間半の長丁場、脳への栄養補給、鯖江のプリン専門店「メゾン・ド・レトワール」のプリンいろいろを差し入れに。


今年の優勝は!?


東京都の武蔵高等学校中学の3年生4人チーム「白雉」! 2位に香川高専、3位に渋谷教育学園渋谷高、おめでとう!


みんなで記念写真!


審判長、原さんによる講評。予定より5倍大変だったとのこと。でも、大きなトラブルなく無事競技が終えられました。


好奇心旺盛、香川高専生!


ネットは広大だよ。


「makeid」
src on GitHub
せっかくなのでセキュリティに関する一日一創。レガシーな連番IDから、セキュアなIDへと移行しましょう。jigインターンによる作品で使われていたのはUUIDですが、Twitterでちょうど見かけたバリエーション、ulidCuidNano IDをESモジュール化しました。(“一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape”

36文字のUUIDに対して、一番短いのはNano IDで、21文字ですが、二番目に短いCuidのセキュリティに対するこだわりがいい感じです。


CyberSakuraの旗と「決勝に来たぞ」撮影スポット!


チームHana、中学生も健闘!!


セグウェイは?と昨年からのリピート参加者から聞かれましたが、ちゃんとあります!


懇親会、今年はしっかり交流時間も取れてよかった!


また会おう!


チャンスは高校高専3年生まで!


スタッフともすっかり仲良くなった参加者達


来年も開催!サイバーセキュリティに興味がある中高生の参加、お待ちしてます!

links
- CyberSakura - サイバーサクラ
- サイバー防衛、中高生競う 鯖江で全国大会決勝 県勢チーム健闘 | 社会 | 福井のニュース | 福井新聞D刊
- 全国中高生のサイバーセキュリティ技術ナンバーワンを決める「CyberSakura」優勝は奈良高専チーム

2023-03-24

テーマは春。新天地で新生活を迎える学生を地元としては歓迎したい。お花見をきっかけにいろんな新歓イベントをAIサポートで気軽に開催して集客できるツールを用意して、新しい仲間づくりを応援しよう、と、アイデアがまとまり開発された3日目、いよいよ発表の日。


最終日の朝!がんばろー


「JoinUp」
src on GitHub
AIによる最適化された紹介文が特徴です。開催する側はキーワードを入力するだけで、学生に刺さるいい感じの紹介文をAIが作ってくれます。学生の趣味趣向に合わせられると最高ですね。


一番悩む紹介文章はAIがキーワードから生成してくれます!AIによる原稿を必要なら手直しして、登録。入力欄、思い切ってもっともっとシンプルにするのもいいかも。


フロントエンド: HTML / CSS / JavaScript
バックエンド: JavaScript / Deno / Deno Deploy
データベース: Supabase
API: ChatGPT by OpenAI
開発環境: VSCode / GitHub
全部、無料で始められます!


「code4fukui/deno_supabase」

インターンのえいえいが2日目夜につくった無料で試せるDBサービス、Supabaseとの接続サンプルにドキュメントを追記し、少しリファクタリングしました。GitHub Pages、Deno Deployと組み合わせたプロトタイピングにいいですね。

links
- Deno DeployとChatGPT APIを使ったかんたんWebアプリづくり

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS