1ドルのArduino





はじめに、はんだごてを手に持たず、「プログラマー」という言葉を知らなかった人々と、子供たちがArduinoと呼ばれる電子「デザイナー」のコネクターに楽しくワイヤーを刺す方法については、あまり触れません。 そして、これをマイクロコントローラーのイデオロギーの悪戯および/または乱用と見なす「ハードコア」な人々の陣営については言及しません。



私は自分で言う-私はArduinoが好きです。 すぐに機能する何かを構築できるという事実。 実際、私は価格だけが好きではありません。 まあ、高価です。 モジュールは、使用されるマイクロコントローラーよりも桁違いに高価です。 そのような考えが繰り返し私を「ジャンプオフ」させましたが、それから私はAliexpressを開き、別の部分を注文しました。 Arduino Nanoの中国語版は3〜4ドルです。 Pro Mini(USBなし)-2-3ドル。



その後、それは興味深いものになりました-そして、最小の小売(またはマイクロ卸売)価格制限はどこにあります。 ただし、数バイトを節約するためにハッキングを探すことなく作業できるようにします。 グローバルな心、材料の最短研究、解決策に対するいくつかの質問:「私はATTinyを選びますが、Arduinoを選びます。」



ハードウェア、ソフトウェア、熊手、呪いに移る前に、解決すべきタスクの性質に言及します。 ほんの2つの例です。 1つ目は、鳥かごの上のライトをオン/オフするための4チャネルタイマーです。 2つ目は、電動ガレージを照明するためのLEDストリップコントローラーです(鉛バッテリーの過放電に対する保護、PWM輝度制御)。 原始的に、しかしペニーのために既製のソリューションはありません。



ATtiny 44 ATtiny 84 ATtiny 45 ATtiny 85 ご注意
マックス 周波数、MHz 8 8 8 8 内部ジェネレーターから
RAM、バイト 256 512 256 512
フラッシュ、Kb 4 8 4 8
I / Oピン 11 11 5 5 リセットは考慮しません
価格、$ 1.66 1.8 1.49 1.69 比較のためだけのDigiKey小売




さて、ポイントまで。 マイクロコントローラATtiny 44/84および45/85を検討します。 基本特性はプレートに記載されています。 実験的なものとして、私はDIPパッケージで85個目を持っています。中国人から1ダース購入すると、1ドルの価格になります。



何が達成できますか?



ATTiny 85では、5つのピンを使用できます(RESETは考慮されません。Arduinoの場合の有効な使用は、適切な直径のタンバリンに関連付けられています)。 ATCは3つ、PWMは2つで利用可能です。 つまり、私の2番目のタスクであるイラスト(2つのADCチャネル、1つのPWMと1つのLEDが必要)は既に完全に解決されています。 ATtiny 84を使用すると、11個のピンを使用できますが、より高価です。そして、より安価なスポーツがあります。



プログラム方法







最も簡単な方法は、ISPを使用することです。 プログラマーとして、ArduinoボードまたはペニーISPプログラマーを使用できます。



最初のレーキがシーンに表示されます



実験のために、ATtiny 85と実際にはプログラマーが注文されました。 後者は、PCによってUSB HIDデバイスとして確実に識別されました。 これは悪いことです。この形式では、ガジェットは最小限のソフトウェアで使用できますが、Arduino IDEは含まれていません。 しかし、簡単なグーグル検索により、この問題は既知であり解決されていることが示されました。 中国科学の奇跡をUSBASPに変える既製のファームウェアがあります。







はい、2番目のプログラマー(SP300と呼ばれるビンにある怪しい部分)を取り、最初のISPケーブルで接続し、USBに接続し、SP300ソフトウェアに宛先を配置します-ATmega8 ISP、そして一瞬後に切望されますUSBASP



Arduino IDE







ATtinyを使用するには、ボードの説明(実際にはチップ)をIDEに追加する必要があります。 私はこれらを使用しました。 説明は、次のようにスケッチフォルダーに配置されます。%folder-with-sketches%\ hardware \ attiny、Variantディレクトリとboards.txtファイルがあります。



2番目のレーキの具体化



チップを「ブレッドボード」に取り付け、プログラマーに接続し、抵抗を10 kOhmに設定します( 潜在的に不要な推奨、プルアップ抵抗が組み込まれています。ただし、電磁ノイズの多い環境では、コメントにあるように、偶発的なリセットを防ぐためにapnoutに入れることをお勧めします。 )パワープラスとRESETピンの間(低レベルリセット信号として)。 IDEでUSBASPプログラマーを選択し、ブートローダーをフラッシュしてみます-そして沈黙します。 より正確には、AVRDudeはマイクロコントローラーとの接続がないと主張しています。







は簡単に開きますが、絶対に明らかではありません。 実際のところ、「裸の」ATtinyは、Arduino IDEで使用されるAVRDude設定ではフラッシュされません。 ISPプログラミングのクロック周波数が高すぎます。 さらに、この頻度はIDE設定で指定できません。



解決策:AVRDudeを使用し、コマンドラインを使用してATTinyヒューズをフラッシュし、チップが内部8 MHzオシレーターからクロックされるようにします。 同時に、ISPプログラミング(スイッチ-B)中のクロッキングの低周波数(正確には、示されているのは周波数ではなく、クロックサイクルの持続時間)を示します。 その結果、「マジックライン」は次のようになります。



avrdude -p t85 -c usbasp -U lfuse:w:0xC2:m -U hfuse:w:0xDF:m -U efuse:w:0xFF:m -B 5
      
      





その後、通常、ATtiny 85はArduino IDEを介してフラッシュされます。 パフォーマンスチェックは、伝説的なBlinkデモプロジェクトを使用して実行されます。 スケッチのピンを13番から4番に変更し(これはATtiny 85の3番目の出力です)、LEDと抵抗を接続し、プログラマーを使用してダウンロードします。 LEDが点滅し、目標が達成されます。



合計



ATtiny 85マイクロコントローラー(および44、84、45)を使用すると、Arduino IDEを介して作業することが非常に可能です。 希望する人は、点滅するコードが熱心にほぼ1キロバイトのメモリを消費することを恐れることができます(8が使用可能)。







研究の実際的な価値について明確な結論を出すことはできません(節約量はわずかですが、十分な記憶力と結論がありません)が、それは十分に面白かったです。



インスピレーションの源



All Articles