Slide4VRアップデート 2021/07/06

Vキャスでのプレゼン支援サービスのSlide4VRをアップデートしました. slide4vr.nklab.dev

というか、アップデート自体はちょこちょこずっとやってきてたのですが、今回バックエンド側を結構弄ったのと過去の改修も含めてまとめて書いておこうかと。

アップデート

VCJE対応

亞希乃さんと一緒にVCJEへの対応をしました。これによりSlide4VRのサイトにアクセスしたり、config.jsonをエディタで貼り付ける作業が要りません。超絶便利!! 亞希乃さん、ありがとうございます。

booth.pm

合わせてトークン対応したり外部のアプリから連携できるように改修しています。もし自分のアプリから連携させたいという方がいらっしゃいましたらTwitterなどでお声がけください。

個別スライドのOGP対応 (実験)

まだ実験段階ですが個別スライドのOGP対応を行いました。これで下記のようにブログに埋め込んだりツイートした時にもスライドが表示されます。ただし、変換まではスライドが表示されるようになってから数十秒程度かかるのでアップロードして画像に変換した直後のスライドはOGP対応されてないので注意。

slide4vr.nklab.dev

SSG対応が必要だったので副産物として個別ページが静的ファイルになっています。ピュアなVue.jsからNuxt.jsに切り替えたりと想定よりだいぶ難産な改修だった。。。

サービスメッシュ/Workflow周りの改修及びパフォーマンスの改善

これは完全にバックエンド側の話で利用側からは見えない部分ですが、Slide4VRは内部的にはマイクロサービスになっています。このサービス間の接続およびワークフローエンジンとしてkuda-proxyという独自のサービスメッシュを使っていたのですが、GCPが正式にCloud Runへのワークフローに対応したのでそちらの機能を利用するように作り直しました。合わせてデバッグしやすいようにシステム構成もいくつか変更しています。VCJE対応の時にデバッグがしづらい部分が浮き彫りになったので、その辺に対応できるようにサービス間の通信のログを出力できるようにしたり、テスト用のAPIに切り替えやすくしたりですね。

また、元々Javaで実装していてCloud Runの謎の制約により各サービスの起動が10秒程度かかりトータルで3数十秒かかるという状態だったので、VCJE対応のタイミングでGraalVMのnative-imageに変更しました。これで1秒以下の時間で起動するので快適になったのですが、反面ビルドが10分近くかかるように。。。 という分けで、kuda-proxyをGoでGCPのワークフロー対応と合わせて書き直しています。ビルドも実行も速くなって快適。また、APIの認証周りを強化したので一応セキュリティが上がっています。特にパブリックから操作されてまずいものは元からないのだけど。

今後の対応予定

スライドの公開機能など基本機能の拡充

現状ではスライドはリンクを知らないと見れない、という状態なのでSlideShareドクセルみたいに公開設定にしたスライドが普通に見えるようにはしたいと思います。あと、地味に編集機能が今ないのでそれも作らないとなぁ。。。

UIも色々バグっぽい動きしてるところがあるので、その辺の改善もですね。

VCIジェネレータ対応 & 強化

Roomとかにも対応できるようにプレゼン用VCIをPDFから直接生成する機能を下記に作ってるのですが、こちらをSlide4VR側に取り込みたいですね。 また、生成するスライドVCI自体もリモコンに対応したりといくつか改修を入れていけたらと思います。TSOへの自動アップロードはAPI待ち! vci-slide-generator-dnb6froqha-uc.a.run.app

個別スライドのOGP対応

パフォーマンスの劇的な改善はちょっと難しいのですが、アップデートされたことが分かりやすくなるようにとかUI的な改善は入れたいかと思います。

まとめ

ここのところずっと裏側の仕組みのところをずっと弄ってました。UIはほぼ変わってないのですが裏側は結構変わってたりはします。これでだいぶ色んな改修がしやすくなったので、もうちょっと使いやすいようにUIも改善していきたいですねー。 今後は改修したらもうちょっと頻繁にアップデート情報を書いていきたいですね。

