夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

自由研究を楽しもう!!

昨日こんな募集しといてなんだけど・・・
自分でいい案が思いついたので、早速動き出そうと思います(^^)/

[今回の計画]

  1. 学研・大人の科学付録「Japanino」を使用し、オリジナルの測定器を使う。
  2. その測定器を使い、科学実験を行う。
  3. レポートにまとめて、HP、ブログ、YouTube等にその製作過程などをアップする。
そのために、以下のように準備します。
    1. まず、何を実験するか決める(笑)
    2. そのあと、それに見合ったオリジナル測定器をつくるwww
    逆の方が面白いんだけどね(笑)
    まぁ、今回はこうしとくよ。

    つーことで今回は、Japaninoに慣れていこうと思います。









    Japaninoに慣れよう!!

    Ⅰ・Japaninoを動かしてみる

    今回は、この本を参考にしました。勿論、Japaninoが付録になっている大人の科学vol.27だけでも十分楽しめます。

    まず、Japaninoとはどんなものか?
    こんなもんです( ^^)ノシ


    左がJapanino、右が付属のP.O.V(組み立て後)です。

    Japaninoを大人の科学の付録として手に入れているなら、大丈夫だよね?ということで、パソコンで環境整える過程は割愛させて頂きます。

    では、動かしてみましょう。
    IDEを開き、パソコンにJapaninoを接続したら次のようなコードを書いてください。






    // Example 01 : Blinking LED

    #define LED 13 // LEDはデジタルピン13に接続

    void setup()
    {
    pinMode(LED, OUTPUT); // デジタルピンを出力に設定
    }

    void loop()
    {
    digitalWrite(LED, HIGH); // LEDを点ける
    delay(1000);             // 1秒待つ
    digitalWrite(LED, LOW); // LEDを消す
    delay(1000);             // 1秒待つ
    }

    これをマイコンボードに書き込むと、JapaninoのLという字が書いてあるLEDと、P.O.Vの1のLEDが点滅するはずです。
    そうすれば成功です。次のステップに進みましょう。

    Ⅱ・P.O.Vを使いこなせ!!

    僕の実験では全く関係がありませんが、P.O.Vも使いこなしてみましょう。
    郷に入れば郷にならえ、大人の科学のサンプルスケッチを動かして見ましょう。


    // Japanino POV by Musashinodenpa

    #define LEDPIN 7 // どのピンからLEDをつなぐか
    #define SWPIN 6 // スイッチをつなぐピン

    // ビットマップ(画像)を定義
    byte bitmap[] = {
    0b00000000,
    0b01000001,
    0b01111111,
    0b01000001,
    0b00000000,
    0b00000000,
    0b00001110,
    0b00011111,
    0b00111111,
    0b01111110,
    0b00111111,
    0b00011111,
    0b00001110,
    0b00000000,
    0b00000000,
    0b00111111,
    0b01000000,
    0b01000000,
    0b00111111,
    0b10000000 // 最後の行は0b10000000(つまり目印)
    };


    unsigned char pos = 0; // 現在のビットマップ中の位置
    unsigned char i = 0;


    void setup() {
    // LEDが接続されたピンを出力に設定します
    for(char pin = LEDPIN; pin < LEDPIN + 7; pin++) {
    pinMode(pin, OUTPUT);
    }
    pinMode(SWPIN, INPUT); // スイッチのピンを入力に
    digitalWrite(SWPIN, HIGH); // 内蔵プルアップ有効
    }

    void loop() {

    if(digitalRead(SWPIN) == LOW) { // スイッチがオンならば1回描画

    delay(6); // すぐ始めると詰まって見えるのでちょっと待つ
    pos = 0;

    while(bitmap[++pos] != 0b10000000) { // ビットマップの端まで繰り返し
    for(i = 0; i < 7; i++) { // ビットマップの高さの分だけ繰り返し
    // ビットマップデータから1ビットを取り出してピンの状態に反映
    digitalWrite(LEDPIN + 6 - i, (bitmap[pos] >> i) & 0b00000001);
    }
    delay(1); // LEDが光っている時間
    }

    for(i = LEDPIN; i < LEDPIN + 7; i++) { // 全ドット、消灯
    digitalWrite(i, LOW);
    }
    }
    }
    もはやコピペです(^へ^;)
    上手く動かすとこうなっちゃいます。(さいごの何秒か余計でしたねwww)
    Convert »»  iPod - Blog - Gazo - iTunes - Bookmark - Twitter
    Powered by TubeFire.com

    疲れたので今日はここまで。