ตัวแปรไม่ต้องประกาศชนิด (ระบบ infer ให้: int / float / String / bool) · ทุกบล็อกจบด้วย end* เช่น จบทำซ้ำ · คอมเมนต์ใช้ // ถึงท้ายบรรทัด
1.1 การประกาศพิน GPIO
.mapo
english
| โหมดขา (ไทย) | อังกฤษ | ใช้ทำอะไร |
|---|---|---|
ออก | out | ขาส่งออก — เปิด/ปิดไฟ สั่งรีเลย์ |
เข้า | in | ขารับเข้าดิจิทัล |
ดิจิทัลเข้า | din / input | ชื่ออื่นของขารับเข้า |
ดึงขึ้น | pullup | ขารับ + ดึงขึ้นในบอร์ด (ต่อปุ่มกับ GND ได้เลย) |
อ่านอนาล็อก | ain / analog / adc | อ่านค่าต่อเนื่อง (LDR, โพเทนชิโอมิเตอร์, LM35) |
1.2 ตัวแปรและอาร์เรย์
.mapo
english
⚠️ทุกการประกาศ/ตั้งค่าตัวแปรต้องมี
= เสมอ — เขียน นับ 0 หรือ บัฟ[5] เฉย ๆ = Syntax Error (เหมือน Python) และ float ต้องมีจุด (= 0.0) ไม่งั้นทศนิยมถูกตัดทิ้ง1.3 เวลา (wait / delay)
.mapo
english
⏱️
รอ ใน งาน จะyield — งานนั้นหยุดรอ แต่บอร์ดทำงานอื่นต่อ (ไม่ใช้ delay ที่แช่ทั้งบอร์ด)1.4 กฎ 8 ข้อที่มือใหม่พลาดบ่อย
| กฎ | ผิด ✗ | ถูก ✓ | ทำไม |
|---|---|---|---|
ต้องมี = ตอนตั้งค่า | นับ 0 | นับ = 0 | ไม่มี = = Syntax Error |
| ทศนิยมต้องมีจุด | t = 0 | t = 0.0 | ไม่งั้นเป็น int ค่าทศนิยมถูกตัด |
| เปิดบล็อกต้องปิด | ลืม จบทำซ้ำ | มี จบ… ทุกบล็อก | ทุกบล็อกมีคู่ปิดของมัน |
ทำซ้ำ ต้องอยู่ในงาน | ลอย ๆ กลางไฟล์ | ครอบด้วย งาน … จบงาน | ลูปต้องอยู่ใน task/organ/brain |
| คำสั่งขาใช้กับ “ขา” | เปิด มอเตอร์1 | ให้ มอเตอร์1.หมุน 90 | on/off/make ห้ามใช้กับอ็อบเจกต์อุปกรณ์ |
| ช่องว่างคือตัวคั่น | เซนเซอร์ 1 | เซนเซอร์1 | ชื่อตัวแปรห้ามมีเว้นวรรค |
คอมเมนต์ใช้ // | # อธิบาย | // อธิบาย | # สงวนให้ #c, #task |
| ชื่อ property ไม่สนพิมพ์ | VALUE กับ value | ใช้แบบเดียวกันทั้งไฟล์ | property อังกฤษไม่สนตัวพิมพ์ แต่ชื่อตัวแปรต้องตรง |