それではHappy Hacking

テックポエム:019 - Apple Glassを待てない! 2021年のAR/MR Glass 6選

はじめに

Google Glassから始まるスマートグラス/ARグラスですが2021年現在は結構良いものが出始めてきたと思っています。去年も2020年のスマートグラスという形で記事を書いたのですが、あれから1年で変わったこともありますし、2021年版を書きたいと思います。

f:id:pascal256:20210513122437p:plain

こちら動画も作成しましたが本記事は動画の補完になるので良ければ動画の方も是非見てみてください。

www.youtube.com

配信に使ってるスライドはこちらです。

slide4vr.nklab.dev

AR/MRグラスって? スマートグラスとは違うの?

スマートグラスなら聞いたことがあるけれど、AR/MRグラスってなんだろう? という方も居ると思います。端的に言えば「みんなが想像しているスマートグラス」はAR/MRグラスだと思って良い気がします。

f:id:pascal256:20210513121010p:plain

電脳コイルとかSAOのオーグマーとかですね。仮想オブジェクトに触れたり、現実世界にテクスチャを重ねるのがAR/MRグラスになります。逆にいえばメガネ型デバイスであっても単に映像を映すだけであったりするのはスマートグラスとして分類されます。また賢い眼鏡は全てスマートグラスなのでAmazonEcho GlassBoseBose Frames のように映像ではなく音声を取り扱うものもスマートグラスとして分類されます。これはこれでウェアラブルガジェットとしては面白いものですが、ちょっと自分がスマートグラスという名前で期待してるものとは違います。なので耳馴染みは悪いのですがAR/MRグラスという言葉を使うのが良いと思います。

では、AR (Augmented reality/拡張現実)MR (Mixed Reality/複合現実)の違いは何でしょうか? リンク先にある通り定義としては異なるものですが製品のマーケティング用語として使われる側面もありますし、そこまで区別する意味はないと思っているので今回は同じものとして扱います。

MAD Gaze – Glow Plus

f:id:pascal256:20210513122549p:plain

Glow Plusは中国のMAD Gazeにより販売されているAR/MRグラスです。ぱっと見単純なサングラスに見えるデザインですが、すでに販売されておりAmazonで購入することもできます。

USB-C DisplayPort (DP Alt Mode)を使ってスマートフォンやPCと接続することが可能です。PCやスマートフォンとミラーモードで繋いだ時にはサブディスプレイとして使えるのでスマホのゲームやYoutubeなどを大画面で楽しんだりすることもできます。旅行に最適ですね。

一方で、AR関連の機能は粗削りな部分が多くアプリも不安定なのでARの完成品を楽しみたいという人には物足りないと思います。

Nreal Light

f:id:pascal256:20210513123250p:plain

NReal Lightは中国のNrealにより販売されているAR/MRグラスです。こちらはauとも提携して去年末から日本で販売しています。auのオンラインショップで購入することも可能です。

CESでもその性能の高さが有名でカタログスペック上はGlow Plusとも似てますがその完成度は大きく異なると言われています。またauと提携しているので日本のコンテンツもソフトウェアとして提供されています。一部のauでは店舗デモもしているらしいので機会があればぜひ試してみましょう。

ThinkReality A3

f:id:pascal256:20210513123944p:plain

ThinkReality A3ベンチャー企業ではなくThinkpadで有名なLenovoによって2021年中ごろに販売予定のAR/MRグラスとなります。

他のデバイスとはことなりエンターテイメントではなく、法人向けに特化しており工場や機器調査などのさいに利用したり、PCと接続してマルチディスプレイとして使うことが想定されています。

www.youtube.com

