Arduino

คำถาม & คำตอบสำหรับนักพัฒนาซอฟต์แวร์และซอฟต์แวร์โอเพ่นซอร์สที่เข้ากันได้กับ Arduino


12
ฉันจะเชื่อมต่อกับ Arduino โดยใช้ WiFi ได้อย่างไร
ฉันกำลังทำงานเพื่อสร้างสถานีอากาศที่ใช้พลังงานแสงอาทิตย์เป็น Arduino สถานีตรวจอากาศประกอบด้วยเซ็นเซอร์อุณหภูมิและตัวตรวจจับแสงและฉันวางแผนที่จะเพิ่มเครื่องวัดความเร็วลมในอนาคต ฉันต้องการเชื่อมต่อสถานีตรวจอากาศกับเครือข่ายไร้สายของฉันเพื่อให้สามารถดึงข้อมูลเซ็นเซอร์จากคอมพิวเตอร์ของฉันโดยไม่ต้องใช้สาย (ฉันอาศัยอยู่ในที่เช่า) ตัวเลือกต่าง ๆ สำหรับการเชื่อมต่อ Arduino กับ WiFi คืออะไร? ฉันได้ดูที่อีเธอร์เน็ตชิฟด์, โล่ WiFi และสิ่งที่เรียกว่า Xbee แต่ฉันไม่เข้าใจว่าแต่ละอันนั้นมีไว้เพื่ออะไร ฉันยังมีเราเตอร์ไร้สายภายในบ้านที่ฉันสามารถใช้ได้ เป็นไปได้หรือไม่ที่จะเชื่อมต่อ Arduino Uno กับเราเตอร์ผ่านเราเตอร์อีเธอร์เน็ตหรือพอร์ต USB จากนั้นรับข้อมูลจากและส่งคำสั่งไปยัง Arduino ผ่านเครือข่ายไร้สายภายในบ้านของฉัน ถ้าเป็นเช่นนั้นสิ่งนี้จะสำเร็จได้อย่างไร ปัจจุบันฉันมี Arduino Uno เปลือย
27 arduino-uno  wifi  xbee 


