Arduino

Arduinoと互換性のあるオープンソースのハードウェアおよびソフトウェアの開発者向けのQ&A

1
メモリサイズのプリプロセッサ定数はありますか
使用可能なフラッシュ/プログラム領域に応じて、コンパイルで一部のコードを除外したいと思います。私がサポートするライブラリのデモコードで使用されます。私の現在の解決策は、プロセッサタイプの#ifdefを使用することです。しかし、私はもっと一般的であり、すべてのさまざまなチップを指定する必要はありません。むしろ、利用可能なサイズを示すプリプロセッサ定数があればいいでしょう。 私がgccやavr-gccで十分に流notでない場合は、ヒープの開始と終了を定義する定数に似た定数を見つけることを期待するかもしれません。 ケースの例。UNOとLeoの両方に32Kのフラッシュがあるということです。しかし、LeoのコアライブラリはUSBサポートに4Kを使用しているため、利用可能なのは28Kだけです。私のライブラリのデモはUNOでほぼ最大限に活用されており、利用可能なプログラムスペースに基づいて自動的にトリムします。

2
ピンがシンクできる電流に制限はありますか?
私は、Arduino Unoによって制御される8x8 LEDマトリックスを実験してきました。典型的だと思うので、マトリックスは各行に共通のアノードを使用し、各列に共通のカソードを使用します。 現時点では、すべてのマトリックスピンをUnoのIOピンに直接接続しており、LEDを1つずつ点灯させるのに問題はありません。このようにマトリックス全体を移動すると、更新が少し遅くなります。つまり、LEDが私が望むほど明るくはありません。 私の知る限り、Unoの個々のピンは同時に8つの個別のLEDを駆動するのに十分な電流を供給できないため、行全体を一度に安全に点灯させることはできません(少なくとも10mAが必要です)十分に明るい)。 その逆のほうが安全かもしれないと思いました。一度に列全体を点灯させる場合、各ピンは1つのLEDに十分な電流を供給するだけで問題ありません。ただし、1つのピンに依存して、8つすべてから合計80mA以上の電流をシンクする可能性があります。 これは可能ですか、それともボードを炒めますか?

3
NodeMCU-5V出力としてのVinピン?
Vinはボードの電源に使用できることを知っていますが、5V出力として使用できることも読んでいます。他のGPIOのようにVinを出力として割り当てることはできますか? GPIO 12からLEDに電力を供給したい場合、GPIOを割り当てます。 const int LEDpin_0 = 12; // D6, LED power pin ...そしてセットアップで: pinMode(LEDpin_0, OUTPUT); その後、GPIO 12がHIGHまたはLOWになったかどうかに基づいて、LEDをオンまたはオフにできます。 リレーや他のハードウェアに頼らずに、Vinでも同じことができますか?
13 pins  nodemcu  voltage 

4
Arduinoで真に乱数を取得する
Arduinoで真の(擬似ではなく)乱数を取得するための最良の方法、または少なくとも可能な限り最良の近似は何ですか?私の理解では、関数randomSeed(analogRead(x))は十分にランダムではありません。 可能であれば、メソッドは基本的なArduinoセットアップのみを活用する必要があります(追加のセンサーはありません)。外部センサーを使用したソリューションは、基本的なセットアップよりもランダム性が大幅に改善される場合に歓迎されます。

3
割り込みルーチン内でmillis()およびmicros()を使用する
のドキュメントattachInterrupt(): ... millis()カウントは割り込みに依存しているため、ISR内でインクリメントすることはありません。機能するためdelay()に割り込みが必要なので、ISR内で呼び出された場合は機能しません。micros()最初は動作しますが、1〜2ミリ秒後に不規則に動作し始めます。... どのようにmicros()違いますかmillis()(その精度の点を除きます)?上記の警告はmicros()、割り込みルーチン内での使用は常に悪い考えであることを意味していますか? コンテキスト- 低パルス占有率を測定したいので、入力信号が変化したときにルーチンをトリガーし、現在の時刻を記録する必要があります。