WFHということで自宅からリモートワークをする人も増えたと思いますが、スペースの都合でマルチディスプレイを十分に揃えれてない方も居ると思います。私とか。ThinkReality A3を使う事で5枚のディスプレイを空中に浮かべる事が出来き他のデバイス以上にユースケースがしっかりしているので購入を検討しやすいデバイスかと思います。

Kura Gallium

f:id:pascal256:20210513124705p:plain

Kura Galliumアメリカのベンチャー企業のKuraによるデバイスです。2021年末から2021年初頭にかけて発売とアナウンスがされています。

特筆するべきは8Kで視野角が150°という圧倒的な性能の高さです。他のデバイスとは隔絶した性能になっています。それでいて、コンパクトかつ見た目もすっきりしているという事で、スペック通り発売されれば間違いなく最強のデバイスとなるでしょう。

Foveated Rendering(フォービエイテッドレンダリング)という技術が採用されており、これは目の届きにくい視界の外側の解像度を落とすことで接続するスマートフォンの負荷を軽減する技術です。

Vuzix’s Next Gen Smart Glasses

Vuzix’s Next Gen Smart GlassesはAR/MRグラスの老舗であるVuzixによって開発されるデバイスです。発売日は未定。 こちらはCES2021で登場して大きな話題になりましたが、micro-LEDの採用により非常に薄くほぼ完全に通常のメガネと同様の見た目をしているのが最大の特徴です。

www.youtube.com

どちらかというとスマートグラスよりの位置づけになりそうではありますが、このコンパクトさが実現されればスタンダードデザインとして他社も追従してくると思います。

また、大きな特徴としてVuzixはすでに10年以上のARグラスの開発/販売の実績があります。そのため顧客をすでにある程度掴んでおり、その点がこれから開拓をするのみの他のAR/MRグラスとは大きな違いです。

Qualcomm's blueprint

f:id:pascal256:20210513125642p:plain

Qualcomm's blueprintは実際の販売予定のデバイスではなく、XRデバイスに多く使用されるSoCのSnapdragonを開発するQualcommによるリファレンス実装です。正確にはXR1 Smart Viewer reference designとなります。先ほどの紹介したLenovoのThinkReality A3はこちらをベースにしていると言われています。

Quest2を筆頭に多くのスタンドアローンVR HMDに使われているXR2の一つ前の世代のチップですが、接続するスマートフォンとリソースを分配する事が出来多くの処理をスマホで実施することが期待できます。また6DoFやハンドトラッキングなども搭載しており、今後こちらのハイスペックなリファレンスをベースとしたさまざまなデバイスが出てくることが期待されます。

まとめ

毎年出る出る詐欺というかみんなの期待が集まっているApple Glassですが、現状紹介したものをUXとして越えなければいけないのでもう少し温存してから出す気が個人的にはしています。それよりも、今ある、あるいは直近で発売するデバイスで良いものがどんどん出てきているのでそっちをしっかり楽しめればと思って動画の作成や記事の作成をしました。特にWFHにすぐにでも使いたいThinkReality A3が今年の中ごろには出るという事で、とても楽しみです。 とはいえ今年のWWDCApple Glassが出ると非常に嬉しいので楽しみですけどね。

それではHappy Hacking!

【Vキャス用】Unity無しでWebからVRスライドが作れるVCIスライドジェネレータを作ってみた

はじめに

バーチャルキャストではVCIというアイテムを使う事で様々なインタラクションが出来ます。 これはメチャクチャ便利なんですが、当たり前の話として3DのアイテムなのでUnityが必要。でも、スライドVCIや音楽プレイヤー、あるいはホロポスターや電子書籍みたいなのは コンテンツの中身だけ差し替えれれば良い ので、もっと手 軽にパッケージング できれば絵師さんとかコンテンツクリエイターの人に使いやすいのに、と思って UnityなしでWebサイトにアップするだけでVCIに変換できるデモサイト を作ってみました。ちなみに将来的にはSlide4VRの方に組込む予定です。

