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

การสื่อสารแบบอนุกรมเป็นการเชื่อมต่อ USB มาตรฐานระหว่าง Arduino และคอมพิวเตอร์ที่มีสายเคเบิล USB A ถึง B มาตรฐานหรือผ่านหมุด TX / RX โดยใช้ USB เป็นตัวแปลงอนุกรม นอกจากนี้ยังสามารถอ้างถึงไลบรารีอนุกรม

4
วิธีรับข้อมูลน้ำหนักจากเซ็นเซอร์ระดับอิเล็กทรอนิกส์ของห้องน้ำ
ฉันกำลังทำโครงการขนาดเล็กที่มีเครื่องชั่งน้ำหนัก แต่ฉันพบปัญหาบางอย่าง ฉันใช้ Arduino Uno V3, HX711 โมดูลแอมป์และสเกล มาตราส่วน: เครื่องขยายเสียง HX711: ฉันถอดชิ้นส่วนมาตราส่วนเพื่อไปที่สายเซ็นเซอร์และฉันสับสนเล็กน้อย เซ็นเซอร์เหล่านี้มีสามสายในแต่ละ พวกมันเป็นเซ็นเซอร์สะพานครึ่งหนึ่ง เครื่องชั่งใช้เซ็นเซอร์ 4 ตัวดังนั้นเมื่อเครื่องชั่งทำการวัดจะทำการวัดด้วยสะพานเต็มรูปแบบ และสาย 3 เส้นนี้คือ RED, BLACK, BLUE ฉันไม่รู้ว่าอะไรคือสีดำ (GND หรือบวก) และสีน้ำเงิน (เดาเหมือนกัน) สายสีแดงสี่เส้นจะได้รับชื่อ E +, E-, S + และ S- ฉันจะให้ภาพของสเกลที่ถอดประกอบได้ สายสีน้ำเงินสองเส้นถูกบัดกรีด้วยกันในแต่ละด้าน ฉันเดาว่าสายสีแดงเป็นสัญญาณ (S +, S-, E + และ E-) แต่อะไรคือ Blue and Black? …

