Artinino UPD 03/17/2016を使用したATtiny13ファームウェアとプログラミング





みなさんこんにちは。 小さく、安価で、電力を節約し、手頃な価格のATtiny13Aマイクロコントローラーをプログラムする方法は長い間ありました。



以下はすべてビデオ形式のみです。







今日は、 ATduny13Aで Arduinoのスケッチを縫う方法を説明します。



したがって、まず最初に、このアーカイブをダウンロードして( ここから取得し、かなり完了しました )、ファイルをアドレス「\ Documents \ Arduino \ hardware \」に配置する必要があります。 「C:\ Users \ Administrator \ Documents \ Arduino \ hardware \ attiny13 \ avr \ cores \ core13」のようになります。



Arduino IDEが現在実行されている場合は再起動します。これは、環境が新しいマイクロコントローラーをボードのリストに追加するために必要です。





「スケッチのあるフォルダーの場所」が正しく選択されているかどうかを確認してください(「ファイル/設定」タブで確認できます)。



画像



そこで、ATtiny13のカーネルでアーカイブを解凍する必要があります。



次に、Arduino IDEの例からArduinoISPを取得します。



画像



次に、図に示すように、ATtiny13をArduinoに接続します。



画像



次に、スクリーンショットに示すように、ISPとしてArduinoにプログラマーのタイプを変更する必要があります。



画像



これで、マイクロコントローラATtiny13が動作できる周波数を選択できます。

工場から、ATtiny13は1.2 MHzの周波数で動作します。つまり、マイクロコントローラーは9.6 MHzの周波数で内部RCチェーンからクロックされ、分周器は8なので、デフォルトとして1.2 MHzの周波数を示しました。



画像



ご覧のとおり、使用可能な周波数は1.2 MHz、4.8 MHz、9.6 MHzです。 頻度を変更するには、「Service」タブにある「Write bootloader」ボタンをクリックする必要があります。



「ブートローダーの書き込み」ボタンをクリックすると、環境は何をしますか?



この場合のArduino IDE は、マイクロコントローラーの必要なヒューズを単に公開するだけです。

たとえば、4.8 MHzの周波数で動作するにはATtiny13が必要です。必要な周波数を選択し、「ブートローダーの書き込み」ボタンを1回押すだけです-それだけです。 周波数を再度変更する必要がある場合、マイクロコントローラーは常に所定の周波数で動作します-上記の手順を実行します。



周波数を上げると、コントローラーの消費量が増え、マイクロコントローラーのトランジスタが頻繁に切り替わるほど、消費量が増えることをすぐに言わなければなりません。

そこにあるいくつかの点滅ライトについては、120万命令の実装は価値があり、その周波数ではマイクロコントローラーが約1ミリアンペアを消費するので、 データシートから画面を見ることができます:



画像



ATtiny13が動作し続ける最小動作電圧は1.8 Vであり、この場合、1.2 MHzの周波数でのみ動作することが保証されます。



それでは、初心者向けのほぼネイティブの瞬きの例から始めましょう。



画像



すでにお気付きのように、スケッチはArduino Unoよりも著しく簡単になりました。 これは、Arduinoのほとんどの機能が削減され、少し最適化されているためです。



次の機能がサポートされています。



pinMode()

digitalWrite()

digitalRead()

analogRead()

analogReference(内部)/(外部)

shiftOut()

pulseIn()

analogWrite()

ミリ()

マイクロ()

遅延()

delayMicroseconds()



したがって、先ほど見たように、使用できるのは1024バイトのみです。 十分ではありませんか? まあ、どのタスクに依存します。 たとえば、ある種の点滅するライト、ツイーター、またはインジケータの場合、特にAVR-Cに精通している場合は、もっと真剣に難しいこともできますが、それで十分だと思います。



データシートからのマイクロコントローラーのピン配列:



画像



たとえば、PB4はピン4と同じ、または4だけです。

アナログ入力-ADC *が書き込むすべて、たとえばPB4-これはADC2です。つまり、電圧を読み取るためにanalogRead(A2)を書き込みます。 または単にanalogRead(2);、ハードウェアPWMはポート0と1のみをサポートします。



UPD0:マイクロコントローラーのスペースを節約する方法と、ProteusでArduinoをシミュレートする方法に関するリンクを追加しました。



画像



マイクロコントローラーのスペースを節約する方法は? ;



Arduinoフォーラムのスレッド



ProteusプログラムでのArduinoモデリング(例としてATtiny13を使用) ;



ここにアプリケーションの例があります-ATtiny13のミュージカルドアベル



すべての出版物。



UPD1 2016/03/17ここでカーネルファイルを探します:

仲間の レゴ からの 補足 記事



画像



All Articles