f:id:pascal256:20210216063903p:plain

解説動画で使い方やモチベーションに関しての動画も作りました(Youtube版, ニコニコ版)。 使用しているスライドはこちら


【Vキャス用】UnityなしでVRスライドが作れるVCIスライドジェネレータを解説

使い方

使い方はとても簡単で以下の3工程だけ!

  1. パワポGoogle Slideでプレゼン用のPDFを作ります。16:9に最適化されてます。
  2. デモサイト にアクセスしてPDFをアップロード
  3. ダウンロードしたVCIをThe Seed Onlineにアップロード。これだけです!

ちなみにできたもののサンプルがこちらとなります。

f:id:pascal256:20210216065937p:plain

なお、元になってるテンプレートは私の「はじめてのVCI」なので、クオリティは今三つくらいですw 誰か良い感じのをお願いします!

なんでこんなの作ったの?

UnityなしでVCIが作りたいから!

です。

もうちょっとちゃんと解説すると、冒頭にも書いた通りコンテンツ系のVCIはリソース差し替えで原則量産できるはずなので、パッケージのためだけにUnity必要なのはなんだかなー、と思ってました。 コンテンツホルダーの方がもっと気軽にVR上にコンテンツを出せれば良いのに、と。その時に、たとえどんなに簡単でもいきなり 「ではUnityをインストールしてVCIプラグインを入れてください」 から始まりますし、パソコン得意な人でも3D触ったことなければそれだけで少なくとも1日はつぶれちゃいます。

というわけで、ハードルが高いのでもっとUnity無しで簡単にしたいというのがモチベーション。

同じようなことを考えられてる人はもちろん他にもいて、ねこますさんなんて2019年から同じようなコンセプトのものを作られてます。

www.nicovideo.jp

スライドに関しても120byteさんがすでに。 booth.pm

他にもおぐらさんが「VCI「本」作成キット」をUnity Packageで作られています。

booth.pm

他にも探せばもっとあると思います。どれも超素晴らしいツールなので私なんもしなくて良いかな? とも思ったのですが、Unity Packageはもちろんデスクトップ版もUnityベースにしてる都合上デスクトップにアプリをインストールする必要があるので、Webならインストールも不要になるし、もっと簡単に出来るんじゃないかな? という気持ちで比較的得意なWebアプリとして今回作ってみました。C#以外の言語でVCIを読み書きする参考にもなりますしね。

技術的な解説

基本的な発想としてはテンプレートになるVCIをRubyで解析して、画像などのリソースになる部分だけを差し替えています。テンプレートになるVCI自体はUnityで作ってますね。理論的には完全に独自で作ることも可能なんですが、3Dモデルを弄る部分はUnityで作るのが無難でしょう。エディタ自体作りたいなら別ですけれど。

今回はRubyで書いていますが、単なるシンプルなバイナリ操作なのでJSでもJavaでもC#でも問題なく対応できると思います。

元になるVCIを変更すれば音楽プレイヤーとかホロポスターとか自在に作れるはずです。たぶん。

ソースコードは以下に置いてあります。 github.com

また、VCIのフォーマットなどより詳細な情報はこちらをどうぞ。

zenn.dev zenn.dev

VCIはVRMと違ってあくまでVキャスの仕様なので、フォーマットとかの仕様書は特に公開されて無さそうなのですがglTFなのでバイナリ解析自体は一般的な方法で出来ますね。あとは雰囲気でリバースエンジニアリング

今後の予定

今後の予定としては 「はじめてのVCI」 がテンプレートなので、さすがにもうちょっと機能強化はしたいと思います。リモコンとか欲しいし。 その上で、Slide4VRへの取り込みですね。その他にもMusic Playerとかは作ってみたいです。レコードを切り替えると別な曲が再生できるようなの。ホロポスターもチャレンジしたいのですがあんなVCIを劣化版ですら書ける気がしない。。。

