ความรู้แน่น ฟรีสำหรับชุมชน ArduinoAll ที่นี่เท่านั้น

ฟรีและดีที่สุด คอร์สอบรม Arduino + NodeMCU
ทำเพื่อแบ่งปัน ห้ามนำไปจำหน่าย หรือเก็บเงินค่าเรียน
  !!!


  


AllNewStep รับประกันคุณภาพทุกชิ้น วันจันทร์-ศุกร์แจ้งชำระสินค้าก่อน 14.00 จัดส่งทันทีวันนี้ค่ะ

กรุงเทพ /ภาคกลาง ได้พรุ่งนี้


*** สินค้าทุกชิ้น ถ้าสามารถทำรายการสั่งซื้อได้ แสดงว่ามีครบทุกรายการค่ะ *** 

พิมพ์ค้นหาบทความ หัวข้อกระทู้ และสินค้าในเว็บ AllNewStep ได้ที่นี่
QUOTE 

สอบถาม NRF24L01

InhrtI

พอดีผมเขียนให้ arduino ส่งค่าไปให้ c# ผ่าน serialport

แล้วพอเสียบ NRF24L01 ให้ arduino การส่งค่าของ arduino ก็เริ่มเพี้ยนน่ะครับ

กลายเป็นส่งไม่ครบตามคำที่ตั้งไว้ บางทีก็ตัดแยกคำแล้วส่งสองครั้ง

แต่พอดึง NRF24L01 ก็กลับมาส่งค่าตามปกติครบทุกคำ

พอจะมีอะไรแนะนำผมได้มั้ยครับ

ปล. ผมลองไล่ pin ที่เสียบดูแล้วมันจะเริ่มมีปัญหาเมื่อเสียบ MOSI หรือ MISO

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน

จากข้อมูล ไม่น่าจะใช้กับอุปกรณ์ เพราะการส่งข้อมูลมีการเข้ารหัสและเช็คซัม ถ้าส่งไม่หมดจะถอดข้อความไม่ได้

ทดสอบได้โดยใช้โปรแกรม Arduino IDE เช็คใน Serial Monitor

สำหรับอาการนี้ สาเหตุเป็นเพราะ Serial Monitor ใน C# อ่านมาไม่หมด หลักฐานคือที่บอกว่า C# มีการตัดระหว่างคำ วิธีแก้ง่าย ๆ ให้หน่วงเวลาใน event ตอน SerialPort รับข้อมูล ใช้คำสั่ง Thread.sleep(100); เพื่อรอให้อ่านมาทั้งหมดครับ

QUOTE 
ความคิดเห็นที่ #2
InhrtI

เข้าใจแล้วครับดูเหมือนจะเป็นที่สายหรือไม่ก็อาดูโน่แล้วน่ะครับ

ลองเปลียนไปใช้อีกตัวก็ส่งค่าไปc#ได้ปกติ

อีกคำถามครับ

ผมใช้ ldr รับค่าแสงโดยให้เลเซอยิงตรงใส่เซ็นเซอน์เลย

ตอนอ่านค่ามันมีช่วงที่อ่านได้เป็น0ยาวติดกันประมาณ5-7ค่าได้ก่อนจะกลับมาอ่านค่าได้ปกติ วนไปเรื่อยๆน่ะครับ

พอจะรู้วิธีแก้มั้ยครับ

QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน

ใส่ C ค่า 0.1uf คร่อมขา VCC กับ GND ของ NRF24L01 เพื่อป้องกันสัญญาณรบกวนครับ

แต่สาเหตุหลักตามที่แนะนำไปแล้ว ตรงโคดใน C# อาการนี้จะสุ่มเกิด เปลี่ยนตัวใหม่ก็ไม่หาย ถ้าไม่แก้ที่โคด

ldr ให้ทดลองกับ arduino ide ดูค่าใน serial monitor ก่อนนะครับ ดีบั๊กทีละจุด จะได้รู้ว่าผิดตรงไหน

QUOTE 
ความคิดเห็นที่ #4
InhrtI

1 ส่วนของ ldr เป็นอีกงานนะครับผมลืมบอกไม่ได้เชื่อมต่อะไรกับ c#

อาการที่ผมบอกว่ามันอ่านค่าได้ช่วง0สลับกบัค่าที่อ่านได้จริง

เป็นการอ่านจาก arduino ide ครับ

ปล. ตัวบอร์ดผมที่ที่พูดถึงมี NRF24L01 ส่วนของdigital port

มี led RGB ติดตั้งสามขาแสดงสี ขาละ port อีก 7หลอด

ส่วนของ arnalog port เป็น ldr 9 port

คิดว่ามีส่วนไหนที่ทำให้เกิดการอ่านค่าช่วง 0 รึเปล่าครับ ผมพยายามหาวิธีแก้อยุ่

 

2 ส่วนตัวที่c#อ่านไม่ครบผมลองเติมโค้ตที่ให้รอแล้วก็ไม่หายน่ะครับ

เลยลองเปลียน arduno ดูน่ะครับ แต่เดียวผมลองเช็คโคดอีกรอบ ขอบคุณที่ให้คำแนะนำนะครับ

QUOTE 
ความคิดเห็นที่ #5
เจ้าของร้าน

ตอบเท่าที่ได้ไปหมดแล้ว ตรงนี้ต้องลองดีบั๊กหน้างาน เพิ่มเติมครับ

แสดงความคิดเห็นที่ 1-5 จากทั้งหมด 5 ความคิดเห็น
ขาย ARDUINO
คุณภาพ อันดับ 1

ได้รับรางวัลร้านยอดเยี่ยม
ตั้งแต่ปี 2558
ขาย Arduino
วีดีโอสอน Arduino

สอน esp8266

สอน Arduino IoT
สอน Arduino แบบเร็ว

สอน NodeMCU

อุปกรณ์ Arduino

MEMBER ZONE

พูดคุย-สอบถาม