การใช้งาน millis() กับ Arduino

  Рет қаралды 13,283

M Lab

M Lab

Күн бұрын

Пікірлер
@mlab3051
@mlab3051 2 жыл бұрын
ใครที่ต้องการระบบที่ซับซ้อนขึ้น เช่นเพิ่มสวิทช์ หรือมี delay หลายๆตัว แนะนำให้ดูวิดิโอนี้ต่อเลยนะครับ kzbin.info/www/bejne/mYKlYYV3bq6phLM
@เอาล่ะครับเเล้วสําหรับคนที่ไม่
@เอาล่ะครับเเล้วสําหรับคนที่ไม่ 2 жыл бұрын
สอนอธิบายเข้าใจดีมากครับ
@ฉัตรคลาสสิคคาร์
@ฉัตรคลาสสิคคาร์ 2 жыл бұрын
สอนเข้าใจง่าย ขอบคุณมากครับ 2022 ยังใช้งานปกติครับ
@opwo7637
@opwo7637 3 жыл бұрын
ขอบคุณครับ งงกับ milli มาตั้งนาน ดูอันนี้แล้วเข้าใจเลยครับ
@winaiwussa5054
@winaiwussa5054 4 жыл бұрын
ขอบคุณครับ มีประโยชน์มาก เพราะเคยใช้แต่ delay()
@sornchaiseevitoon1841
@sornchaiseevitoon1841 4 жыл бұрын
เป็นความรู้ดีมากครับ
@mlab3051
@mlab3051 4 жыл бұрын
ขอบคุณคร้าบบ
@detdamdongbori_Diy_inventer
@detdamdongbori_Diy_inventer 4 жыл бұрын
ดีครับ อยากให้แสดงตัวอย่างการใช้งาน เช่น เรากด ปุ่ม แล้วจะเป็นการตั้งเวลา อีก 1 ชั่งโมงสั่งให้ไฟดิดครับ ขอบคุณล่วงหน้าครับ
@mlab3051
@mlab3051 4 жыл бұрын
น่าสนใจครับ เดี๋ยวลองทำดูครับ มีคนสงสัยแนวๆนี้เยอะเหมือนกัน
@samartupathong7919
@samartupathong7919 2 жыл бұрын
ขอบคุณสำหรับ ตัวอย่าง และขอสอบถามหน่อยครับ ถ้าเรามี สวิชท์ 1 อัน กดปุ่มค้างไว้ (สถานะเป็น 0 เพราะเซ็ตเป็น INPUT_PULLUP ไว้) แล้ว ให้ Servo ตัวที่1 ทำงาน เลย ถัดมา อีก 1 วิ ให้ตัวที่ 2 ทำงาน ถัดมาอีก 2 วิ ตัวที่3 ทำงาน หลังจากนั้น ก็ วนกลับไปทำใหม่ ตั้งแต่ต้น ผมลองใส่ค่าตามตัวอย่าง มันจะทำงาน ทุก ๆ วิ ที่เราได้ตั้งไว้ มันจะไม่ไล่ลำดับน่ะครับ
@mlab3051
@mlab3051 2 жыл бұрын
ต้องใช้ state และ timer ช่วยครับ แนะนำให้ดูวิดิโอนี้ต่อนะครับ kzbin.info/www/bejne/mYKlYYV3bq6phLM ถ้าต้องการสอบถาม หรือคำแนะนำ สามารถทักมาทางเพจเฟซบุ้คได้เลยครับ facebook.com/MLabpage/
@mayu4456
@mayu4456 2 жыл бұрын
ถ้ามันเก็บค่าคาบเวลาจนครบ 49 วันกว่า ๆโปรแกรมเราจะมีปัญหาเรื่องข้อจำกัดของ mills ()มั้ยครับแล้วแก้ยังไง
@mlab3051
@mlab3051 2 жыл бұрын
สวัสดีครับ ถ้าระยะเวลาที่เรานับไม่เกิน 49 วัน ไม่มีปัญหาครับ เช่นทำไฟกระพริบ ทุก 1 วินาที แม้ว่าเวลาจะผ่านไป 49 วัน หรือ 50 วัน มันก็ยังกระพริบทุก 1 วินาทีเหมือนเดิม เพราะเป็นการคำนวณแบบ unsigned ครับ แต่ถ้าให้มันจับเวลายาวๆเลย ดช่นจำเวลาที่ระบบเริ่มทำงาน จนเวลานานกว่า 49 วัน หมายความว่าตัวแปร unsigned long มันจะ overflow ครับ ค่ามันจะกลับมาเป็น 0 ถ้าต้องการนับเวลานานๆ แนะนำให้ใช้ Timelib ครับ ผมเคยยกตัวอย่างไว้เหมือนกันในวิดิโอนี้ kzbin.info/www/bejne/jojbnmWggK9liqM ถ้าไม่เข้าใจจุดไหนทักมาในเพจได้เลยนะครับ
@jirawatflim3334
@jirawatflim3334 3 жыл бұрын
เพิ่มสวิตช์ในคำสั่ง millis ยังไงคับ
@mlab3051
@mlab3051 3 жыл бұрын
เพิ่มเพื่อจึดประสงค์อะไรครับ
@jirawatflim3334
@jirawatflim3334 3 жыл бұрын
@@mlab3051 เอาไปหน่วงเวลาของ Module Relay คับ แบบว่ากดสวิตช์แล้วให้ Relay ทำงาน 15นาที แล้วดับครับ แต่ผมไม่รู้ว่าต้องใช้สวิตช์คำสั่งอะไร
@O4d112
@O4d112 3 жыл бұрын
แล้วสมมุติว่า timer1 เราสั่ง steper มอเตอร์ ให้หมุนอยู่แล้วแล้วยังทำไม่เสร็จ ตัว timer 2 จะทำงานมั้ยครับ
@mlab3051
@mlab3051 3 жыл бұрын
ขึนกับว่าฟังก์ชันที่เราสั่งมันเป็น Blocking หรือ non-blocking ครับ ถ้าเป็น non-blocking คือฟังก์ชันที่ทำงานโดยไม่ต้องรอ เช่นไม่มี delay หรือ while loop ระบบก็จะสามารถทำงานได้ตามปกติครับ
@sittichaisangkammee9279
@sittichaisangkammee9279 4 жыл бұрын
แล้วท่าค่าของunsigned long มันสุดแล้วอะครับจะเกิดการเออเรอร์ไหมครับ
@Kittisak_Pomarsa
@Kittisak_Pomarsa 4 жыл бұрын
ถ้ามันสุดมันจะกลายเป็น0ใหม่ครับ
@mlab3051
@mlab3051 3 жыл бұрын
@@Kittisak_Pomarsa ใช่ครับ แต่ถ้าเอามาลบกันยังใช่ได้อยู่ครับ เพราะ unsigned ลบกัน ไม่มีติดลบ
@totoserado2083
@totoserado2083 Жыл бұрын
ถ้าเกิดต้องการ Delay เวลาเป็นหลายๆ ชั่วโมง ต้องทำยังไงครับ
@mlab3051
@mlab3051 7 ай бұрын
สามารถแปลงชั่วโมงเป็นมิลลิวินาที โดย มิลลิวินาที เท่ากับ (ชั่วโมง) * 60 * 60 * 1000
@saran2341
@saran2341 3 жыл бұрын
ถ้าตั้งให้ รีเซ็ทค่านับจำนวนให้เป็น 0 เขียนยังไงครับ
@mlab3051
@mlab3051 3 жыл бұрын
รบกวนติดต่อทางเฟซบุ้คเพจนะครับบ น่าจะสะดวกกว่า
@ttapfx
@ttapfx 3 жыл бұрын
BLYNK_WRITE(V0) { if(param.asInt() == 1) { digitalWrite(relay1,LOW); delay(100); digitalWrite(relay2,LOW); delay(20000); Blynk.virtualWrite(V0,0); digitalWrite(relay1,HIGH); delay(100); digitalWrite(relay2,HIGH); } } ผมจะเอา ฟังชั่น millis มาแทน delay(20000); ยังไงครับ ขอบคุณครับ
@mlab3051
@mlab3051 3 жыл бұрын
ถ้าแบบนี้ต้องเขียนแบบเสตทแมชชีนครับ
@mlab3051
@mlab3051 2 жыл бұрын
วิดิโอเรื่อง state machine เสร็จแล้วนะครับบ
@NotynananaNote
@NotynananaNote 2 жыл бұрын
สวัสดีครับ พอดีผมอยากให้ มันกดปุ่มแล้วเริ่มนับเวลา อ่ะครับ ผมต้องใช้ 2 delay แต่มันไม่ได้เลยมาใช้ millis พอใช้แล้วผมต้องการให้ กด สวิสแล้วถึงจะเริ่มนับ 1 อ่ะครับ มันต้องแก้อะไรตรงไหนไหมครับขอบคุณครับ
@mlab3051
@mlab3051 2 жыл бұрын
แนะนำให้ดูวิดิโอนี้ต่อนะครับ kzbin.info/www/bejne/mYKlYYV3bq6phLM ถ้าดูแล้วมีข้อสงสัยให้ทักมาทางเพจได้เลยครับ
@FiwGerCh
@FiwGerCh 4 жыл бұрын
ดีครับถ้าผมมีลำดับอยางเช่น 1 ทำงาน 500 2ทำงาน1000 3ทำงาน1500 เงือนไขคือ 1ทำงานพอถึง1000สองทำงานเเล้ว1หยุด จากนั้นถึง1500 3ทำ 2หยุด จะเขียนเเบบไหนอะครับ
@mlab3051
@mlab3051 4 жыл бұрын
รบกวนถามทางเฟซบุ๊คเพจนะครับ ในนี้ตอบยากครับ facebook.com/MLabpage
@mlab3051
@mlab3051 2 жыл бұрын
แนะนำให้ดูวิดิโอนี้ต่อนะครับ kzbin.info/www/bejne/mYKlYYV3bq6phLM ถ้าดูแล้วมีข้อสงสัยให้ทักมาทางเพจได้เลยครับ
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
Arduino รันโปรแกรมแบบ Multi Task ได้จริงหรือไม่
18:19
ทําอะไรก็มีสุข (saroj1961)
Рет қаралды 9 М.
สอนสร้าง file.h + เปิดหลายแท็ป |  Multiple File in Arduino Project
30:09
ทําอะไรก็มีสุข (saroj1961)
Рет қаралды 7 М.
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН