ブログパーツUL5

Arduino UNOの書込装置が完成

 Arduino UNOのCPUソケットは安物なので耐久性がなく、スケッチ(プログラムのこと)を何度も書き込んでだりするのでその度にCPUを抜き差ししていたら壊れる恐れがあります。折角、自作したブートローダー書込み基板があるのですから、新規に書込装置を製作しなくても安くArduino UNOが入手できれば、専用の書込装置が出来ます。ヤフオクで純正品のArduino UNOを落札できて入手できました。

 入手したArduino UNOに自作したブートローダー書込み基板を差し込みます。書込みソフトのArduinoISPのメニュの「ファイル」の「スケッチ例」から「11.ArduinoISP」の「ArduinoISP]を読み込みます。それをArduino UNOに書き込みます。これで出来上がりで手間要らずでしょ。

 完成したArduino専用書込装置(先日の写真と変わらず?)
Arduino専用書込装置
 下のArduino UNOがArduinoISPを書き込んだ状態で書込装置の専用になっただけです。

 この書込装置でスケッチ(プログラムのこと)を書込む場合には、書込みソフトのArduinoISPのメニュの「スケッチ」の「書込装置を使って書き込む」をクリックして書き込みます。

画面
0

    Arduino用のブートローダー書き込み装置を自作

     Arduinoのブートローダーを自作にしました。下記のサイトを参考にしたので詳細はそちらを参照ください。回路図もそちらで提供しています。

    Arduino Uno用ブートローダライタシールドキットサポートページ


     完成したらまずArduino UNOだけを接続して、Arduino IDEのファイルからスケッチ例の中から「11.ArduinoISP」を選択してArduinoISPを読み込みます。それをArduino UNOに書き込みます。ArduinoISPのスケッチが正常に書き込めると、HeartbeatのLEDが明るくなったり暗くなったりを繰り返します。

     完成したブートローダー書き込み装置
    ブートローダー書き込み装置
     しなぷすのハード製作記のサイトに参照にした回路図(PDF))があります。

     書き込みが完了した後に、製作したブートローダー書き込み装置を差し込んで、生のATmega328PをZIFソケットにセットして手順どおりに、ブートローダーを書き込みます。その後に書き込むスケッチを開いて、スケッチの「書込み装置を使って書込む」でスケッチを書込む。書き込み中はProgramのLEDが点灯して、エラーがあるとErrorのLEDが点灯します。

     これでいつでもCPU単独で起動させることができます。但し、今回は16MHzの発振子なので5V対応で、3.3V対応にするには8MHzの発振子にする必要があります。動作確認できたので、ICSPのコネクタを設けて結線して完了しました。

    0

      LCD Keypad Shieidが超安価で、ついポッチと

       Arduino UNO本体はTポイントが貯まったので、それでもう1台を購入しました。また、AmazonでLCD Keypad Shieidが400円を切る超安価(送料込み。税込み)で売られていたので、ついポッチと押してしました。1週間後に中国から直送されてきました。

      やはり問題点が


       中国製のためピンヘダが傾いて半田付けされておりソケットにうまく入りづらいじょうったいでした。出荷検査で不合格になった製品かもしれません。ソケットにピンを刺して半田こてを当てて傾きを修正しました。

       LCD Keypad Shieidのテストプログラムを動作せてみると、キーのLEFT、SELECTの表示がDOWN。LEFTになるということテストプログラムを調べてみました。

       キーを検出する端子のレベル調整が必要でした。
      // For V1.1 us this threshold
      if (adc_key_in < 50) return btnRIGHT;
      if (adc_key_in < 250) return btnUP;
      if (adc_key_in < 450) return btnDOWN;
      if (adc_key_in < 650) return btnLEFT;
      if (adc_key_in < 850) return btnSELECT;

      の設定で問題で、上記をコメント文にして下記のコメント文を外して有効にします。
      // For V1.0 comment the other threshold and use the one below:
      /*
      if (adc_key_in < 50) return btnRIGHT;
      if (adc_key_in < 195) return btnUP;
      if (adc_key_in < 380) return btnDOWN;
      if (adc_key_in < 555) return btnLEFT;
      if (adc_key_in < 790) return btnSELECT;
      */
      (US規格になっておらず不合格品になったのでしょう。推測です。)

       問題が解決したLCD Keypad Shieidをテスト
      LCD Keypad Shieid
       写真では表示が見にくいですが、正常に表示しています。
      0

        スケールスピードメーターのケースの製作

         100円ショップで適当なサイズを見つけたので、取りあえずカッターナイフで穴加工してケースに収めてみました。できれば。9V電池も収まればされによかったのですが、一応、これで今回のスケールスピードメーターの製作完了とします。今後はLCD交換や利用していて不具合があればを改善する程度でしょう。

         100円ショップで購入したケースと本体
        購入したケース
         (上の写真の本体向きが逆でした、センサー側が上向きです)

         加工後にケースに収めてみた
        ケースに収納
         Nゲージ・HOの切替はケースの蓋を開けて切替えますが、いつも切り替えませんのでこれで良しとしました(手抜き)。

         【追加】2018.3.2
         NゲージのSL(側面が凸凹)でも計測できるかのテスト
         
        SLのスロー走行をテストしてみました。

         移動が面倒なので、手元にあった有り合わせの部品でちょっと改良しました。

         電池ボックス(9V)を取り付ける
        電池ボックス取付け

         電池のスイッチを付ける
        電池のスイッチ
        0

          1

          カレンダ

              123
          45678910
          11121314151617
          18192021222324
          25262728293031
          << March 2018 >>