Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
いにしえの呪文
Search
sapi_kawahara
July 03, 2018
Business
0
520
いにしえの呪文
【増席!】M5Stackユーザーミーティング vol.2 の登壇資料です。
https://m5stack.connpass.com/event/90997/
sapi_kawahara
July 03, 2018
Tweet
Share
More Decks by sapi_kawahara
See All by sapi_kawahara
今から始める8bits CPU アセンブラ言語
sapi_kawahara
0
620
執筆テーマの決め方
sapi_kawahara
1
360
LTの禁じ手
sapi_kawahara
1
1.2k
||とorの違いは登壇して解決した
sapi_kawahara
0
350
Macintosh talk / Macintoshの話
sapi_kawahara
0
200
混合接種してみた / Mixed inoculation
sapi_kawahara
0
150
安くて美味い日本酒 / Great wholesale market
sapi_kawahara
0
400
オフラインもし逢えたなら素敵だね / It would be nice to meet you offline.
sapi_kawahara
0
450
カジュアル面談本の裏側を語る / Casual Information Book Inside story
sapi_kawahara
0
460
Other Decks in Business
See All in Business
HENNGE会社紹介資料/company_introduction
hennge
3
180k
ホットリンク会社紹介スライド / We are hiring
hottolink_pr
1
14k
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
1
9.6k
Tech Culture Deck
takuyasaga
0
280
Presentation for New Investors_July-2025
zig_zag
0
110
会社紹介資料
gatechnologies
1
100k
GeminiのCanvas機能で脳を悦ばせてみた
o2mami
1
230
株式会社FLINTERS 会社紹介資料
flinters
1
830
40代以上に共有したい中年期のキャリア論
hysmrk
46
49k
Recruit Book
75jeong
0
180
2025.08_中途採用資料.pdf
superstudio
PRO
1
79k
【会社紹介資料】株式会社エーピーコミュニケーションズ
apcom
0
5.4k
Featured
See All Featured
Fireside Chat
paigeccino
39
3.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Rails Girls Zürich Keynote
gr2m
95
14k
The Cult of Friendly URLs
andyhume
79
6.5k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
4 Signs Your Business is Dying
shpigford
184
22k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
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の話をしてませんが、 清聴ありがとうございました!