2016年6月アーカイブ

報告
  • Arduinoで信号機再現
旗か何かで道路を塞ぐ
ソレノイドをリレーで動かしてみる
リレーがうまく使えず断念
→ソレノイドが熱くなっていることから通電はしていると判断
→まだ原因究明中

参考
Arduinoインタフェイス 
OMRON - G5V-1 (リレー)

やること
他のモノを使ってみる(etc.モーター, DCサーボモーター)
報告
Arduino信号ができた
- 車用信号+歩行者用
- ボタン式信号
仕様
- 車用は青になっている時間をかなり短くした
- ボタン式は車が青になってから少しの間、ボタンを押しても反応しないように(渋滞緩和)

(個人的な)朗報
ArduinoがWeb上でつかえるようになる(予定)

やること
梵天丸と組み合わせて、歩行者と車的な。
報告
様々な視点から、プログラミング言語・開発環境を分類

以下の視点で分類した
  • 用途別
 Webづくりに向いているのか、制御に向いているのかを分類。また、グラフィック系というかGUIが作れるかどうかも一緒に分類してみた

  • パラダイム別
 分別中にそれぞれのパラダイムがわからなくなってしまい、頓挫

参考
東北大講義資料 - 三石 大のウェブサイト

プログラミング言語の習得難易度を分類してみた - やまろうのITエンジニア仕事術

プログラミング言語をいろんな視点で分類してみた - SLOW LIVING IN THE SKY

あなたが学ぶべき10の現代実用プログラミング言語 - codezine


雑談
Appleが子ども向け開発環境を提供。今秋ローンチ予定。
iPadで遊びながらコーディングの学習をできる模様。
Swift Playground - Apple

やること
継続して分類を実施
大体完成したものから表に起こしたい


分類した事を元に、何に気をつければいいのか
教育的な観点をもとにこの分類を見てみる


動く教材 Arduino
信号機 ボタンで止まる
自動車が梵天丸
きいろいおじさんが歩道STOP
梵天丸が止まる
8の字で十字路とか

時間を見てなにができるか予定を立てる
先週から4年生は実習
がんばれ
私は教採前の研究強化期間
がんばる

報告
摘要
  • プログラミング言語や開発環境など、扱うものについて、分類してみた
  • 言語について詳しく分類した方がいいと思ったが、何で分類したらいいか迷う
 →分類の案をつくった

論文で諸々扱うものの分類(C言語とArduinoが同じ階層では具合が悪い)
分類を考えた(以下3つ)
- プログラミング言語
 C, Java, JavaScriptなどをはじめとした、コンピュータをプログラミングするための言語
- 開発環境
- 筐体
これらを跨ぐものもいくつか存在(Arduinoなら開発環境と筐体がセット、梵天丸なら言語含めて全部など)
プログラミング言語・開発環境・筐体の分類

参考
2016年はどうなる!? TIOBEプログラミング言語人気予想 - マイナビニュース

この中で特に言語の分類がしっかりしている方がいいかもしれない
分類の仕方は多々ある。

参考
あなたが学ぶべき10の現代実用プログラミング言語 - codezine
プログラミング言語をいろんな視点で分類してみた - SLOW LIVING IN THE SKY

言語の分類項目(案)
- 高水準言語か低水準言語か
 低水準ほどハードに精通する必要あり。難化する
- コンパイル言語かスクリプト言語か
 実行速度に影響。ハード寄りの部分をどれだけいじれるか
 予め機械語に翻訳するのがコンパイル言語、逐一翻訳していくのがスクリプト言語
 そのため後者がどうしても遅くなりがち
 コンパイラ言語とスクリプト言語の違い - ROBAMEMO
- 実行速度
 同上
- Web向きかハード向きか
- 同じことをするとき書くコードの分量
 比較に使えそうなもの(同じことを色々な言語で記述したもの)
 99 Bottles of Beer - one program in 1500 variations

これらの項目を精査していくつか決め、各言語ごとその項目についてスプレッドシートにまとめておくようにしたい

分類については図書も出ているかと思うので、分類に役立ちそうな図書も探してみたい

やること
プログラミングの要素の分類(変数とかループとか、概念や機能)
→子どもの学習すべき要素は何か精選してみる
→どの言語がこれらを効率よく学べるかなども調査したい

分類について
いくつかの要素を抽出して、それらについて図で書いてみる。(多くて2,3軸ぐらいずつ?)
→Google Docsのプレゼンなどでまとめてみる
→ベン図とか数直線で度合いを書いてみたり
言語についてのまとめ
→表をつくる
→分類いくつか


この全体をみて、それぞれについての教育実践を調べる
報告
  • SmallBasic→Arduinoで梵天丸モドキ