ちなみにソースコードはMIT Licenseなので、気兼ねなくコピッて 「お前のダサいVCIじゃなくてもっと良い感じの のVCIやサービスを作ってやんよ!」 というのをお待ちしております。VCI書けるけど、Webは分からんという人は私にVCI連携いただければなんとかしますー。一番良いのを頼む!

まとめ

というわけで、WebからVRスライドが作れるVCIジェネレータの紹介でした。

VCIはユーザストアで有料販売もできますし、VRSNSでの即売会も一般的になってきました。今後、VキャスもRoomでセレクトショップを作る人が現れたり、もっともっと発展すると思います。そんな時に、コンテンツクリエイターの方々が手軽にパッケージングして販売できるようになれば、VRに物凄い興味がある方じゃなくてもカスタマーチャネルの一つとして当たり前に扱ってもらえる時代を期待しています。電子書籍書いたからKindleKoboとBookwalkerに出版したし、ついでにVキャスも出すか、くらいのノリで。

みんなでバーチャルキャストを盛り上げていきましょう!

それではHappy Hacking!

【メモ】各種クラウドのざっくりサーバコスト比較用

Azureのインスタンス名が覚えられないのでメモ。 精緻な値は見積ツールで見るとしてコスト感を抑える用。インスタンス特性は各ベンダーで微妙に違うだろうけど、比較できるように独断と偏見でマッピング。 Azureは組み合わせパターン毎に名前が付いてるから覚えれば楽そうだがツラい。。。あとコストシミュレータが使いづらい><

GPUとかHPCとか自分が普段使わないのは特になし。割引とかで実際はもっと安くなる気がする。

GCP

GCPは継続利用割引で自動的に20%引きになるのでコストシミュレーションでも適用されてるかも。

エントリ レベルの VM (開発/テスト)

  • small, micro など。e2-micro
  • $ 6.03/month. 7,500円/year

経済的なバースト対応 VM (小規模システム汎用/VDIインスタンス)

  • E2シリーズ 。e2-standard-2
  • $ 48.25/month. 6万円/year, 30万円/5年

汎用 VM (小規模システム汎用/VDIインスタンス)

  • N2シリーズ 。n2-standard-4
  • $ 112.30/month. 14万円/year. 70万円/5年

コンピューティング最適化

  • C2シリーズ 。 c2-standard-4
  • $ 120.68/month. 15万円/year. 75万円/5年

メモリ最適化

  • M1,M2シリーズ 。 m1-ultramem-40 (CPU:40, RAM:961GB)
  • $ 3,190.60/month. 400万円/year. 2000万円/5年

Azure

年間契約でだいたい4-6割程度値下がり。

エントリ レベルの VM (開発/テスト)

  • Aシリーズ など。A0.
  • $ 14.609/month. 2万円/year

経済的なバースト対応 VM (小規模システム汎用/VDIインスタンス)

  • BSシリーズ 。B2MS
  • $ 72.47/month. 9万円/year, 45万円/5年

汎用 VM (小規模システム汎用/VDIインスタンス)

  • Dシリーズ 。D4 v3. DSシリーズはPremiumストレージが利用可能. SSDならこっち。基本的に新しい方が安いので必ず新しいバージョンを選ぶ。
  • $ 163.52/month. 20万円/year. 100万円/5年

コンピューティング最適化

  • Fシリーズ。F4s v2
  • $ 154.76/month. 20万円/year. 100万円/5年

メモリ最適化

  • Mシリーズ、Gシリーズ 。 Msv2 (CPU:32, RAM:875 GB)
  • $ 23,099.39/month. 3000万円/year. 15,000万円/5年

参照

cloud.google.com azure.microsoft.com

【バズワードを学ぶ】SMBCのコード流出とGitHubの利用を考える

www.youtube.com

