タグ付けされた質問 「arduino-mega」

ATmega2560または1280チップをベースにしたマイクロコントローラーボード。Arduinoの一般的な使用法だけでなく、特にMegaに関する質問には、このタグを使用してください。



7
すべてのArduinoボードの一意のIDを取得するにはどうすればよいですか?
Arduinoボードの1つにスケッチをアップロードすると、そのスケッチにつながったソースコードを正確に知ることは困難です。 実際、PC上のスケッチのソースコードは、ボードに(バイナリ形式で)更新せずに変更できます。 ボードの1つにスケッチをアップロードするとすぐに読み込まれるような「スケッチリポジトリ」を設定するというアイデアがありました。その後、ボードのいずれかで実行されているスケッチのソースコードを後で取得できました。 このようなリポジトリの場合、最初にスケッチのソースコードがリンクされているボードを知ることができる「インデックス」が必要になります。 通常、このようなインデックスは、すべてのArduinoボードに対して一意である必要があります。 したがって、私の質問:Arduinoボードの一意のIDを取得するにはどうすればよいですか? 編集: これが現在のボードのリストです(単一の一意のIDアプローチでサポートされる最小リスト)。 UNO R3 メガ2560 ゆん Arduino Robot(2つのLeonardo同等のボードでなければなりません) 将来的には、独自のボード(FTDIを使用しないUnoで同等のベアボーン)も作成する可能性があります。

8
Arduinoのグローバル変数は悪ですか?
私はプログラミングが比較的新しいので、私が読んでいるコーディングのベストプラクティスの多くは、グローバル変数を使用する正当な理由はほとんどないと述べています(または、最高のコードにはグローバルがまったくありません)。 SDカードを使ってArduinoインターフェースを作成し、コンピューターと会話してモーターコントローラーを実行するソフトウェアを作成するときは、これを念頭に置いて最善を尽くしました。 現在、約1100行の「初心者レベル」コード(複数のアクションを持つ行はありません)に対して46個のグローバルがあります。これは良い比率ですか、それとももっと減らすことを検討すべきですか?また、グローバルの数をさらに減らすためにどのようなプラクティスを採用できますか? 私がここで尋ねているのは、コンピュータープログラミング全般ではなく、Arduino製品のコーディングのベストプラクティスに特に関心があるからです。

2
Arduinoの3.3V、5Vおよび9Vピン
私のArduino Uno R3とArduino Mega R3には、5Vと3.3Vのピンがあります。 ただし、このページのArduinoボードの概要には、5Vおよび9Vピンがありますが、3.3Vピンはありません。Arduinoのページ:どのようなアダプターですか?9Vピンについても言及しています。 なぜ矛盾があるのですか?

3
初心者のためのさまざまなBluetoothモジュールの根本的な違いは何ですか?
私はマイクロコントローラーや電子機器の初心者ですが、実際にはコンピューターやプログラミングの初心者ではありません。 Arduinoから始めて、プロトタイプをモバイルデバイスまたはコンピューターと通信してデータを送受信する(たとえば、センサーデータの送信やコマンドの受信など)ことに本当に興味を持つようになりました。 外を見ると、価格設定ポイントが異なるさまざまなBluetoothモジュールがあることがわかりました。違いをさらに詳しく調べても、初心者であることはあまりわかりませんでした。何に注意するか、どのように選ぶかを理解するのに苦労しています。 ここで私の質問は: 次のような初心者向けのさまざまなBluetoothモジュールの根本的な違いは何ですか? HC-05 HC-06 HC-07 そして、Arduino用のシンプルなBluetoothモジュールを購入するときに何を探すべきですか?

3
Arduino Megaタイムアウト通信とプログラマエラー
私はArduino Mega 2560を使用していますが、このエラーが発生し始めたランチタイム頃まで問題なく動作していました。 avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer Unoにロードしようとしたときに実行しているコードではないことはわかっています。問題なくロードされたようです。ただし、ポートが多いため、Megaを使用する必要があります。 私が読んだことから、これは潜在的にブートローダーの問題であり、おそらくArduinoの現在のバージョンに関連しています。ブートローダーについてはほとんど何も知りません。私が知っているのは、コードがArduinoにアップロードするために使用されていることだけだと思います(たぶん...)。 これらのページは私が見てきたものですが、私が言ったように、私はファイルをいじるだけで快適に感じるのに十分なほど知りません。 Mega2560:プログラマーとの通信がタイムアウトしました... Mega 2560のアップロードタイムアウトエラー-何が変更されたのかわからない Megaを完全にアンインストールしてから再インストールしてみました。古いバージョンのArduino(0022)もダウンロードしましたが、どちらのオプションも機能しないようです。 どうすればよいか、必要に応じて「AVR」ファイルを変更する方法がわかりません。