4
ESP8266、Arduino IDE vs Lua?
ESP8266を購入する予定です。それで遊ぶためにLuaを本当に学ぶ必要がありますか?標準のArduino IDEでそれを使用している人々を見てきました。 Luaの代わりにArduino IDEを使用するには、カスタムファームウェアが必要ですか? Arduino IDEは、構文をすでに知っているので、私にとっては良いようです。NodeMCUをLuaで使用する代わりにArduino IDEを使用することのマイナス面はありますか?

5
Arduino:コードでボードタイプを取得する方法
異なるArduinoボードでコンパイルできるスケッチを書きたいです。現在接続されているボードをPCに表示したい。 これは、ユーザーがUSBケーブルを介してPCをArduino / Teensyボードに接続し、そこでArduino / Teensyボードが私のスケッチを実行し、私のスケッチがどのボードが接続されているかをシリアルでPCに伝えることを意味します。PC上でこのデータを受信して​​表示するC#アプリケーションを実行します。 したがって、スケッチのコンパイル時に選択されたボードが必要です。 https://github.com/backupbrain/ArduinoBoardManagerでコードを見つけましたが、 正しい結果が得られません(いくつかのボードが欠落しているという事実は別として)。 ここにコードからの抜粋: static const uint8_t BOARD_MICRO= 0x04; .... #elif defined(__AVR_Atmega32U4__) // Yun 16Mhz, Micro, Leonardo, Esplora static const uint8_t BOARD = 0x04; static const uint8_t NUM_BITS = 8; static const uint16_t CPU = __AVR_Atmega32U4__; static const unsigned long SRAM_SIZE = 2500; static …
13 c 

1
Arduino Uno Clone Boardにプログラムやスケッチをアップロードできる回数は?
私はarduinoを使用して最初のプロジェクトに取り組んでいます(来週1つを購入しようとしています)、教授の一人はArduino Uno Boardにプログラムまたはスケッチを約8回しかアップロードできないと言います。また、クローンバージョンを使用している場合、スケッチのアップロードは2回までしか行えないと付け加えました。これは本当ですか、それともブラフですか?前もって感謝します。

4
一部のArduinoコンポーネントは途方もなく安価に見える
私のプロジェクトは、箱に詰められたArduinoベースのデバイスです。 速度、緯度、経度、高度のデータを使用して、検出した丘をSDに記録する必要があります。ボタンを押すと、Wi-Fi経由で丘のデータをサーバーにアップロードする必要があります。 次のものが必要です。 GPSモジュール+アンテナ WiFiモジュール SDモジュール 高度計 microSDカード バッテリーパックのインラインスイッチ コスト?さて、パイハットでは120ポンドかそこらでした: GPS = https://thepihut.com/products/sim808-gps-gprs-gsm-shield-for-arduino =£42 WiFi = https://thepihut.com/products/wifi-shield-v3-for-arduino-rpsma-802-11b-gn =£54 SD = https://thepihut.com/products/microsd-card-module-for-arduino =£6 microSDカード= https://thepihut.com/products/blank-micro-sd-cards (最大4GB)=£5 高度計= https://thepihut.com/products/adafruit-bmp280-i2c-or-spi-barometric-pressure-altitude-sensor =£10 スイッチ= https://thepihut.com/products/adafruit-in-line-power-switch-for-2-1mm-barrel-jack =£2.50 Bang Good(私が見つけた本当に安いオンラインショップ)では、30ポンドに近いものでした。 GPS = https://www.banggood.com/GPS-UBLOX-NEO-7N-Satellite-Positioning-Module-For-Arduino-51MCU-STM32-p-1203610.html?rmmds=cart_middle_products&cur_warehouse=CN =£10.54 GPSアンテナ= https://www.banggood.com/GPS-Active-Ceramic-Antenna-IPX-IPEX-Interface-For-GPS-Module-p-1203537.html?rmmds=cart_middle_products&cur_warehouse=CN =£2.11 WiFi = https://www.banggood.com/Upgraded-Version-1M-Flash-ESP8266-ESP-01-WIFI-Transceiver-Wireless-Module-p-979509.html?rmmds=cart_middle_products =£2.53 SD = https://www.banggood.com/Micro-SD-TF-Card-Memory-Shield-Module-SPI-Mciro-SD-Adapter-For-Arduino-p-919914.html?rmmds=cart_middle_products&cur_warehouse=CN = £1.02 microSDカード= …
12 arduino-uno  gps 

