工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

部品と用品

Arduino UNO ×1
Microchip Technology ATtiny85 ×1
電解コンデンサ 10μF/25V(デカップリング用) ×1
ジャンパーワイヤー オス-オス ×1

このプロジェクトについて

異なる場所で複数のセンサーデータを読み取るプロジェクトに取り組んでいます。これらはわずかなPWMピンしか必要としないため、複数のArduino Unoを使うと高価で不要です。そこで、Arduino Uno開発ボードの代わりにATtiny85マイクロコントローラーを使用することにしました。ATtiny85は、多くのPWMピンを必要としない場合の安価で強力な代替手段です。ATtiny85は単なるマイクロコントローラーなので、プログラミングにはArduino Unoが必要です。このプロジェクトではその方法を説明します。以下はATtiny85のピン配置で、データシートはこちら https://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

Arduino UnoをISP(インシステムプログラミング)として設定

ATtiny85をプログラミングするには、まずArduino UnoをISPモードに設定する必要があります。Arduino UnoをPCに接続し、Arduino IDEでArduinoISPの例ファイル(ファイル → 例 → ArduinoISP)を開いてアップロードします。

Arduino IDEにATtiny85サポートを追加

デフォルトではArduino IDEはATtiny85をサポートしていないため、ATtinyボードを追加する必要があります。ファイル → 環境設定を開き、追加のボードマネージャのURLにこのURLを入力:https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

完了後、ツール → ボード → ボードマネージャを開きます。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

リストをスクロールして「attiny by Davis A. Mellis」を見つけ、クリックしてインストールします。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

インストール後、ボードメニューに新しいエントリが表示されます。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

ATtiny85とArduino Unoの接続

上記の準備が整ったら、ATtiny85のプログラミングを開始します。ブレッドボードを使って以下のように接続します。

Arduino Uno – ATtiny85

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

ArduinoのRESETとGNDの間に10μFコンデンサを追加します。これは、ATtiny85にプログラムをアップロードする際にArduinoが自動リセットされるのを防ぐためです。電解コンデンサを使用する場合、アノードがUnoのGND側になるようにしてください。

ATtiny85へのプログラムアップロード

Arduino IDEに戻ります。ツール → ボードでATtinyを選択。ツール → プロセッサーでATtiny85を選択。ツール → クロックで8 MHz(内部)を選択。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

ツール → 書き込み装置で「Arduino as ISP」が選択されていることを確認。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

デフォルトではATtiny85は1MHzで動作します。8MHzで動作させるには、ツール → ブートローダーを書き込みを選択します。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

ブートローダーの書き込みが成功すると上記のメッセージが表示されます。

Arduinoの例からBlinkスケッチを開き、ピン番号を13から0に変更してアップロードします。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

上記のメッセージが表示されれば成功です。これでBlinkプログラムがATtiny85にアップロードされました。テストしてみましょう。

ATtiny85 Blinkのテスト

テストの時間です。Arduinoから全ての接続を外し、電源を用意します。ここではボタン電池でATtiny85を駆動します。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

これで、ボタン電池だけで動作するATtiny85上でBlinkプログラムが実行されています。低コスト、低消費電力、小スペースで多くのプロジェクトが可能です。想像力とPWMピンの数だけが限界です。

シールド化

上記の回路をArduino Uno互換のシールドにしました。

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション
Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

(注:ソフトウェア開発者としてこれは私の初めての電子工作プロジェクトです。更なる改善のためにご提案をお願いします。)

コード

Blinkプログラム C/C++

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the Uno and Leonardo, it is attached to digital pin 13. If you're unsure what pin the on-board LED is connected to on your Arduino model, check the documentation at https://arduino.cc This example code is in the public domain. modified 8 May 2014 by Scott Fitzgerald */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin 13 as an output. pinMode(0, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(0, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 

回路図

Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション Arduino UnoでATtiny85を効率的にプログラミング:低コストマルチセンサーソリューション

製造プロセス

  1. Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
  2. スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
  3. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  4. Arduino UNOで作るシンプル電卓 - シリアルモニターで四則演算
  5. Arduino UNOで1.17インチTFT LCDに画像を表示する方法
  6. Arduino UNOとATtiny85で作る携帯型POV(残像)ディスプレイ
  7. Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
  8. Arduino Unoと1Sheeldで作る4x4x4 LEDキューブ – インタラクティブLEDプロジェクト
  9. Arduino UNOとEthernetシールドで太陽放射を測定する自作ピラノメーター
  10. Arduino Unoで25kHz 4ピンPWMファンを制御 – 製作・コード・テスト
  11. Python C拡張プログラミング:高速ネイティブモジュールの構築