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

Arduinoが多く電子機器が少ない質問には、必ずArduino Stack Exchangeを使用してください。


6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 


3
MOSFETを調理するのはなぜですか?
Arduino Nanoの PWMを使用して、約16メートルのLEDストリップの電力を制御するMOSFETを切り替える非常に単純なMOSFET LEDドライバーを作成しました。 私はSTP16NF06 MOSFETを使用しています。 私はRGB LEDを制御しているので、各色に1つずつ3つのMOSFETを使用し、16メートルのLEDストリップがすべて動作しているとき、約9.5アンペアを消費しています。 9.5 A/ 3 channels = 3.17 A maximum load each. 私の熱は私Iでなければならないので、MOSFETは、0.8Ωの完全にオン抵抗を有する2のR損失 3.17 amperes^2 * 0.08 ohms = 0.8 watts データシートによると、1ワットあたり62.5°Cの熱が発生し、最大動作温度は175°Cで、予想される周囲温度は50°C未満です 175 °C - (0.8 W * 62.5 °C/W) + 50 °C = 75 °C for margin of error 私はヒートシンクなしでこれらのMOSFETを実行していますが、赤、緑、青、白をノンストップで繰り返し、過熱しなかったプログラムで一晩中実行し続けました。この回路は1日あたり16時間以上実行できると期待しています。 LEDには12 V電源を使用し、Arduinoからの5 V制御信号を使用しているため、60 …
22 arduino  mosfet  heat  esd 

1
アクティブvsパッシブブザー
最近、Arduino Inland Basic Starter Kitを借りました。アクティブおよびパッシブブザーが含まれています。違いはなんですか?tone()コマンドを使用すると、音の違いが聞こえます。他に何か? どれがどれであるかをどのように識別できますか?それぞれに特定のコマンドはありますか?

3
Arduinoでプロトタイプ化されたものから永続的なアプリケーションを作成するにはどうすればよいですか?
ArduinoからプレーンAVRマイクロコントローラーへの移行に関する3部シリーズの第1部と最小サポートコンポーネント(第2 部、第3部) ビール醸造システムのさまざまな側面を制御するために、Arduino Unoでプロジェクトを構築しました。この時点で、私がやりたいことをやっているようですが、私は別のプロジェクトのために私のウノを再利用したいと思います。プロジェクトをUnoやブレッドボードからPCB、perfboardなどに移動するにはどうすればよいですか?そこに良い解決策はありますか?
22 arduino  pcb 

4
なぜハードウェアプログラマが必要なのですか?
私はBoarduinoと30列のブレッドボードを使用してATtinyをプログラムします。ArduinoISPと呼ばれるあまり複雑ではないスケッチ(現在Arduino IDEにデフォルトで組み込まれています)をロードすると、突然プログラマーが働いています。Atmel は$ 30から$ 40の間で素晴らしいプログラマーを販売しており、安価なものを作るためのキットがたくさんあります。 作業中のプログラマを取得し、小さな点滅をいくつかのLEDにすると、私はとても幸せでした。しかし、今では私の貧しいboarduinoはプログラマーの義務に固執しています。 私の知る限り、プログラマーはリセットボタンを押したままにして、MOSIピンとMISOピンで送受信します。 SCKは使用されていないか、少なくとも不要です。 (SCKはATtinyデータシートによると必要であり、私のプログラマーはそれなしでは動作せず、読んだと思っていた場所が必要ないことを見つけることができません。) シリアルを送信するだけでハードウェアプログラマが必要なのはなぜですか?つまり、ICを使用する代わりに、指でリセットボタンを押したままにします。残っているのはシリアル送受信だけなので、必要なのはGND、RXD、TXDの3線だけです。ちなみに、「DTR」行などがある場合は、シリアルケーブルでリセットボタンを押し続けることもできます。 (AVRdude、AVR studio、またはその他の)高級なソフトウェアも必要とするこれらすべてのハードウェアソリューションがあるのはなぜですか? マイクロコントローラを大容量記憶装置として提供する小さなUSBケーブルを理解でき、プログラミング用にバイナリファイルをドラッグできます(このARM開発ボードなど)。ハードウェアのみ、標準のソフトウェアドライバーを使用。 また、ソフトウェアのみのソリューション(USBからチップへのモジュロフック、FTDIチップのようなものを使用して、配線を単純化する)も理解できました。派手なプログラミングプロトコルはすべて、コンピューター上のソフトウェアによって処理され、ハードウェアは単なる配線になります。 (複雑な)ソフトウェアとハ​​ードウェアの両方が関係しているのはなぜですか?私の知る限り、マイクロコントローラーのプログラミングは非常に簡単ですが、これを始めたばかりのとき、ブートローダーをプログラミングするための教祖を払わずにマウスやディジキーからチップを購入する方法が本当に心配でした私のために。 正当な理由があると確信しています(ソフトウェアを書いたり、ドラッグアンドドロップUSBプログラマーの製造を始めたわけではありません)が、新参者として、それが何であるかわかりません。

3
Arduino Nano 12voltsへの給電
Arduino Nanoは12ボルトを処理できることを知っていますが、7〜12ボルトの電力を供給することをお勧めします。だから私は12ボルトのアダプターをMini-Bに一緒にハックするのか、それともICSPヘッダーを介して電源を供給することは可能ですか?