2
ใส่ ATmega328 ในโหมดสลีปลึกมากและฟังซีเรียล
ฉันได้ตรวจสอบตัวเลือก sleeps ของ ATmega328 และอ่านบทความเกี่ยวกับเรื่องนี้และฉันอยากจะเข้าใจถ้ามีตัวเลือกเพิ่มเติม ดังนั้นฉันต้องการได้รับกระแสที่ต่ำที่สุดเท่าที่จะเป็นไปได้เพื่อที่ว่าสิ่งใดก็ตามที่น้อยกว่านั้นจะดี 100uA - ตราบใดที่ฉันสามารถฟัง uart และขัดจังหวะเมื่อตื่นขึ้นมา ฉันกำลังใช้ PCB แบบกำหนดเอง (ไม่ใช่ UNO) ด้วย ATmega328p การตั้งค่าชิปเป็นการนอนหลับลึก: set_sleep_mode (SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_cpu (); จะไม่ตื่นขึ้นกับการสื่อสารแบบอนุกรมตามนี้ คุณจะต้องวางไว้ในIDLEโหมดเพื่อฟังซีเรียล แต่สิ่งนี้จะกิน mA -bad น้อย ฉันได้พบลิงค์นี้ที่คุณสามารถเชื่อมต่อในฮาร์ดแวร์อนุกรมเพื่อขัดจังหวะ - ซึ่งเป็นอันตรายเพื่อให้คุณสามารถหลวมข้อมูลและยิ่งกว่านั้นฉันต้องการหมุดขัดจังหวะ 2 เหล่านี้ ฉันยังได้อ่านบทความของ Gammonซึ่งคุณสามารถปิดการใช้งานบางสิ่งได้ดังนั้นคุณจะได้รับ IDLE sleep ด้วยพลังงานที่ต่ำกว่ามาก - แต่เขาไม่ได้พูดถึงว่าคุณได้รับจากสิ่งนี้อย่างแท้จริง: power_adc_disable(); power_spi_disable(); power_timer0_disable(); power_timer1_disable(); power_timer2_disable(); power_twi_disable(); ดังนั้นบรรทัดล่างมีตัวเลือกใดออกไปรับน้อยกว่า 0.25mA …

5
ลดความล่าช้าระหว่าง arduino และร่างการประมวลผลบนคอมพิวเตอร์ของฉัน
ขณะนี้ฉันกำลังใช้โปรเจค # 14 ของหนังสือโครงการ Arduino ฉันพยายามควบคุมร่างการประมวลผลบนแล็ปท็อปของฉันโดยใช้ Arduino สามารถทำได้โดยใช้โพเทนชิออมิเตอร์เพื่อควบคุมพื้นหลังของภาพ รหัส Arduino: void setup(){ Serial.begin(9600); } void loop(){ Serial.write(analogRead(A0)/4); } การประมวลผล: //imports serial library import processing.serial.*; //setups the serial object Serial myPort; //creates an object for the image PImage logo; //variable to store background color int bgcolor = 0; void setup(){ colorMode(HSB,255); …

6
การส่งข้อมูลอนุกรมจำนวนมาก
ดังนั้นในสาขาหุ่นยนต์บางครั้งคุณจำเป็นต้องมีบอร์ดและหรือคอมพิวเตอร์หลายเครื่องเชื่อมโยงกันเพื่อแบ่งปันข้อมูลหรือบันทึกข้อมูลสถิติ ขณะนี้ฉันต้องการส่งตัวแปรที่แตกต่างกันเล็กน้อยผ่านการเชื่อมต่อแบบอนุกรมและสงสัยว่าวิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ฉันได้พิจารณาแล้วว่าโครงสร้างการส่งอาจเป็นวิธีที่ง่ายกว่าในการส่งข้อมูล ไม่มีใครรู้วิธีอื่นใดที่อาจมีประสิทธิภาพมากขึ้น? โปรดจำไว้ว่าฉันจะต้องส่งข้อมูลสำหรับมอเตอร์ 4 ตัว, คอมเพรสเซอร์, อุณหภูมิที่แตกต่างกัน, สิ่งที่สุ่มและแขน 3 ส่วน
13 serial 

2
โทรผ่านระบบอะนาล็อกหรือไม่?
เราจะทำให้บอร์ด Arduino โต้ตอบกับโทรศัพท์แอนะล็อกเก่าและโทรศัพท์ได้อย่างไร ฉันเดาว่ามันเกี่ยวข้องกับการเชื่อมต่อบอร์ดกับโทรศัพท์ด้วยสายเคเบิลเฉพาะบางอย่าง (มันถูกเรียกว่าอย่างไร) นอกจากนี้ฉันคิดว่ามันจะทำให้เราต้องใช้โปรโตคอลการโทรในระดับต่ำ (เพื่อที่จะโต้ตอบกับโทรศัพท์และส่งคำสั่ง) ฉันจะอ่านเกี่ยวกับเรื่องนี้ได้ที่ไหน มีเหตุผลที่ต้องกังวลเกี่ยวกับการสนทนาระหว่างบอร์ดดิจิตอล / ซีเรียลและอุปกรณ์อะนาล็อกหรือไม่? โดยวิธีการที่ฉันได้อ่านว่าโทรศัพท์อะนาล็อกมีแรงดันไฟฟ้าที่ค่อนข้างสูงที่สามารถทำลายกระดาน ฉันชอบที่จะได้รับข้อมูลเกี่ยวกับสิ่งต่าง ๆ เช่นนี้ที่เกี่ยวข้องกับการเชื่อมต่อ Arduino กับโทรศัพท์อะนาล็อกเพื่อที่จะได้ทราบเกี่ยวกับปัญหาดังกล่าวและสิ่งที่ควรคำนึงถึงและการสำรวจ ขอบคุณมาก!

3
ข้อมูลอนุกรมปรากฏขึ้นแปลก ๆ
ฉันมีร่างง่าย ๆ ที่พิมพ์ "Hello World" ไปยังซีเรียล แต่ฉันได้รับซึ่งพูดพล่อยๆแทน void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello World"); delay(1000); } ทำไมมันไม่พิมพ์ "Hello World" เหมือนรหัสบอกว่า?
12 serial 

2
อะไรคือความแตกต่างระหว่าง Software Serial Libraries ทั้งหมด? Arduino Nano ตัวไหนที่เข้ากันได้?
มี Software Serial Libraries มากมายมีความแตกต่างกันอย่างไร และอันไหนที่ฉันสามารถใช้ได้กับ Arduino Nano ของฉัน สำหรับ Arduino Nano Nano ของฉันฉันต้องการฮาร์ดแวร์พอร์ตอนุกรมหนึ่งพอร์ตและพอร์ตอนุกรมซอฟต์แวร์หนึ่งพอร์ตที่อัตรารับส่งข้อมูล 115200 ฉันสามารถใช้หมุดซีเรียลของ Arduino Nano ตัวใดได้บ้าง?

2
เครือข่าย Multipoint Mesh แบบมีสายราคาถูก
ฉันกำลังมองหาเซ็นเซอร์โหลด 15 x 15 ตารางและ LED RGB สำหรับฟลอร์เต้นรำแบบโต้ตอบ แต่ละโหนดจะถูกขับเคลื่อนโดย arduino และพื้นทั้งหมดจะถูกจัดการโดย RaspberryPi ฉันพยายามหาวิธีที่ดีที่สุดในการให้โหนดสื่อสารกับ Pi นึกคิดเครือข่ายจะมีลักษณะเหล่านี้: ราคาต่อโหนดต่ำ ราสเบอร์รี่ปี่ในฐานะปรมาจารย์โหนดอาร์ดิโนเป็นทาส ความสามารถในการรู้ว่าแต่ละโหนดอยู่ในตาราง การเยียวยา: ถ้าปมลงไปมันจะไม่นำออกมาทั้งหมด สามารถแทนที่โหนดที่เสียหายได้อย่างง่ายดาย อุปกรณ์อิเล็กทรอนิกส์สำหรับแต่ละโหนดจะห่างกัน ~ 12 นิ้ว เจ้านายจะอยู่ห่างจากเมทริกซ์ 5 - 10 ฟุต จนถึงตอนนี้ฉันได้ทำงานหนักกว่าสองสามเณร I2C นี่จะอนุญาตให้แต่ละโหนดสามารถกำหนดแอดเดรสได้ แต่ดูเหมือนว่า Arduino จะอนุญาตได้เพียง 127 ที่อยู่เท่านั้นและเมทริกซ์นี้จะมีอย่างน้อย 225 โหนด SPI ถ้าเดซี่ถูกล่ามโซ่มันจะง่ายต่อการรู้ว่าแต่ละโหนดอยู่ในเมทริกซ์ แต่ถ้ามีหนึ่งโหนดที่จะแตกโหนดทั้งหมดหลังจากนั้นก็จะหยุดสื่อสาร (ใช่ไหม) ฉันสามารถแยกเดซี่แต่ละแถวออกจากกันได้ดังนั้นหากใครลงไปมันจะมีผลกับแถวนั้นเท่านั้น 1-Wire 1-wireนั้นดูมีแนวโน้ม ฉันต้องหาวิธีของตัวเองในการกำหนดตำแหน่งของโหนดซึ่งสามารถทำได้หลายวิธี Custom Serial …
11 serial  i2c  spi  networking 

1
ฉันจะสื่อสาร Raspberry Pi และ Arduino (ทั้งสองวิธี) โดยใช้สายไฟระยะทาง 10-15 เมตรได้อย่างไร
ฉันเริ่มต้นโครงการส่วนตัวของระบบอัตโนมัติภายในบ้านและฉันมี raspberry pi และบอร์ด arduino Uno ฉันต้องการสื่อสาร raspberry pi และ arduino ของฉันที่ raspberry ของฉันควรจะสามารถเขียนและอ่านสัญญาณไปและกลับจาก arduino ระยะทางระหว่างพวกเขาฉันคิดว่ามันจะเป็นอะไรประมาณ 10 ถึง 15 เมตร ฉันต้องการอะไร ฉันจะต้องใช้สายไฟหรือส่วนประกอบอื่นใดเพื่อให้บรรลุเป้าหมาย ฉันพูดซ้ำ: ฉันไม่ต้องการสื่อสาร raspberry pi และ arduino แบบไร้สาย ขอบคุณ!
11 serial  uart 

3
กำหนดเวลาความแม่นยำสูงบน Arduino สำหรับการสื่อสารแบบอนุกรม
ฉันใช้ Arduino Uno เพื่อส่งข้อมูลเวลาและแรงดันไฟฟ้าผ่านพอร์ตอนุกรมไปยัง Python เพื่อลงจุด อย่างไรก็ตามการกำหนดช่วงเวลาระหว่างการประทับเวลาต่อเนื่องจะเพิ่มขึ้นเมื่อเวลาผ่านไปส่งผลต่อการวางแผนของฉัน นี่เป็นเรื่องจริงโดยเฉพาะอย่างยิ่งเมื่อตั้งค่าอัตรารับส่งข้อมูลเป็น 9600 ซึ่งความแตกต่างของเวลาเริ่มต้นของฉันอาจเป็น 1320 และเพิ่มขึ้นเป็น 16400 หลังจากช่วงเวลาสั้น ๆ เมื่ออัตรานี้เพิ่มสูงสุดถึง 1,150,200 bps การเปลี่ยนแปลงจะช้าลงและสังเกตได้น้อยลงจากประมาณ 1,340 เป็น 1,500 แม้หลังจากการส่งในระยะยาว เวลาทั้งหมดถูกกำหนดในหน่วยไมโครวินาที ฉันต้องการทราบว่าฉันสามารถลดหรือกำจัดผลกระทบนี้ได้หรือไม่และหากไม่เข้าใจว่าทำไมถึงมีอยู่จริง ฉันได้อ่านสิ่งต่าง ๆ เกี่ยวกับการขัดจังหวะและความล่าช้าที่ก่อให้เกิดสิ่งนี้ แต่ฉันไม่ได้ชื่นชมความซับซ้อนของอุปกรณ์อิเล็กทรอนิกส์ในมือและอยากจะรู้ว่า: ฉันจะได้รับความแม่นยำมากขึ้นในเวลา? ทำให้การเปลี่ยนแปลงในเวลานี้คืออะไร? นี่คือสิ่งที่ฉันมีอยู่ในปัจจุบัน: #include <eHealth.h> extern volatile unsigned long timer0_overflow_count; float fanalog0; int analog0; unsigned long time; byte serialByte; void setup() …

3
ใช้พินทั้งหมดเป็นดิจิตอล I / O
เพิ่มจำนวนพินดิจิตอล มีโพสต์มากมายที่อธิบายวิธีการใช้งานมากกว่าพินมาตรฐานในอาร์ดิโนต่าง ๆ แต่ไม่มีใครอธิบายข้อ จำกัด และโพรเซสได้อย่างถูกต้อง Arduino Uno: 1. คุณสามารถใช้หมุดอะนาล็อก Pin 14 = Analog in 0 Pin 15 = Analog in 1 Pin 16 = Analog in 2 Pin 17 = Analog in 3 Pin 18 = Analog in 4 Pin 19 = Analog in 5 digitalWrite(14,HIGH); or digitalWrite(A0,HIGH); 2. …

2
ความแตกต่างระหว่าง / dev / ttyACM0 และ / dev / ttyS0 (พอร์ต Arduino IDE ภายใต้ Linux)
ฉันใช้ Arduino IDE เพื่ออัพโหลดภาพร่างไปยัง Arduino Uno ของฉัน ระบบปฏิบัติการของฉันคือ Linux Ubuntu 14.04 LTS Arduino IDE มีสองพอร์ตโดยค่าเริ่มต้นสำหรับการสื่อสารกับ Arduino Uno: /dev/ttyACM0 /dev/ttyS0 ความแตกต่างระหว่างสองพอร์ตเหล่านี้คืออะไร? "ACM0" และ "S0" หมายถึงอะไร มีไฟล์กำหนดค่าในโครงสร้างโฟลเดอร์ OS ที่อธิบายพารามิเตอร์ของพอร์ตเหล่านี้หรือไม่? ฉันรู้ว่าเมื่อฉันเลือก/dev/ttyACM0ฉันสามารถส่งข้อมูลไปยัง Arduino Uno ของฉันได้ /dev/ttyS0แต่มันไม่ทำงานเมื่อฉันเลือก ฉันแค่อยากเข้าใจว่าพอร์ตเหล่านี้คืออะไรกันแน่

1
วิธีรีเซ็ต Arduino จากซอฟต์แวร์
อย่างที่คุณทราบ Arduino IDE จะรีเซ็ต Arduino เมื่อเปิด Serial Monitor ฉันต้องการโปรแกรมของฉันด้วย แต่ฉันไม่รู้ ฉันตรวจสอบซอร์สโค้ดของ Arduino IDE (Serial.java & SerialMonitor.java) แต่ฉันไม่สามารถหาตำแหน่งที่จะส่งคำสั่งรีเซ็ตได้ มันอยู่ที่ไหน? ฉันใช้ C # เพื่อสื่อสารกับซีเรียล
10 serial  reset 

1
ความยาวสายไฟสูงสุดสำหรับการสื่อสารแบบอนุกรมระหว่างสอง Arduinos คืออะไร
ฉันกำลังสร้างโครงการที่ Arduinos สองแห่งจะถูกเชื่อมโยงโดยสายสามเส้น: TX an RX สำหรับการสื่อสารแบบอนุกรมและ GND ทั่วไป อะไรคือความยาวสูงสุดของสายไฟที่นี่ก่อนที่การสื่อสารจะได้รับผลกระทบ ฉันกำลังใช้ Arduino Mega R3 ที่ด้านหนึ่งและ Arduino Mini อีกด้านหนึ่ง ฉันไม่มีความต้องการพิเศษสำหรับอัตราการรับส่งข้อมูลฉันสามารถใช้อัตราที่ต่ำที่สุดหากสิ่งนี้ช่วยได้ แต่อย่างใด


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