先週話題になった「SMBCのコード流出」とそれに伴う「GitHubの利用問題」です。今回の件に限って言えばGithubはほぼ関係ない業務委託先からの情報流出ですが「GitHubが禁止にされるのではないか?」という話題もネット上ではされていたので、その是非というか有効性に関しても解説してみました。

大筋はZennに書いた内容をエッセンスだけサマった感じですが、はてぶのコメントとか眺めながら少し整えた感じです。 zenn.dev

動画のサマリとしてはこんな感じ。

  • 今回の件はGitHubの公開/非公開とかオンプレかクラウドか?とかでは無く内部犯による情報漏洩の問題
  • GitHub禁止はあまり解決にならない
  • この件に限れば発注元が悪い(と世間からは言われる)
  • GitHubのPushを制限しうっかり事故を減らす効果あり
  • ただし、悪意のある漏洩には効果が無い
  • リスク分類とそれに見合ったセキュリティの適用

まず前提として今回の事件自体は委託先でのやらかしなので、セキュリティ的にはサプライチェーン管理の問題。ちゃんとベンダーマネージメントをしましょう、になります。 f:id:pascal256:20210201130637p:plain

その上で、では自社で同じような流出が起きないようにどうするか? を解説しています。ブラックリストのWebフィルタリングやオンプレミスでの運用も含めてやはり内部犯による情報漏洩を防ごうと思うと、透過的ファイル暗号やホワイトリスト運用、厳格なアクセス管理の組み合わせにならざる得ないのですよね。それ以外は 「うっかりミス防止にとどまるというか」 f:id:pascal256:20210201130710p:plain

なので、システムで完全な対策を目指すのではなく、情報資産の重要性を判断してその上で適切な仕組みを選ぶ必要があります。99%のコードは(流出ではなく)ソースコード公開してもビジネスインパクトが無いものでしょうから、そういったものをホワイトリストレベルで過剰に守って生産性を下げるのは多くの企業にとって適切ではないでしょう。その代わり1%のコードを持ってるなら、そこは適切に手間とコストをかけて守る必要はあります。 f:id:pascal256:20210201130921p:plain

というあたりを24分くらいでまとめてしゃべってるので気になる人はぜひ動画をチェック! それでは Happy Hacking!

【バズワードを学ぶ】PPAPが全面禁止??? PPAPの問題点と代替案に関してまとめてみた

www.youtube.com

PPAPが全面禁止」ということで、Twitterのトレンドにも入りましたね。ピコ太郎さんには悪いけど、キャッチーな名前のおかげでかなり話題にしやすくなったと思います。

以前もZennの方でまとめていたのですが、ちょうどバズってたのでいつか作ろうと思ってたPPAP動画を作ってみました。 zenn.dev

動画のサマリとしてはこんな感じ。

  • ピコ太郎は悪くない
  • PPAPとはパスワード付きZipをメールで送り別メールでパスワードを追加で送る手法
  • セキュリティの効果が低いだけでは無く近年ではむしろ有害としてアメリカ政府や霞が関で非推奨に
  • 今回、日立が全面禁止したことでトレンド入り
  • 代替案としてはファイル共有サービスが一般的

特に、重要な点は現代ではメールであってもファイル暗号は必須ではないことですね。バケツリレーをしていたのは今は昔で現在はMXレコードを参照して相手先を直接指定するので基本的には中継サーバを介さないようです。 このあたり実は自分も良く分かってなかったので、今回調べて知れて良かったです。 f:id:pascal256:20210123162717p:plain

バケツリレーがないからファイル暗号であるパスワード付きZipやS/MIMEを使わなくても経路暗号でセキュリティが担保出来るわけですね。

f:id:pascal256:20210123162818p:plain