5
Arduinoはコマンドの実行が多すぎると消耗しますか?
馬鹿げた質問ならすみませんが、答えが見つかりませんでした。 コードが軽く、あまり多くの操作を実行する必要がない場合、Arduino(または一般的に他のマイクロコントローラー)が満足するかどうか、しばらく疑問に思っていました。ifs、ループ、および複雑な計算が多すぎるコードは、LEDを点滅させるコードよりも早くArduinoを使い果たしますか?

5
出力ピンに真のアナログ電圧を出力する方法
私のプログラムに関しては、いくつかの計算を行い、analogWrite関数を使用して、結果に基づいて電圧を出力するプログラムです。しかし、私の問題は、PWMを介したanalogWrite関数がアナログ電圧を出力するという誤解に基づいてプログラミングを行ったということです。実際には、代わりにアナログ電圧を「シミュレート」するだけです。 ここに私のコードの関連部分があります: int pwmOutput = 11; int pwm = 0; void compareNewOldVoltageYes(void) { if(pv_Vnew > pv_Vold && pwm != 255) { ++pwm; //increasing value } else if(pwm != 0) { --pwm; //decreasing } } void compareNewOldVoltageNo(void) { if(pv_Vnew > pv_Vold && pwm != 0) { --pwm; } else if(pwm != …

3
ArduinoでSDカードの書き込み速度を上げる方法
私は、毎秒約20000〜30000バイトの高速でSDカードにデータを記録するデータロガーシステムを作成しています。しかし、arduinoのSDライブラリは現在、毎秒約4500〜5000バイトでデータを書き込みますが、これは遅すぎます。 私はこのハックを読んで書き込み速度を改善しましたが、おそらくSPISettingsを調整することで、より直接的なアプローチが可能かどうか疑問に思っています。

4
Arduino IDEの外部でCプログラムを作成していますか?
私はArduino IDEを単純なプロジェクトに使用してArduinoを使い始めるというアイデアが好きですが、これまでに得たコンセンサスは、Arduinoやプログラミング全般に慣れていない人向けです。 私の理解では、完全にArduino IDEの外部でCプログラムをゼロから作成し、AVRDUDEなどのツールを使用してArduino MCUにアップロードすることが可能であるということです。このオプションは、魅力的で興味深いものではありますが、いくつかの懸念事項があります。 このような「raw C」プログラムによってインポート/リンクする必要があるArduinoライブラリは何ですか?私は、Arduino IDEベースのプログラムが実行されるdigitalWrite(...)と、実際にはおそらくArduinoによって提供されるC libを実際に呼び出していると想定しています。これらの「基礎となるライブラリ」がすべてCプログラムに含まれることを確認するのが心配です。考え? Arduino IDEの外で一人で飛行し、冒険することによって他に何か「失われた」ものはありますか?「自分でロール」する必要がある機能/機能はありますか?
12 arduino-ide  library  c 


1
ブートローダーを使用してコードをアップロードするとどうなりますか?
Optibootブートローダーを使用してArduino Unoに新しいスケッチをアップロードすると、どうなりますか? Arduinoには何が送られますか? どのように応答しますか? 「同期していない」とはどういう意味ですか? とにかく「同期」とは何ですか? 注:これは「参照質問」として意図されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.