Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
いにしえの呪文
Search
sapi_kawahara
July 03, 2018
Business
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
いにしえの呪文
【増席!】M5Stackユーザーミーティング vol.2 の登壇資料です。
https://m5stack.connpass.com/event/90997/
sapi_kawahara
July 03, 2018
More Decks by sapi_kawahara
See All by sapi_kawahara
氷川神社の話
sapi_kawahara
0
82
EzSignという 電子ペーパー
sapi_kawahara
2
98
Gitがない時代 インターネットがない時代の 開発話
sapi_kawahara
0
420
プログラミング言語において文字列を複数行にわたって だらだらと記載するアレ
sapi_kawahara
0
230
コマンドラインを見直そう(1995年からタイムリープ)
sapi_kawahara
0
780
今から始める8bits CPU アセンブラ言語
sapi_kawahara
0
2.1k
執筆テーマの決め方
sapi_kawahara
2
460
LTの禁じ手
sapi_kawahara
2
1.3k
||とorの違いは登壇して解決した
sapi_kawahara
0
430
Other Decks in Business
See All in Business
Caddireat Innovation -採用候補者向け 会社紹介資料-
caddireat
0
310
カンパニーデック_260910.pdf
kojima1
0
580
採用ピッチ資料(2026年8月版)|ナカソネ住設株式会社
nakasonejusetsu
0
470
第47期_決算説明会.pdf
tsuchihashi
0
230
エムスリーキャリア Work Support採用資料 / M3C Work Support
m3c
1
15k
2026 Fuji Oil Outside Directors’ Roundtable (Japanese version)
tsogo817421
2
220
Fullerene Company Deck
fullerene_inc
3
4.8k
トヨタの販売店 DX の最前線で、生成 AI と内製開発で挑む
kintotechdev
0
140
reiwatravel ai era
reiwatravel_0405
0
1.3k
EDRを入れたので 安心しきっていませんか? 「導入した」から、「使いこなす」へ。
kamadamakoto
0
140
freeeの福利厚生と働き方
freee
PRO
1
110k
[2026.09] カルチャーデック|株式会社サイバーリンクス
cyberlinks
0
640
Featured
See All Featured
Done Done
chrislema
187
17k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Six Lessons from altMBA
skipperchong
29
4.5k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Amusing Abliteration
ianozsvald
1
350
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Technical Leadership for Architectural Decision Making
baasie
3
600
30 Presentation Tips
portentint
PRO
1
430
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Transcript
これから話す内容は、初心者向 けです!
いにしえの呪文 川原 英明 Facebook: kawahara.hideaki.0204 Twitter: @sapi_kawahara Blog: https://kawahara-ci.hatenablog.com/
自己紹介 • 川原 英明 • 埼玉県川越市在住 • 使用言語は、アセンブラ、C言語、C++、Perl、PHP、Java、Ruby、 Python、JavaScript(jQuery、Vuejs)と、何でもやる人です。 •
現在、Webエンジニアなので、C言語系は、コンシューマーゲーム機 での開発を、プレイステーション2を最後に、15年ぶりです。 • そう、M5StackはC++が開発言語なのです!
いにしえの呪文 その1
C言語が、いにしえの呪文
ディスってません! • #includeを久しぶりに使った。 • ポインターを久しぶりに使った。 • voidを久しぶりに使った。 • 構造体を久しぶりに使った。 •
uint8_tのような無符号整数を久しぶりに使った。 • プロトタイプ宣言を久しぶりに使った。 • 呼び出すメソッドを、ファイルの後ろの方に書くとコンパイルエラーに なる。 • 少々、変わっているクラス定義。
いやいや、クラス定義について PHPerやPerl Mongerには言わ れたくない!
なにせ15年ぶりなので! • クラス定義の最後は }; です! • 変数やメソッド毎に、アクセス修飾子(public,private,protected)を書く のでは無く、セクション毎に書く。(public: とか書いて、その後にまと めて書く)
• 使わないけど、デストラクターはクラス名の前に ~ を付けた名前のメ ソッドで定義する。 • そして、とにかく、クラスはファイルの前の方に書く!
恥ずかしながら・・・ • Web系エンジニアのみの方は、C++をやるときに、この辺りに、ひっか かる可能性があります。 • というか、自分がひっかかりました、30分ぐらい悩みました。 • この辺りは、C++ クラス とかで検索すれば、解決します。
ところで
M5Stackの話を、 全然してない!!
いにしえの呪文 その2
M5Stackのtoneで音を鳴らして たとき、音の感じが、とても懐か しく感じました!
懐かしく感じた物 • ガラケーの着信音
いにしえのガラケー • Webサイトは、基本的にメニューから行く。 • 画面はcHTMLというので作った、しょぼい画面です。 • 音は単音か3重和音だけど、音色は無く矩形波ぐらい。 • その当時、ガラケーで流行った物があります。 •
着メロ本です。
着メロ本とは? • 昔、着信音は手で入力してました。 • 本屋に沢山置いてありました。 • 数字の羅列です。
M5Stackで再現 • やっている事は、しょぼいです。 • スマホでbluetoothで接続し着メロデータを送信してます。 • M5Stackはデータを受け取り、着メロデータをtoneの形式に変換して鳴ら しているだけです。 • bluetooth関連はサンプルからコピペしました。
• M5Stackのbluetoothを有効にして、getValueすると、std::string形式で取得 できます。 • それを、toneで使える形に変換して、配列(std::vector<int>)に入れます。 • あとは、配列を読んで、toneで鳴らすだけです。 • bluetooth関連は、意外と簡単に実装できます。
着メロのルールはタイプA • 休符 0 • ド 1 • レ 2
• ミ 3 • ファ 4 • ソ 5 • ラ 6 • シ 7 • ド 8 • 二回は# • 三回は♭ • データは、こちらです。 • 5 3 3 4 2 2 1 2 3 4 5 5 5 0 5 3 3 3 4 2 2 2 1 3 5 5 3 3 3 0
苦労した点 • メソッドやクラスはファイルの前の方に書くなどC言語の特性に少々 悩んだ。 • このMacBook Proは少々古く、対応しているbluetoothは2.1だったの で、作ったのはいいが確認する方法に悩む。 • 結果として、iPhoneと汎用的なbluetoothアプリを入れて確認しました。
•M5Stackの音がうるさい!
あんまり、 M5Stackの話をしてませんが、 清聴ありがとうございました!