1
CTCモードでのtimer3の設定-サーボライブラリとの競合
1秒あたり800回関数を呼び出すためにタイマーを設定したいと思います。私は1024のプリスケーラーでArduino MegaとTimer3を使用しています。プリスケーラーファクターを選択するには、次の手順を検討しました。 CPU周波数:16MHz タイマー分解能:65536(16ビット) ^ 6 / 16x10:選択されたプリスケーラによって分周CPUのFREQ 1024 = 15625 残りを必要な周波数62500/800 = 19で割ります。 結果+ 1をOCR3レジスタに格納します。 次の表を使用して、TCCR3Bのレジスタを設定しました。 エラー コードをコンパイルすることは不可能です。これは、コンパイラによって返されるエラーです。 Servo \ Servo.cpp.o:関数 '__vector_32'内:C:\ Program Files(x86)\ Arduino \ libraries \ Servo / Servo.cpp:110:multiple definition of '__vector_32' AccelPart1_35.cpp.o:C:\プログラムファイル(x86)\ Arduino / AccelPart1_35.ino:457:最初にここで定義c:/ program files(x86)/ arduino / hardware / tools / avr / bin …

1
2つのArduino間のシリアル通信の最大ワイヤー長はどれくらいですか?
2つのArduinoが3本のワイヤでリンクされるプロジェクトを構築しています。TXはシリアル通信用のRXで、共通のGNDです。通信が影響を受ける前のここでのワイヤーの最大長はどれくらいですか? 片側にArduino Mega R3を使用し、反対側にArduino Miniを使用しています。 ボーレートに特別な要件はありませんが、これが何らかの形で役立つ場合は、最低のレートを使用できます。


4
Arduinoにwifiを追加する最も安い方法は何ですか?
私はArduino用のある種のwifiアダプターを見つけようとしています。それは可能な限り小さく(シールドではなく)、できるだけ安価である必要があります。 これまでのところ、約10ポンド以上のコストがかかるシールドしか見つからないようですが、ノートパソコン用の交換用wifiアダプターを何とかして入手できる場合、Arduino用のwifiアダプターをこれよりもはるかに安価に入手できるはずです。 。 検索対象がわからない可能性があります。

4
2.4インチTFT LCDシールドがArduino Megaで動作しない
でもeBayの上のウェブサイト私がメガArduinoのに接続の2.4" TFT LCDシールドディスプレイを使用することができないと述べている。問題は、私は誤って、このシールドを買ったということです。私はメガ2560 Arduinoの上にこのシールドを配置したいaがありますメガと2.4インチディスプレイシールドを組み合わせる方法 注:友人のArduino Unoを試してみました。シールドは非常によく機能しています。 注:下の写真が私の質問を決定しています。ディスプレイは私のArduinoのコードを実行しません。LEDを実行するだけです。 // UTFT_Demo_320x240 (C)2012 Henning Karlsen // web: http://www.henningkarlsen.com/electronics // // This program is a demo of how to use most of the functions // of the library with a supported display modules. // // This demo was made for modules with a screen …

5
delayMicrosecondsをより正確にできますか?
私はDMXデータをビットバンにしようとしています、そしてそれは4usパルスを必要とします。Arduinoの遅延がどれほど優れているかを確認するために確認している結果にはあまり運がありません...かなりひどいようです。 ここに私がした簡単な小さなテストがあります: unsigned long ptime; void setup() { Serial.begin(9600); } void loop() { ptime = micros(); delayMicroseconds(4); Serial.println(micros() - ptime); delay(1000); //just to keep the serial monitor from going nuts } そして結果: 8 4 8 4 4 4 4 4 8 8 8 8 4 8 8 4 4 8 …

2
ArduinoでのOOPとインライン
私はかなり長い間プログラミングをしていますが、ArduinoとAVRプログラミングは初めてです。これらのマイクロコントローラーのプログラミングに関して私が持っている主な質問は、オブジェクト指向クラスでのコードの設計と多くの例で見た従来のインラインプログラミングでは大きな違いがあるということですか? 言い換えれば、Arduino / AVRコントローラーの世界では、クラスを利用してメモリとパフォーマンスを節約したり、その逆を行ったりしますか? たとえば、クラスがあるとします。 class SomeClass(){ private: int x; int y; public: void foo(); void bar(); } SomeClass thisClass; thisClass.foo(); thisClass.bar(); 次のように、よりインラインでプログラムを設計すると、パフォーマンスやメモリが向上しますか? int x; int y; void foo(){ /*** Do something ***/}; void bar(){ /*** Do more stuff ***/}; Stack ExchangeとGoogleでいくつか検索してみましたが、見つけることができた最も近いものを探している答えが見つかりませんでした。このStack Exchangeの質問でした。 私がこれについて尋ねている理由は、できるだけ軽量である必要があるプロジェクトがあり、この環境で自分のプログラムをどのように設計すればよいのかわからないためです。 編集する 答えてくれてありがとう、これは物事に光を当てています。はっきりしない点が1つあります。 次のようにu8glibを利用する設計中のクラスがあるとします。 class UserInterface{ private: …

2
タイマーを使用してISRの変数を更新する方法
Timer3の周波数をカウンターで確認しようとしています。揮発性として宣言されたカウンターの値はISRでインクリメントされ、毎秒合計がメインループに表示され、値はゼロにリセットされます。 タイマーは正しく設定されています。(3Hzタイマーを選択すると、LEDが点滅します) 問題 カウンターはインクリメントされません。出力は次のとおりです。 Setup Completed tick: 1 tick: 0 tick: 0 tick: 0 コード volatile int cont = 0; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); // Initialize Timer cli(); // disable global interrupts TCCR3A = 0; // set entire TCCR3A register to 0 TCCR3B = 0; // same for …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.