9
ArduinoはHRNG(ハードウェア乱数ジェネレーター)の作成に最適ですか?
エントロピーの複数のソース(結合)を利用するハードウェア乱数ジェネレーターの設計をまとめています。 周囲光 アンビエントサウンド(およびサウンドレベル) 周りの派遣社員 周囲湿度 デバイス自体の位置(上下逆さま、左傾斜、右タイトルなど) 将来の他のソース、場合によってはGPSデータ(2人のユーザーが隣り合っている可能性があるため、可能であれば、それらを知っている場合はおそらく決定論的です) 私のアイデアは、USBドライブへの書き込みを続けながら、人々が日中持ち歩くことができるエントロピープール「充電器」を作成することです。 数時間後に、ユーザーはPCにプラグインして使用できる〜4GBのエントロピープールを手に入れることができます。私は、光または放射性崩壊に基づいた本当に高価なQRNGを買う余裕はないので、もっと安価なものを考えています。 あなたの意見では、Arduinoはこれをプロトタイプ化するための最良の選択ですか?そうでない場合、何をお勧めしますか?

3
Arduinoを水から守るには?
私はArduinoで給水システムを構築しています。基本的には、毎日数回、植物に水を垂らすホースの付いたトラックで走ります。その外側では、水が植物の葉からArduinoコントローラーに達することがあります。 私のArduinoを水まきシステムからの天候と水から保護する最良の方法は何ですか?

2
Arduinoは商用製品で使用できますか?
Arduinoで構築された製品を販売することは合法ですか?私はそれがオープンソースであることを知っていますが、それは私が利益のために製品を売ることができるのか、それともプロトタイピングでのみ使用することができるのかを意味しますか?

9
サーボの「揺れ」を止める方法はありますか?
非常に簡単に言えば、私は他の場所から読み込まれたデータに基づいてサーボ(9gマイクロサーボ)を制御しています。サーボが常に「揺れる」ことを除いて、すべてが正常に機能します。つまり、非常に微妙な動きで振動します(1/2-> 1cm程度の断続的な動き)。 私は次のようなことをしてソフトウェアでこの問題を修正しようとしました: do{ delay(DTIME); positionServo(); lcd.clear(); lcd.setCursor(0,0); lcd.print("X position: "); lcd.print(xRead); lcd.setCursor(0,1); lcd.print("Y position: "); lcd.print(yRead); }while( readChange() ); //while there has been change do-whileが必要な場合は、マッピングされたサーボ値を格納する変数を初期化します(arduinoサーボライブラリを使用)。 readChange()関数は次のように定義されます: int readChange(){ int x_Temp, y_Temp; x_Temp = map(analogRead(x_axisReadPin), 0, 1023, 0, 179); y_Temp = map(analogRead(y_axisReadPin), 0, 1023, 0, 179); if( abs(x_Temp - xRead) …
20 arduino  servo 

7
マイクロコントローラでマルチギガバイトのDRAMモジュールを使用できますか?
アップグレード時にMacBook Proから取り外した2 GBのRAMモジュールが2つあります。これらは、たとえばArduinoで使用できるのかと思っていました。とにかくこれを実際に試してみるには初心者が多すぎますが、それが可能なのか、それともマイクロコントローラーが対処するにはメモリが多すぎるのか興味があります。

8
Arduinoを卒業してマイクロコントローラを直接使用する方法は?
私はArduinoプロジェクトに取り組んできました。Arduinoを使用してすべてが機能するようになったら、Arduinoを使用しないソリューションに移行したいと思います。つまり、Arduinoボードを使用せずにマイクロコントローラーを使用したいと思います。これにより、シールドなしの単一ボードが可能になります。 ブレッドボードで自分のArduinoを作成する方法があることは知っていますが、それは私がやろうとしていることではありません。 私はこれをどのように行うのか本当によくわかりません。 より良い選択肢がない限り、私はArduinoが使用するATmega328を使用することに傾倒しています。開発ツールは無料で入手できるか、少なくともそれほど高価ではないことを理解しています。 この質問の目的のために、私の回路に+ 5Vを供給できると仮定します。 最初の質問は、MCUのプログラミング方法です。私は2つのオプションがあると信じています: プログラマを購入し、MCUをプログラムしてから、チップを回路に配置します。 インサーキットプログラミングのサポートを含めるように回路を設計します。 オプション#1を選択すると、プログラムされたチップを回路に挿入するのと同じくらい簡単だと思います。他に何もいらない もちろん、ソフトウェアを変更するのは不便です。 しかし、オプション#2については、必要なものがわかりません。少し読んだところから、プログラミングケーブルとボード上のコネクタが必要だと思います(どのタイプですか?)。次に、(適切に)コネクタをATmegaの特定のピンに配線していると思います。 いずれにしても、Atmelスタジオが必要です。 第二に、電源以外に、Arduinoには絶対に必要なものがありますか?多分リセットスイッチでしょうか?

1
Arduinoから多数(〜100)のデジタル出力信号を取得する
Arduinoを使用して約100個の独立したLEDを制御できるようにしたいと思います。問題は、Arduinoにはこのために設定できるピンがほとんどないことです。この問題を解決する方法は何でしょうか?Arduinoからのより複雑な信号を分離してLEDを制御できるチップはありますか?それとも別の解決策がありますか?

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