動画中では言及しませんでしたが、今では自前でメールサーバをコーポレートメールとして運用してるところは少なく、多くはマイクロソフトGMailをカスタムドメインで利用してると思うので、経路暗号を期待して特に気にせず添付ファイルをするというのもそこまで悪手とは思わないのが正直なところです。 S/MIMEの運用が仮に手軽に出来たとしてもS/MIMEは基本的にファイル暗号なのでやはりメールセキュリティが適用できず下記のパスワード付きZipと同じ問題が発生してしまいます。 f:id:pascal256:20210123163043p:plain

そういったことを加味するとやはりオンラインストレージ、特にOutlookならOneDrive、Gmail(Google Workspace)ならGoogle Driveとすることでセキュリティ的にも運用性的にもかなり使いやすくなる気がします。 PCIDSSやHIPPAなど高いセキュリティが求められる認証も取ってるケースがあるので、そういった規制される業界にも適用できるのはうれしいですね。

f:id:pascal256:20210123163427p:plain

オンラインストレージはセキュリティ的にDLPやきめ細やかなACL、監査ログ、ウイルススキャン、自動バックアップなど様々な機能を持っているので、これらをPay as Goで使えるのはかなり魅力的ですよね。ファイルサーバを運用するとパッチ当てとか気になりますし。。。

それでは Happy Hacking!

2021年、書初めコーディング: ArduinoでLチカを書こう

はじめに

あけましておめでとうございます。 まさかまさかの2020年でしたが、なんとか年も明け2021年が始まりました。

とりあえず新年ということで個人的にしてるのが書初めコーディングですが、まあ今年の抱負とか目標とかそういうことをふんわり込めながらなんか書きます。 今年のテーマは「挑戦」。「いつかやろう」と思ってやってなかった事にしっかりと挑戦していく年に出来たらと思います。

そんなわけで、電子工作をしてみました。最終的な目標としては水温を制御したいのですが、とりあえず今日はHello WorldとしてL地下です。 用意したのはArduino。ラズパイよりも電子部品を組み合わせるのには向いてそうだし、いろんな言語で書けるというわけじゃないのでWebの記事も大体参考になるので、より初心者向けかな、と。 いきなりゼロからパーツを集めるのも大変なので下記のスターターキットを買いました。

SunFounder Uno R3 Project Starter kit Compatible with Arduino IDE,25 Tutorials Includedwww.sunfounder.com

また、下記のサイトを参考にというかほぼ写経させてもらっています。

deviceplus.jp

環境構築

まずは環境構築として公式サイトからIDEをインストール。WIndows 10であればWindows Storeから直接入手も可能です。 つづいて、メインボードを付属のUSBケーブルでPCに接続します。このタイミングでドライバも設定されます。どうやらCOM (RS232C)として認識されるっぽい。なつい。。。

電子回路の作成

つづいて、LEDをブレッドボードにさし、ブレッドボードと本体をぽちぽちつないでいきます。 この辺詳しくは上記の記事参照なのですが、本当にどう使えば良いかも分からなかったので、間違ったところに刺してみたりここが一番時間かかりましたね。 小学校の図工や理科の時間を思い出して楽しかったです。

Lチカ制御プログラム

最後にLチカの制御プログラムです。以下のように書きました。pinの13番を指定するためにledという変数に入れています。この値でセットアップ時に出力端子として初期化したり、digitalWrite関数でオン/オフをしています。

int led = 13;
void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

これは見ての通り1秒待って1秒光るというLチカが点滅するプログラムです。わかりやすいですね? 結果はこちら。

まとめ

とりあえず、無事Lチカを光らせることが出来ました。 シリアルコンソールででバックできるのは良いですね。COMもそうですが電気信号がそのままコードで制御した通りになるのはシンプルで良いですね。良くも悪くもプロトコルも何もない世界。。。 このあとPotentiometer(可変抵抗器)を使ったアナログデータの取得もやったのでArduinoを完全に理解したと思います!

まあ、冗談はさておきやはり作りたいものを作りながら調べて学ぶのが性に合ってるので次は実際に水温センサーとヒータの制御を作ります。

それではHappy Hacking!