Arduino การบันทึกข้อมูล เพื่มนำมาใช้

ผมจะสามารถบันทึกข้อมูลแล้วเก็บใว้นำมาใช้ได้ยังไงหรอครับ

คือผมตอบการให้เช็นเชอร์วัด rpm มอเตอร์ ทุกๆ 1 วินาที เป็นเวลา 10 วินาที จะให้เก็บค่าทั้ง 10 วิมาทำการหาค่าเฉลี่ยของ rpm อะครับ แล้ว นำค่าเฉลี่ยบันทึกแล้วไปใช้จนกว่าจะมีการupdate ใหม่

ขอคำแนะนำหน่อยครับ Esp8266

  1. ต้องการเก็บตัวแปลงทั้งหมด กี่ตัว
  2. ยกตัวอย่างของตัวแปรที่ต้องการเก็บมาด้วย
1 Like

วินาทีละ 1 ตัวครับ 10 วิ 10 ตัว เช่น
วินาที rpm
1 5
2 20
3 40
4 70
5 120
6 170
7 250
8 350
9 480
10 600

(5+20+40+70+120+170+250+350+480+600)/10
แล้วก็เอาค่าที่ได้ในแต่ละวินาที มา + กัน แล้วหารด้วย 10

จำนวนหลัก หรือค่าที่ต้องการเก็บคือเท่าไหร่

999 ใช่ไหม

1 Like

จำนวนหลักคือยังไงหรอครับ
ใช่จำoวนที่เก็บใว้ก่อนที่จะupdateรึป่าว

เราจะเก็บค่าอะไรเราต้องคิดจำนวนมากสุดไว้ก่อน เช่น

3 หลัก สูงสุดก็ 000 - 999
4 หลัก สูงสุดก็ 0000 - 9999

คำถามคือมันจะมีโอกาสที่ มีค่า 1000 มาเก็บที่ต่ำแหน่งที่ 10 นี้หรือไม่

ค่าไม่น่าเกิน1000ครับ เพราะมอเตอร์ที่จะใช้วัดเป็นมอเตอร์arduino smart car

แสดงว่าทุกตำแหน่งต้องเก็บได้ 4 หลัก ช้ะ เพราะมันก็มีโอกาสที่ 1000 จะไปเก็บที่ต่ำแหน่ง 1 - 9 ด้วย

1 Like

แล้วจะเก็บค่าในแต่ละตำแหน่งได้ยังไงหรอครับ คามที่ผมเคยใช้ก็แค่ให้มันแสดงผลแล้วprint ออกค่าใหม่มาเรื่อยๆ แต่ผมไม่รู้วิธีเก็บค่าครับ

เอาเป็นว่าใช้วิธีการ เก็บข้อมูลลงใน EEPROM ครับ ถ้าไฟดับ เปิดมาใหม่ข้อมูลก็ยังอยู่ เหมือนเดิม

แต่ถ้าไม่ได้ซีเรียสมากก็เก็บไว้ในอาร์เร ดืดๆ เลยก็ได้ กำหนดแบบนี้

byte rpm_motor[10] = {5, 20, 40, 70, 120,170, 250, 350, 480, 600};

แสดงว่าถุ้าผมจะเก็บค่า 10 ค่าในEEPROM ผมต้องสร้างตัวแปล 10ตัว แล้ว เวลาเก็บค่ามาได้กดเก็บใว้ในตัวแปลแรกอีก 1วิต่อมาไปเก็บตัวที่2จนถึงตัวสุดท้ายแล้วค่อยเอาค่าในตัวแปลแต่ละตะวมาคำนวนใช้ไหมครับ

ใช่ครับ ตัวอย่างโค้ตตามไปดูที่ลิ้งค์เลยมีหลายแบบ

1 Like

ขอบคุณมากๆนะครับ