คำถามติดแท็ก arduino

ให้แน่ใจว่าได้ใช้ Arduino Stack Exchange สำหรับคำถามที่มีมากกว่า Arduino และอุปกรณ์อิเล็กทรอนิกส์น้อย

5
ตรวจสอบวงจรนาฬิกาสำหรับรหัสใน arduino / AVR หรือไม่
เป็นไปได้หรือไม่ที่จะตรวจสอบบล็อคของรหัสและกำหนดจำนวนรอบสัญญาณนาฬิกาของหน่วยประมวลผลที่โค้ดใช้กับโปรเซสเซอร์ Arduino และ / หรือ AVR atmel? หรือฉันควรตรวจสอบไมโครวินาทีก่อนและหลังการรันโค้ดหรือไม่ หมายเหตุ: ฉันไม่ได้กังวลกับเวลาจริง (เท่าที่ผ่านมาจำนวนวินาทีจริง) เท่าที่ฉันเป็นใน "จำนวนรอบนาฬิกาไม่รหัสนี้ต้องใช้จาก CPU" โซลูชันปัจจุบันที่ฉันสามารถหาได้คือจาก time.c: #define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) #define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) เดินสาย c เพิ่ม: #define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) โดยบัญชีนี้ฉันสามารถคำนวณ cyles นาฬิกาที่ส่งผ่านโดยการตรวจสอบ microseconds ที่ผ่านไปแล้วส่งไปยัง microsecondsToClockCycles () คำถามของฉันคือมีวิธีที่ดีกว่า ด้านข้าง: มีทรัพยากรที่ดีสำหรับการตรวจสอบประสิทธิภาพของ …
11 arduino  avr  atmel  timer 

4
ลำโพง 1 วัตต์ 8 โอห์มสามารถใช้โวลต์ได้กี่โวลต์?
ฉันกำลังทำงานในโครงการ Arduino และเสียงต่ำเกินไปเพราะขาออกของ Arduino UNO ของฉันเพียง 40 mA ฉันสามารถต่อทรานซิสเตอร์ NPN เพื่อขยายเสียงได้ แต่ฉันไม่ต้องการเป่าลำโพง ลำโพง 1 วัตต์ 8 โอห์มสามารถจัดการแรงดันไฟฟ้าได้เท่าใด
11 arduino  voltage 

5
Arduino กับไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
อะไรคือความแตกต่างระหว่าง Arduino ไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์? ฉันกำลังพยายามหาสิ่งที่ดีที่สุดในการใช้งานหน้าจอสัมผัสแบบต้านทานราคาถูก

5
ฉันจะรับสายอักขระทั้งหมดได้อย่างไรเมื่อเทียบกับอักขระ 1 ตัวในแต่ละครั้งใน arduino
ฉันทำตามคำแนะนำในเว็บไซต์นี้เรียบร้อยแล้ว: http://www.doctormonk.com/2012/04/raspberry-pi-and-arduino.html และฉันสามารถรับการสื่อสารระหว่าง pi และ mega arudino ของฉันตรงตามที่เว็บไซต์ระบุ อย่างไรก็ตามแทนที่จะส่งจำนวนเต็มแทนจำนวนครั้งที่ LED กระพริบฉันต้องการส่งข้อความ ASCII เช่น: "ย้าย 5 เมตรไปข้างหน้า", "เลี้ยวซ้าย", "ย้าย 10 เมตรด้านหลัง" ไปยัง arduino จาก pi ฉันเขียนรหัสต่อไปนี้: char inData[64]; char inChar=-1; void setup(){ Serial.begin(9600); Serial.begin("Waiting for Raspberry Pi to send a signal...\n"); } void loop(){ byte numBytesAvailable= Serial.available(); // if there is …
11 arduino 