7
ฉันจะรับ ID เฉพาะสำหรับบอร์ด Arduino ทั้งหมดได้อย่างไร
เมื่อคุณอัปโหลดภาพร่างไปยังบอร์ด Arduino ของคุณแล้วมันก็ยากที่จะรู้ว่าซอร์สโค้ดใดที่นำไปสู่ภาพร่างนั้น แน่นอนคุณสามารถเปลี่ยนซอร์สโค้ดร่างของคุณบนพีซีโดยไม่ต้องอัปเดต (ในรูปแบบไบนารี) เป็นบอร์ดของคุณ ฉันมีความคิดในการตั้งค่า " พื้นที่เก็บข้อมูลร่าง " ซึ่งจะมีผู้เข้าชมทันทีที่ฉันอัปโหลดภาพร่างไปยังหนึ่งในบอร์ดของฉัน จากนั้นฉันก็สามารถเรียกคืนได้ในภายหลังรหัสที่มาสำหรับร่างที่ทำงานบนกระดานใด ๆ ของฉัน สำหรับพื้นที่เก็บข้อมูลนั้นฉันต้องมี " ดัชนี " ก่อนซึ่งจะทำให้ฉันรู้ว่าบอร์ดซอร์สโค้ดร่างใดเชื่อมโยงอยู่ โดยทั่วไปดัชนีดังกล่าวควรมีความพิเศษสำหรับบอร์ด Arduino ทุกแผ่น ดังนั้นคำถามของฉัน: ฉันจะรับ ID เฉพาะสำหรับบอร์ด Arduino ได้อย่างไร แก้ไข: นี่คือรายการบอร์ดปัจจุบันของฉัน (รายการ miniumum ที่จะสนับสนุนด้วยวิธีการ ID ที่ไม่ซ้ำกัน) UNO R3 ล้าน 2560 หยุน Arduino Robot (ต้องมีบอร์ดเทียบเท่า Leonardo 2 ตัว) ในอนาคตฉันอาจสร้างบอร์ดของตัวเอง (Uno ที่เทียบเท่า แต่ไม่ได้ใช้ …

1
อะไรคือความแตกต่างระหว่างตัวเลือก RF (wifi, xbee, NRF24L01)
เมื่อทำ RF คุณมีตัวเลือกมากมาย สามขั้นพื้นฐานที่สุดอยู่ในกล่องชื่อเรื่อง อินเตอร์เน็ตไร้สาย Xbee NRF24L01 อะไรคือความแตกต่างที่ใช้งานได้จริง อะไรคือจุดประสงค์ของกันและกันและข้อดีข้อเสีย คุณจะใช้อะไรขึ้นอยู่กับแอปพลิเคชันที่คุณมี ฉันไม่มีโครงการในใจ แต่ฉันต้องการเริ่มเรียนรู้เกี่ยวกับ Rf ฉันค้นหา ebay สำหรับอุปกรณ์ไร้สาย แต่ฉันไม่เข้าใจความแตกต่าง เป้าหมายของฉันคือการเรียนรู้
26 wifi  xbee  rf 

5
ความแตกต่างระหว่าง Serial.write และ Serial.print คืออะไร? แล้วพวกเขาจะใช้เมื่อไหร่?
ความแตกต่างระหว่าง Serial.write และ Serial.print คืออะไร? แล้วพวกเขาจะใช้เมื่อไหร่? ทั้งสองถูกใช้เพื่อพิมพ์บนจอภาพอนุกรมอะไรคือความแตกต่างที่แท้จริงของพวกเขา?
26 serial 

3
ควรใช้ #define หรือ const int สำหรับค่าคงที่หรือไม่
Arduino เป็นลูกผสมที่แปลกประหลาดซึ่งมีการใช้งาน C ++ บางอย่างในโลกที่ฝังตัวซึ่งปกติแล้วคือสภาพแวดล้อม C แท้จริงแล้วรหัส Arduino จำนวนมากนั้นเป็น C มาก C มีการใช้แบบดั้งเดิม#defineสำหรับค่าคงที่ มีสาเหตุหลายประการ: คุณไม่สามารถตั้งค่าขนาดอาร์เรย์const intได้ คุณไม่สามารถใช้const intเป็นป้ายกำกับคำสั่งกรณี (แม้ว่าจะใช้งานได้ในคอมไพเลอร์บางตัว) คุณไม่สามารถเริ่มต้นกับคนอื่นconstconst คุณสามารถตรวจสอบคำถามนี้ใน StackOverflow เพื่อหาเหตุผลเพิ่มเติม ดังนั้นสิ่งที่เราควรใช้สำหรับ Arduino? ฉันมีแนวโน้มที่จะไป#defineแต่ฉันเห็นบางรหัสใช้constและบางคนใช้ผสมผสาน

6
การรวบรวม Linux บน Arduino ต้องทำอย่างไรถ้าเป็นไปได้?
เป็นไปได้หรือไม่ที่จะรัน Linux บน Arduino? ถ้าใช่จะต้องพิจารณาขั้นตอนและข้อ จำกัด อะไรบ้าง ถ้าไม่ข้อ จำกัด อะไรที่ป้องกันไม่ให้เกิดขึ้น?
25 linux 

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

14
ตู้โชว์โครงการ '14
โลโก้เป็นอนุพันธ์ของโลโก้ชุมชน Arduino ที่ได้รับอนุญาตภายใต้ใบอนุญาตCreative Commons CC-SA-BY-NC 3.0 อัปเดต: ประกาศผู้ชนะ ผู้ชนะการประกวดได้รับการประกาศ โปรดดูโพสต์ Meta สำหรับรายละเอียด เพื่อเป็นการเฉลิมฉลอง10 ปีของ Arduinoเรามีความภูมิใจที่จะประกาศกิจกรรมครั้งแรกใน Arduino Stack Exchange ถอดบอร์ดและอุปกรณ์บัดกรีออกขุด IC และตัวต้านทาน การประกวด Arduino Stack Exchange ครั้งแรกเป็นเพียงรอบมุม เราจะมองหาโครงการที่น่าสนใจที่สร้างขึ้นโดยใช้ Arduinos การประกวดมีวัตถุประสงค์เพื่อแบ่งปันการอภิปรายและการให้ข้อเสนอแนะเกี่ยวกับโครงการที่คุณและสมาชิกคนอื่นกำลังทำงาน ดูประกาศโพสต์ รายละเอียด: รางวัลเป็นเสื้อยืด Stack Exchangeอย่างเป็นทางการ จำกัด สองรายการต่อคน หากมีมากกว่าสองรายการจะมีการพิจารณาเฉพาะสองรายการแรกเท่านั้น โคลนนิ่งจะได้รับอนุญาต โครงการเพื่อการพิจารณาจะได้รับการยอมรับจนถึงวันที่ 29 มีนาคม 2014 เวลา 4:00 UTC คำถามจะยังคงเปิดอยู่ในกรณีที่มีคนต้องการแสดงผลงานของพวกเขาใน Arduino Day 2014 เยี่ยมชมโพสต์ …
25 events 

4
ทำไมต้องใช้ตัวแปร int สำหรับพินเมื่อ const int, enum หรือ #define เหมาะสมกว่า
เหตุใดผู้คนจึงใช้ตัวแปรเพื่อระบุหมายเลขพินเมื่อพินไม่น่าจะเปลี่ยนแปลงตลอดการประมวลผลของรหัส? หลายครั้งที่ฉันเห็นสิ่งintที่ใช้สำหรับการกำหนดพิน int led = 13; เมื่อมีการใช้ const int const int led = 13; หรือenumหรือ#define #define LED 13 ทำให้รู้สึกมากขึ้น มันก็ยิ่งในบทเรียนบนเว็บไซต์ Arduino ตัวอย่างเช่นคนแรกที่กวดวิชาที่คนส่วนใหญ่เรียกใช้การกะพริบตา ผมอ่านบางที่เป็นที่ต้องการมากกว่าconst int #defineทำไมสิ่งนี้ไม่ได้รับการสนับสนุนตั้งแต่เริ่มต้นแทนที่จะปล่อยให้คนพัฒนานิสัยที่ไม่ดีตั้งแต่ต้น? ฉันสังเกตเห็นว่ามันกลับมาสักพักหนึ่ง แต่เมื่อเร็ว ๆ นี้มันเริ่มทำให้ฉันหงุดหงิด หน่วยความจำ / / การประมวลผลคอมพิวเตอร์ฉลาดเป็นconst int, enumหรือสำหรับเรื่องที่#defineดีกว่าธรรมดาintเช่นหมกมุ่นอยู่กับหน่วยความจำน้อยที่เก็บไว้ในหน่วยความจำที่แตกต่างกัน (Flash, EEPROM, SRAM) การดำเนินการได้เร็วขึ้นเร็วขึ้นเพื่อรวบรวม? สิ่งนี้อาจดูเหมือนซ้ำซ้อนกับการใช้ #define หรือ const int สำหรับค่าคงที่หรือไม่ แต่ฉันกำลังพูดถึงคำถามที่ว่าทำไมผู้คนถึงใช้ตัวแปรและประสิทธิภาพการทำงานดีขึ้นอย่างไรเมื่อไม่ใช้แทนที่จะเป็นค่าคงที่แบบไหนดีกว่า

8
ตัวแปรทั่วโลกเป็นสิ่งชั่วร้ายใน Arduino หรือไม่?
ฉันค่อนข้างใหม่ในการเขียนโปรแกรมและแนวทางปฏิบัติที่ดีที่สุดในการเขียนโค้ดที่ฉันอ่านได้อย่างมีประสิทธิภาพระบุว่ามีเหตุผลที่ดีเพียงเล็กน้อยที่จะใช้ตัวแปรทั่วโลก (หรือรหัสที่ดีที่สุดไม่มี globals เลย) ฉันพยายามอย่างดีที่สุดที่จะระลึกถึงสิ่งนี้ไว้ในใจเมื่อเขียนซอฟต์แวร์เพื่อสร้างอินเทอร์เฟซ Arduino ด้วยการ์ด SD พูดคุยกับคอมพิวเตอร์และเรียกใช้ตัวควบคุมมอเตอร์ ปัจจุบันฉันมี 46 globals สำหรับรหัส "ระดับเริ่มต้น" ประมาณ 1100 บรรทัด (ไม่มีบรรทัดที่มีมากกว่าหนึ่งการกระทำ) นี่เป็นอัตราส่วนที่ดีหรือฉันควรพิจารณาลดให้มากขึ้นหรือไม่ ฉันสามารถใช้วิธีปฏิบัติอะไรเพื่อลดจำนวนรอบต่อไปอีกบ้าง ฉันถามสิ่งนี้เพราะฉันกังวลเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดสำหรับการเข้ารหัสผลิตภัณฑ์ Arduino มากกว่าการเขียนโปรแกรมคอมพิวเตอร์โดยทั่วไป

3
จะเกิดอะไรขึ้นกับ Arduino หากคุณไม่ได้ใช้ตัวต้านทานกับ LED?
การสร้างแสงกระพริบดูเหมือนจะเป็นหนึ่งในโครงการเริ่มต้นที่พบบ่อยที่สุดกับ Arduino วิธีการทั่วไปคือการเชื่อมต่อตัวต้านทาน LED + (เป็นอนุกรม) เข้ากับขา IO และเชื่อมต่อปลายอีกด้านหนึ่งกับพื้น ในรหัสคุณสร้างหมุดเอาท์พุทจากนั้นนำมันมาHIGHและLOWซ้ำ ๆ เพื่อแฟลช LED จะเกิดอะไรขึ้นถ้าคุณปล่อยให้ตัวต้านทานนั้นหมดไป? เห็นได้ชัดว่าคุณกำลังจะทำลาย LED แต่มันจะทำลาย Arduino ในทางใดทางหนึ่งหรือไม่?
23 safety  pins  led  resistor 

4
Serial.begin (9600) คืออะไร
ฉันรู้ว่านี่คือการเริ่มต้นบางสิ่ง: Serial.begin(9600); แต่ฉันต้องการรู้ว่ามันหมายถึงอะไรจริง ๆ ?

1
ความถี่ของเอาต์พุต PWM บน Arduino คืออะไร
Arduinos ใช้ความถี่อะไรสำหรับ PWM ปกติเมื่อคุณใช้ analogWrite () และมันแตกต่างกันสำหรับ Arduino รุ่นอื่นหรือไม่? ฉันสนใจเฉพาะใน Mega 2560 แต่ยังต้องการทราบว่ามันสอดคล้องกันระหว่างรุ่นหรือไม่ ฉันเคยเห็นการอ้างอิงถึง Arduino โดยใช้ 500 Hz ซึ่งดูเหมือนช้ามาก
22 pwm 

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