学童と私は自分の学校でラズベリーアラームを鳴らした

昨年10月、2つのイベントが同時発生しました。最初のイベント-UPSからイギリスの3つのRaspberry Piと同数のPiFaceが持ち込まれ、コテージでアラームを鳴らすつもりでした。 2つ目-私は突然母国の学校について思い出し、何らかの理由で非公式の借金を払い、子どもたちに何かを教えに行きたいと思いました。 これから論理的な解決策が生まれました。私は箱の中の鉄片をすべて集めて、校長に見せに行きました...



さらなるイベントの詳細な説明の前に、90年代の初めから少し背景を説明します。

その素晴らしい時期に、すべての学校は多くの楽しみを持っており、ほとんどの親はそこで子供を与えたくありませんでした。 この実践は、いくつかの場所で生まれました。数十人の将来の1年生の親が集まり、部屋を見つけてそこでクラスを組織し、しばしば自分で教えました。 私は幸運だった:それからちょうど6歳になり、私の両親はそのような学校を組織した。 最初は7人しかいませんでしたが、私たちはキッズクラブの敷地内で働いていました。 その後、弟と妹が育ち、別のクラスを開催し、幼稚園の敷地内に移動してから、さらに2つのクラスを獲得しました。 合計で、そのような機関は最大12か所がエカテリンブルクに設立されました。 2千分の1に近づくと、それらはすべて散逸するか、大規模な商業学校に変わりました。 これは私の学校では起こりませんでした。何人かの愛好家のおかげで、まだそれぞれ10人までの5つのクラスであり、誰もお金を稼ぐことができません。

...最初は、10年生と11年生のコンピューターサイエンスレッスンの代わりに4時間を割り当てられました。 そのため、現在の学年度のこれら2つのクラスでは、合計3人の男子と7人の女子だけで10人しか教えていませんでした。

クラスの準備を徹底し、2つのトレーニングマニュアルを作成しました。





まず、最も簡単な自動ライトスイッチオンを実装することになっています:ダイオードフラッシュライトとIRモーションセンサーがPifaceに接続され、次にPythonスクリプトが起動され、サイクルでセンサーをポーリングし、トリガーされたときにフラッシュライトをオンにしました(6行)。 逆アセンブル-SSH経由。

授業の前日、学生にマニュアルを配布するように頼みました。 翌日、すべてのジャンク(Raspberry、Piface、モーションセンサー、ダイオード懐中電灯、5ボルトと12ボルトの電源、ワイヤーハーネス)を集めてクラスに行きました。



どうしてこうなった

私は3セットと10人の学生しかいなかったので、「P」の文字で机を作り、別の机を真ん中に置き、鉄の束の上にたくさんのワイヤーを配置しました(ネットワークに逆アセンブルを接続するために、さらに3つのツイストペアが追加されました;写真、残念ながら、これ以上はありません)。 子供たちはコンピューターで2人座って、2つのペアが1つの逆アセンブルで働きました。

最初に、私たちがやろうとしているクールなことを示しました-私はPythonインタープリターで私のコンピューターから懐中電灯をオン/オフにしました。 気に入った。 さらに、私は一般的に自分が何をしたか、どうやってやったかを説明し、男の子はデバイスを残りの2つに接続し始めました。

私は頭からマニュアルを書いたので、すぐに横棒が現れました-パテでパスワードを入力するときのアスタリスクの欠如は、ハング以上のものではないと認識されました。 しかし、私たちはそれを理解し、クラスの最初のペアが終了する前に、誰もがなんとか懐中電灯を点灯し、モーションセンサーからデータを読み取ることができました。

次のペアでは、Pythonを学び、簡単なスクリプトを書きました。 それから私はクラスの準備で大きな間違いを犯しました-私はmcで仕事をテストしませんでした、それで私はこれをすべて行うことになっていた。 Puttyを使用して作業していると、mc画面全体がゴミでいっぱいになっていることがわかりました。 さらに、何らかの理由でpythonがmcエディターのダブルタブをダブルインデントとして認識しないため、長い間キャッチできず、何が問題なのか理解できませんでした。 その結果、クラスの終わりまでに、誰もがセンサーを調査する最も単純なスクリプトを書いたのです。



継続

コンピューターサイエンスのレッスンに参加することはもう許されませんでした。子供たちに任意で勉強させることを提案しました。 彼らのためにタスクを策定する必要がありました。 その時、学校は非営利の学校を演じ、子供たちはそれと消費者関係を持っていませんでした。私が私のホームスクールのためにスマートアラームを作ることを提案したとき、彼らは同意しました。

私はマニュアルを書きませんでした。途中で問題を定式化して解決することにしました。 そもそも-まだPythonを勉強させてください。 Linux Mintを2台のコンピューターにインストールしました(トレーニングに最適なシステムのようです)。これにはIDLEが含まれています。 私はレッスンに来ました、私の頭に入った最初の事は二次方程式を解くことでした。 そして、方程式を文字列として与えます。 彼らはそれをやった。

通常のアラームシステムを作成するのは簡単すぎます。各部屋でセンサーによって、逆アセンブルに接続し、7行でスクリプトを逆アセンブルします。 もっと面白いタスクが必要です。 たとえば、センサーをトリガーして部屋にいる人の数を判断することで、アルゴリズムがより複雑になり、センサーをよりスマートに配置する必要があります。 これがどのように機能するかを考える必要があります。 これが私たちがハッキングした場所です...一番下の行は、私たちが使用したアラームで使用されている従来のIRモーションセンサーのトリガーは、視界にいる人の数に依存しないということです。 したがって、問題を解決する唯一の方法は、センサーのシーケンス、つまり人の動きを処理することです。人は一人で移動することが多いためです。 タスクはセンサーの慣性によっても複雑になりました。1回の操作で、センサーは10秒間接触を開きます。 数学にはそのような問題を解決するための特別なセクションがあると思われますが、私たちはこれを気にせず、単純な農民のロジックを続けました。その結果、ブレーンストーミングセッションに合計10時間を費やし、いくつかのアルゴリズムを策定しました。 要するに-彼らは、移動する人々のすべての可能なシーケンスを愚かにソートし、これらのシーケンスが実現される最小人数を決定することを決定しました。 とりわけ、従来のIRセンサーを使用して50人以上の部屋に通常滞在する場合、その数を決定することはできないという結論に達しました。 そして、プロジェクトの次のマイルストーンが始まります。

私はすぐに、クラスの4人では十分ではなく、8年生を引き付ける必要があると判断しました。 もっとシンプルなものが必要です。男の子には車、女の子にはアドレス指定可能なRGB花輪にしましょう。 私はebayで対応する注文をしました。 とりわけ、さらに3つの距離センサーが私に来ました。 高校生と私は、玄関の入り口にそれらを設置して、入場した人数を正確に決定することにしました。

実際、これは私たちが現在の瞬間に到達したものであり、続けられます...



All Articles