4
แรงดันไฟฟ้าตกและกระแสสำหรับ LED?
ฉันสร้างวงจรต่อไปนี้บนเขียงหั่นขนมและใช้แหล่งจ่าย Arduino Uno 3.3V สำหรับแหล่งจ่ายไฟ: 330 ohms ....... ------------------^^^^---------| LED |----- | ``````` | | | (3.3V) | | | | | ------------------------------------------- มีการกล่าวถึงในเว็บไซต์ของ Arduino ว่า 3.3V มีกระแส 0.05A ตาม KVL สิ่งนี้จะทำให้เรา 3.3V - (330 Ohms * 0.05A) - แรงดันตกคร่อม LED = 0 ตามสมการแรงดันไฟฟ้าตกคร่อม LED จะเป็นลบดังนั้น LED ไม่ควรเปิด อย่างไรก็ตามบนเขียงหั่นขนมไฟ LED …
11 arduino  led  voltage  current 

6
เซ็นเซอร์สำหรับการตรวจสอบช่องแช่แข็ง ultralow (ถึง -85 ° C)
ฉันกำลังวางแผนที่จะสร้างชุดรายงานอุณหภูมิที่ควบคุมโดย Arduino สำหรับห้องที่เต็มไปด้วยตู้แช่แข็ง "Ultracold" -80 ° C (ในที่สุดฉันต้องการแปลงสัญญาณเป็นสตรีมแบบอนุกรมที่จะเชื่อมต่อกับระบบที่มีอยู่ของฉัน) จนถึงตอนนี้ฉันได้พบเพียงหนึ่งสายและเซ็นเซอร์อื่น ๆ ที่ได้รับการจัดอันดับเพียง -55C ในใบสมัครของฉันพวกเขาจะใช้เวลาส่วนใหญ่ประมาณ -80C ฉันต้องการความแม่นยำประมาณ 0.5 ถึง 1 องศาที่อุณหภูมิเหล่านั้น ไม่มีใครรู้ว่าแหล่งที่มาสำหรับเซ็นเซอร์อุณหภูมิต่ำที่จะเข้ากันได้กับ arduino เชื่อถือได้และสามารถวางที่ปลายสาย (จะถูกส่งผ่านเข้าไปในช่องแช่แข็งผ่านพอร์ตเล็ก ๆ )? อัพเดทเล็กน้อยด้านล่าง

8
ฉันจะดีบักสเก็ตช์ Arduino ได้อย่างไร
ฉันเริ่มเขียนโค้ดสำหรับ Arduino เมื่อเร็ว ๆ นี้ และข้อบกพร่องเหล่านี้ในรหัสกำลังฆ่าฉัน เนื่องจากไม่มีตัวดีบักฮาร์ดแวร์ใน Arduino serial.print () จึงเป็นทางเลือกเดียวของฉัน อะไรคือวิธีการ / แนวทางที่คุณใช้ในการดีบักรหัส Arduino?

1
ทำไมคอมไพเลอร์ไม่ใช้ LSR โดยตรง
สวัสดีฉันได้ทำงานในโครงการที่ใช้ Arduino Uno (ดังนั้น ATmega328p) ซึ่งเวลาค่อนข้างสำคัญและฉันต้องการดูว่าคำสั่งใดที่คอมไพเลอร์แปลงรหัสของฉัน และในนั้นฉันมีuint8_tที่ฉันเปลี่ยนหนึ่งบิตไปทางขวาในแต่ละการใช้ซ้ำdata >>= 1และดูเหมือนว่าคอมไพเลอร์แปลสิ่งนี้เป็น 5 คำแนะนำ ( dataอยู่ในr24): mov r18, r24 ldi r19, 0x00 asr r19 ror r18 mov r24, r18 แต่ถ้าฉันดูเอกสารชุดคำสั่งฉันเห็นคำสั่งที่ทำสิ่งนี้: lsr r24 ฉันจะมองข้ามบางสิ่งหรือทำไมคอมไพเลอร์ก็ไม่ใช้สิ่งนี้ด้วย การลงทะเบียนr18และr19ไม่ได้ใช้ที่อื่น ฉันใช้ Ardunio แต่ถ้าฉันถูกต้องมันจะใช้avr-gccคอมไพเลอร์ปกติ นี่คือรหัส (ตัด) ซึ่งสร้างลำดับ: ISR(PCINT0_vect) { uint8_t data = 0; for (uint8_t i = 8; i > …
10 arduino  avr-gcc 

1
ทำไมตัวต้านทานในสายข้อมูล Neopixel ของฉันถึงใช้งานได้?
Adafruit ของปฏิบัติที่ดีที่สุดสำหรับสตริง Neopixel LED ของพวกเขาพูดว่า "สถานที่ 300-500 โอห์มต้านทานระหว่างขาส่งออกข้อมูล Arduino และใส่ไป NeoPixel แรก." มีคนถามเกี่ยวกับวัตถุประสงค์ของตัวต้านทานนั้นที่นี่และฉันกำลังอ่านเกี่ยวกับปรสิตไดโอดและตัวต้านทานการเลิกจ้างเพื่อให้เข้าใจมากขึ้น แต่โดยสรุปแล้วทำไมการเพิ่มตัวต้านทานนี้จึงลดแรงดันลงด้วย? กล่าวอีกนัยหนึ่งถ้าฉันมีสัญญาณลอจิก 5V สัมผัสเส้นข้อมูล Neopixel ของฉันจะไม่เพิ่มตัวต้านทานนี้ในซีรีส์ทำให้สัญญาณโวลต์น้อยลงหรือไม่ ตัวอย่างเช่นถ้าวงจรข้อมูล Neopixel ไม่มีความต้านทานใด ๆ ตอนนี้ฉันคาดว่า 5V ที่ด้านหนึ่งของตัวต้านทานและ 0V ที่อีกด้านหนึ่ง ... ใช่ไหม และถ้าฉันมี 0V ไปที่ข้อมูล Neopixel ระบบจะส่งสัญญาณได้อย่างไร ฉันยังใหม่กับอุปกรณ์อิเล็กทรอนิกส์ แต่ดูเหมือนว่านี่คือคำจำกัดความของวงจรแบ่งแรงดันไฟฟ้า นอกจากนี้หากคุณไม่รู้เกี่ยวกับตัวต้านทาน 300-500 โอห์มคุณจะเลือกค่านั้นอย่างไร มันขึ้นอยู่กับสมการหรือดูสิ่งที่อยู่ภายใต้ขอบเขตจนกว่ามันจะดูเสถียรหรือไม่? ขอบคุณที่ช่วยนี่ทำให้ฉันงงจริงๆ =)
10 arduino  led  led-strip  rgb 

5
วัดอุณหภูมิอย่างแม่นยำด้วย Arduino
ฉันพยายามสร้างเทอร์โมสตัลด้วย Arduino ฉันต้องการพลังงานโดยใช้แบตเตอรี่โทรศัพท์ / เครื่องชาร์จซึ่งทำให้แรงดันไฟฟ้าของระบบค่อนข้างผันแปร ตอนนี้ฉันใช้ Arduino Uno แต่เมื่อเสร็จแล้วฉันจะพอร์ตไปยัง Lilypad ก่อนอื่นฉันพยายามใช้เซ็นเซอร์วัดอุณหภูมิTMP36 จนถึงตอนนี้มันเป็นความล้มเหลวอย่างสมบูรณ์ ในขณะที่เซ็นเซอร์ตัวเองดูเหมือนจะมีเสถียรภาพมากฉันไม่สามารถหาวิธีที่จะวัดแรงดันไฟฟ้าได้อย่างถูกต้อง การใช้การอ้างอิง 5 โวลต์ในตัวสำหรับเซ็นเซอร์อะนาล็อกนั้นใช้งานไม่ได้เลย - แม้จะใช้พลังงานจาก + 5V ของ USB arduino เป็นจริงแล้ว + 4.8V (ซึ่งเปลี่ยนอุณหภูมิที่วัดได้เพียงไม่กี่องศา) เมื่อบอร์ดขับเคลื่อนจากแบตเตอรี่แรงดันไฟฟ้าจะลดลงประมาณ 4V และวัดอุณหภูมิจรวดของท้องฟ้า ฉันพยายามใช้ + 3.3V จากบอร์ดเป็นข้อมูลอ้างอิง ดูเหมือนว่าจะมีเสถียรภาพมากขึ้นเมื่อบอร์ดขับเคลื่อนจาก USB แต่แรงดันไฟฟ้าลดลงเมื่อแบตเตอรี่หมด มีวิธีอื่นอีกไหมในการวัดแรงดันเอาต์พุตของเซ็นเซอร์ สำหรับขั้นตอนที่สองฉันวางแผนที่จะใช้เทอร์มิสเตอร์ เพิ่งสั่งคู่ของเหล่า 20K เทอร์มิสเตอร์ จากสิ่งที่ฉันเข้าใจสิ่งเหล่านี้ควรจะวัดได้ง่ายขึ้นถ้าฉันสร้างตัวแบ่งแรงดันและใช้ V_in เป็นแรงดันอ้างอิงสำหรับ ADC คำถามสองสามข้อเกี่ยวกับพวกเขา: มันสมเหตุสมผลหรือไม่ที่จะใช้ตัวแบ่งแรงดันไฟฟ้าสองสามตัวที่มีตัวต้านทานคงที่แตกต่างกันเพื่อเพิ่มความแม่นยำ? ฉันสามารถใช้พินที่ตั้งโปรแกรมได้เป็น V_in …

3
มี ATtiny หรือไมโครคอนโทรลเลอร์ที่คล้ายกันที่มีพอร์ต UART หรือไม่
ฉันกำลังมองหาวิธีการเชื่อมต่อเซ็นเซอร์และเครือข่ายการควบคุมกับ Arduino และฉันคิดว่าการสื่อสารแบบอนุกรมผ่านพอร์ต UART อาจเป็นวิธีที่จะไป ฉันเคยเห็นชิป ATtinyและฉันคิดว่ามันหรือชิปอื่นเช่นนั้นสามารถทำได้ดีมากสำหรับโหนดในเซ็นเซอร์และเครือข่ายควบคุม มีไมโครคอนโทรลเลอร์ATtiny หรือไมโครชิพที่คล้ายกันที่มีพอร์ต UART หรือไม่
10 arduino  uart 

2
ไมโครคอนโทรลเลอร์ขับเคลื่อนพฤติกรรมแรงดัน N-Channel MOSFET
ดังที่เห็นในรูปแบบ LTSpice นี้ฉันพยายามควบคุม LED สีขาว (3.6 Vf @ 20 mA) ที่เชื่อมต่อกับแหล่งจ่ายไฟ 7.5 ด้วยMOSFET 2N7002 N-channel MOSFET และสัญญาณควบคุม 5V จาก Arduino เนื่องจากแรงดันเกตของฉันคือ 5V จากไมโครคอนโทรลเลอร์ฉันจึงคาดหวังว่า MOSFET จะทำหน้าที่เป็นสวิตช์ โดยการดูกราฟสำหรับ 2N7002 เนื่องจากกระแสที่ต้องการคือ 20mA และ Vgs คือ 5V ฉันคาดว่าแรงดันตกคร่อมของทรานซิสเตอร์ใกล้กับศูนย์เช่นแรงดันแหล่งที่มาคือ 7.5V อย่างไรก็ตามตามที่เห็นในกราฟการจำลองความต่างศักย์คร่อมทรานซิสเตอร์นั้นมีขนาดใหญ่มากจริง ๆ แล้วแรงดันไฟฟ้าของแหล่งกำเนิดนั้นมีเพียง ~ 3V (ตรงข้ามกับที่คาดไว้ ~ 7.5V) เมื่อฉันทำแผงวงจรวงจรนี้ฉันได้รับผลลัพธ์เดียวกันแรงดันไฟฟ้าของแหล่งกำเนิดคือ ~ 3V ใครสามารถอธิบายได้ว่าทำไมแรงดันแหล่งที่มาของ MOSFET ต่ำกว่าที่คาดไว้มาก และใครก็ได้โปรดแนะนำทรานซิสเตอร์ที่จะช่วยให้ฉันในสถานการณ์นี้ได้อย่างมีประสิทธิภาพในการสร้างสวิตช์เพื่อขับ …
10 arduino  led  mosfet 

1
Arduino: วัดแรงดันไฟฟ้าภายนอก
ฉันมี "ปัญหา" ในขณะที่พยายามวัดแรงดันภายนอกจากเซลล์เหรียญ ฉันทำให้วงจรของฉันง่ายขึ้น แต่โดยทั่วไปฉันมี DS1307 นาฬิกาเรียลไทม์ซึ่งขับเคลื่อนโดยเอาท์พุท Arduino 5v และเซลล์เหรียญเชื่อมต่อกับ vBat เพื่อให้นาฬิกามีชีวิตอยู่ในขณะที่ Arduino ปิดทำงาน ความคิดของฉันคือการวัดระดับแบตเตอรี่ด้วย Arduino โดยเชื่อมต่อขั้วบวกกับอินพุตอะนาล็อกและอ่านระดับแรงดันไฟฟ้า ดังนั้นฉันคิดว่าเนื่องจากแรงดันไฟฟ้าสูงสุดคือ 3v ฉันสามารถใช้ 3v3 เป็น AREF และตั้งค่าการอ้างอิงแบบอะนาล็อกไปยังภายนอกแล้วอ่านผลลัพธ์ที่แม่นยำ ผลลัพธ์ที่ได้ค่อนข้างเจ๋งและการอ่านจาก Arduino เหมือนกับการอ่านแรงดันแบตเตอรี่จากมัลติมิเตอร์ของฉัน ปัญหาเกิดขึ้นเมื่อฉันตัดการเชื่อมต่อแหล่งพลังงานจาก Arduino (การเชื่อมต่อ USB) สำหรับความประหลาดใจของฉัน Arduino ไม่ปิด (ไฟ LED บางดวงเปิดอยู่) ทำไมสิ่งนี้จึงเกิดขึ้น Arduino ใช้กระแสไฟฟ้าจาก Analog Pin เป็นอย่างไร? นี่เป็นวงจรเล็ก ๆ ที่เป็นความผิดปกติทางอิเล็กทรอนิกส์หรือไม่?

3
อินเตอร์เฟซคอมพิวเตอร์ความเร็วสูงพร้อม Arduino
ฉันกำลังวางแผนโครงการกับ Arduino ที่เกี่ยวข้องกับการจัดการคำขอจำนวนมากจากโฮสต์คอมพิวเตอร์และมาตรฐานการรับส่งข้อมูลสูงสุด 115200 ผ่านอนุกรมไม่เพียงพอ ฉันต้องการรับเพล็กซ์เต็มรูปแบบ 1Mbps ถ้าเป็นไปได้ แต่ 400Kbps + เพล็กซ์เต็มรูปแบบจะเป็นที่ยอมรับได้ ฉันใช้ Arduino Due ดังนั้นมันควรจะสามารถรับมือกับความเร็วในการสื่อสารที่สูงขึ้นได้อย่างมาก มีวิธีใดที่จะเพิ่มอัตรา baud ผ่านทางอนุกรมอย่างมีนัยสำคัญหรือมีตัวเลือกที่สองที่ฉันสามารถทำได้ในแง่ของการเชื่อมต่อกับคอมพิวเตอร์ด้วยความเร็วสูงขึ้นหรือไม่?

2
มีความแตกต่างระหว่างพิน 13 และพินที่เหลือหรือไม่?
Pin 13 มี LED ติดตั้งบนพื้นผิว นอกเหนือจากความจริงที่ว่ามันทำให้บางสิ่งสว่างขึ้นมีความแตกต่างที่ไม่สำคัญอะไรระหว่างพินนี้กับพินดิจิตอลทั่วไปหรือไม่? ตัวอย่างเช่นถ้าฉันanalogWrite()ใช้พิน 12 และ 13 เอาต์พุตของวันที่ 13 จะลดลงอย่างมากหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.