前回はシリアル通信まで可能に。
ただ、シリアルを受け取ってArduinoが物を動かす段階で躓く
→処理関数の後、10ms待っていたので、その待機をなくした所、行けるように
 オルタネートでなら大丈夫。モーメンタリには動作できなさそう。
 ただ、データ落ちやデータのダブリが懸念される(かもしれない)
一応の解決。

ただ、
現在はリアルタイムで、PCと繋がれていないと動作しない。
もし教材化するならプログラムを書き込み、それを実行という方式も必要なのでは。

余談
モーター制御する場合、ドライバが必要になるので、良い解決策が無いかと見ていた所、
はじめから全部載せのArduinoが販売されていた。
Den2duino 5,985円(税込)

と思ったら販売停止の模様。
代わりにシールドを発見

モーター2つまでならいける模様。10Aとあるので余裕か

やること
プログラミング言語の分類
水谷先生にアンケートの取り方の相談

報告
概要
SmallBasicでArduinoとシリアル通信はできた
無線(Bluetooth)化できそうなものを見つけた

  • SmallBasic検討つづき
無線化、外部の制御を考えてシリアル通信を試みた
調査していると、日本語ページの方法は古い情報が多く、同様にやってみても使えなくなってしまっていた
参考:Microsoft Developer - SmallBasic Arduino
英語版の公式に2016年の情報があったので、これを試してみることにした

シリアル通信
LitDevのLDCommPortというAPIを用いるらしい
LitDev
LitDevのインストールはprogram files/microsoft/smallbasic/libに.dllを置く。
使用可能になった(写真ではプリファレンスがないが、後で追加した)
以下は今回使うLDCommPortのAPIプリファレンス

シリアル通信はできたが、応用でモーターを動作させようとして苦戦中。
Arduino側の問題で、10ms刻みでserialを読み取っているので、10msだけ動いているのかもしれない

また、今回見つけた・気づいた事
- このSmallBasic、日本語は苦手らしい。ウィンドウ内で仮名の入力と変換が行われない上に、
確定すると文字列がバラけたりする(仮名→名仮と入力される)のでコメントは英語がいいかも
- かなり落ちると思っていたが、軽いプログラムであれば、ある程度安定していることが判明。もう少し様子をみる

余談
EV3 Basicというものがあるらしい。
ロボジョイくらぶ - BASICでEV3をプログラミングできる「EV3 Basic」
レゴマインドストームをSmallBasicからいじれるもの
詳しくは未確認

余談2
ichigojamというBASICベースのマイコンボードがあるらしい
もしこのままBASICを使うなら応用できることもあるかもしれない

  • Bluetoothをつかった諸々の無線化
種々の無線化のためにBluetoothの無線ドングルを選定
無線通信で用いるプロファイルはSerial Port Profile(SPP)というそのままの名前
電子工作用途のものならばありそうなので探すと以下がみつかった


やること
Bluetoothが届き次第ピアノ鍵盤無線化
梵天丸モドキづくり(水谷先生からパーツもらってこられるか)

報告

  • ドットインストールにてBASICの勉強をしてみる
教員の中で、「俺も昔はBASICで慣らしたんだ...」という方にプログラミング教材を勧める時の足しに、BASICをやってみる
Mac用にChipmunk BASICという環境があるので、ドットインストールにあるとおりにいじってみる

ターミナルからbasic(実行ファイル)のパスを打って起動。
- コマンドラインに行番号を打って加筆という仕様が逆に新鮮
- 行番号の管理は、意外と簡単そうだった(renumで行番号の振り直ししてもらえたり)
SmallBasicと合わせて、なにがどのように変わっていたかも比較したい


  • 開発環境、開発経験のアンケートを試作
県内の技術科教員の皆さんに取りたいアンケートを試作。
開発環境のほか、どのようなタイプの教材が欲しいか、子どもにウケそうか、などを訊きたい。

  • 研究で行うこと、取り扱うこと、流れとか
プログラミング教育の実情についての調査、必要性や学習の要点についての考察
プログラミング教育について過去の実践のまとめ
→外国の実践も可能であれば出来る限り収集、まとめる 教育向けに使われている言語を調査
調査した言語を使ってみて、使い勝手、言語の癖、初心者が使った際の難易度について考察
この中から言語をいくつかピックアップし、実践する教材(Minecraft他)づくり、教材のまとめを行う
最後まとめ

やること
教育向けで使われていいる言語を体型立ててやるように
Ciniiで調べる場合、学校で実施されているもの中心に調べる
日本だけで無く海外でも調べられる分調べる

このアーカイブについて

このページには、2016年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2016年5月です。

次のアーカイブは2016年7月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.12