micro:bit with javascript blocks editor

Page 1

กับการใช้งานด้วย

JavaScript Blocks Editor


บทนํา BBC micro:bit เป็ นบอร์ดไมโครคอนโทรลเลอร์ขนาดเท่าเครดิตการ์ดที่นําเอาไมโครโปรเซสเซอร์ยอดฮิต ARM Cortex-M0 มาใช้ด้วยความร่วมมือจากกลุ่มผูเ้ ชี่ยวชาญด้านคอมพิวเตอร์กว่า 29 หน่ วยงานใน ประเทศอังกฤษ และแจกให้นักเรียนในระดับ Secondary school ในประเทศอังกฤษได้ใช้งานได้ฟรี บนบอร์ด micro:bit ขนาด 4x5 CM นอกจากจะมีไมโครโปเซสเซอร์ ARM Cortex-M0 เป็ นหัวใจหลัก แล้ว ยังประกอบไปด้วยเซนเซอร์และโมดูลต่าง ๆ เช่น โมดูลวัดความเร่ง โมดูลวัดค่าสนามแม่เหล็ก LED ต่อเป็ นแบบ Matrix 25 ดวง สวิตช์กดติดปล่อยดับโปรแกรมได้ โมดูล Bluetooth กําลังงานตํา่ หรือ BLE จุดต่อพอร์ต USB ที่เป็ นทัง้ การดาวน์ โหลดโปรแกรมและจ่ายไฟ จุดต่อขนาดใหญ่ 5 จุด และจุดต่อพอร์ตที่ เป็ นลายทองแดงอีก 23 ขา บอร์ด micro:bit ใช้ไฟจากพอร์ต micro USB ที่เชื่อมต่อกับคอมพิวเตอร์ หรือ จากถ่าน AAA 2 ก้อนจากภายนอกก็ได้ พูดถึงไมโครคอนโทรลเลอร์ ARM ปัจจุบนั มีทงั ้ แบบ 32 บิต และ 64 บิต ได้รบั ความนิยมอย่าง แพร่หลาย เป็ นส่วนประกอบหลักอยู่ในเครื่องมือเครือ่ งใช้ต่างๆ มากมาย ไม่ว่าจะเป็ นโทรศัพท์มือถือ แทปเล็ต เครื่องรับ GPS ด้วยเหตุผลว่ามีราคาถูกและกินกําลังงานตํา่ มาก BBC micro:bit จึงถูกสร้างโดยใช้หวั ใจหลักเป็ น ARM และออกแบบให้เขียนโค้ดและคอมไพล์โค้ด ผ่านเวปไซต์แบบออนไลน์ สําหรับการดาวน์ โหลดโค้ดทําได้ทงั ้ ผ่านพอร์ต USB และ Bluetooth สําหรับ รูปแบบ USB BBC micro:bit จะมองเหมือนแฟลชไดรฟ์ ตัวนึ ง ผูใ้ ช้สามารถลากวางโค้ดภาษาเครือ่ ง ไปยัง ไดรฟ์ ของมันได้โดยตรง ซึ่งเข้าใจง่ายมาก สําหรับผูเ้ ริ่มต้นใช้งาน สําหรับคอมไพเลอร์ที่ใช้กบั micro:bit มี 2 ตัวหลัก ๆ คือ Microsoft Block Editor และ microPython มา พร้อมกับตัวอย่างการใช้งานมากมาย ที่จดุ ประกายให้คณ ุ ไม่ร้จู บ


ไมโครคอนโทรลเลอร์ที่มีใช้งานทัวไป ่ ไมโครโปรเซสเซอร์

AVR PIC

BASIC Stamp ไมโครคอนโทรลเลอร์ MCS-51

AVR


ไมโครคอนโทรลเลอร์อยู่รอบตัวเรา

ที่ทาํ งาน ที่บา้ น

โรงพยาบาล ในรถ

โรงงาน


ไมโครคอนโทรลเลอร์ทาํ งานอย่างไร คียบ์ อร์ด

จอภาพ

เมาส์

มอเตอร์

แสงสว่าง สนามแม่เหล็ก

ความเอียง

ไมโคร คอนโทรลเลอร์

หลอดไฟ ปัม๊ นํ้า

ลําโพง


BBC micro:bit • • • • • • • • • • • • •

ส่วนฮาร์ดแวร์ ไมโครคอนโทรลเลอร์ nRF51822 32-bit ARM Cortex M0 ทํางานที่ความถี่ 16 MHz หน่ วยความจํา RAM 16 KB หน่ วยความจําโปรแกรมแบบแฟลช 256 KB BLE : Bluetooth Low energy MMA8652 3-axis accelerometer MAG3110 3-axis magnetometer 5x5 LED matrix สวิตช์กดติดปล่อยดับ 2 ตัว ขัว้ ต่อแบบ ใช้ปากคีบ 5 ขา ขัว้ ต่อสําหรับ I/O โมดูล SPI และ I2C ขัว้ ต่อ USB สําหรับจ่ายไฟและโปรแกรม ขัว้ ต่อไฟเลี้ยง 3V ภายนอก


ตําแหน่ งต่างๆ บนบอร์ด micro:bit


ตําแหน่ งด้านหน้ า 5CM

LED 5x5 (สังเป็ ่ นข้อความได้งา่ ยๆ) 4CM

สวิตช์ (สังจากโปรแกรมได้ ่ )

3 อินพุต/เอาต์พตุ /อะนาลอก

กราวด์ ไฟเลีย้ ง 3V


ตําแหน่ งด้านหลัง

เสาอากาศบลูทูธ

ARM Cortex M0 พร้อมบลูทูธ

microUSB สวิตช์ RESET ขัว้ ต่อแบตเตอรี่

จัดการการเชื่อมต่อ USB โมดูลเข็มทิศ โมดูลวัดความเร่ง


ทํางานด้วยถ่าน AAA 2 ก้อน อยู่ได้นานเป็ น 10 วัน


ให้แหล่งจ่ายไฟจาก 5V ก็ได้


ตําแหน่ งขา


ตําแหน่ งขา


ขัว้ ต่อเพื่อนําขาไปใช้ได้โดยง่าย


เวปไซต์ microbit.org


JavaScript Blocks Editor (PXT)


Python Editor

กรณี ต้องการ offline http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/?prefix=microbit

https://goo.gl/ycjY8f

ย่อลิงก์แล้ว


Android and iOS apps


ทํางานโดยไม่เชื่อมต่ออินเทอร์เน็ต

1 เชือ่ มต่ออินเตอร์เน็ตในครัง้ แรกก่อน

2 เปิ ด JavaScript Blocks Editor (PXT)


ทํางานโดยไม่เชื่อมต่ออินเทอร์เน็ต

3 เปิ ดดูขอ้ มูลและชุดคําสังต่ ่ างๆ

4 Bookmark หน้านี้ไว้

เมือ่ เปิ ด Bookmark หน้านี้ขน้ึ มาก็จะ ยังใช้งานได้เหมือนเดิม


ขัน้ ตอนการเขียนโปรแกรม ลากบล็อกเพื่อสร้างโค้ดโปรแกรม กด Compile และบันทึกไฟล์ .hex กด RUN เพื่อทดสอบผ่าน Simulator เชื่อมต่อบอร์ด micro:bit ผ่าน USB คัดลอกไฟล์ไส่ไดรฟ์ ของ micro:bit

Simulator


Project ที่ 1 ไฟกะพริบ


ชุดคําสังที ่ ่ใช้ ทํางานวนลูปไปเรื่อยๆ

แสดง LED ตามตําแหน่ งที่ต้องการ หน่ วงเวลา


ชุดคําสัง่

คําสังแสดงผลพื ่ น้ ฐานและดีเลย์ หน่ วงเวลา เริ่มทํางานที่นี่เมื่อจ่ายไฟ Event ทํางานวนลูปไปเรื่อยๆ แสดงตัวเลขที่ LED 5x5 แสดง icon ที่ LED 5x5 รูปแบบ icon แสดงข้อความที่ LED 5x5


Project ที่ 2 นับเลขขึน้ ทีละ 1 ค่า

หัวข้อ Variables


ชุดคําสัง่

คําสังแสดงผลพื ่ น้ ฐานและดีเลย์ หน่ วงเวลา เคลียร์หน้ าจอ แสดงลูกศรบอกทิศทาง

แสดง LED ตามตําแหน่ งที่ต้องการ


Project ที่ 3 ลูกศร ชี้ทิศทาง หัวข้อ Loops


ชุดคําสัง่

ชุดคําสังรั ่ บค่าอินพุตต่างๆ B A+B

ทํางานเมื่อกดสวิตช์ Event

ทํางานเมื่อเกิด Event ต่างๆ เกี่ยวข้องกับ Accelerometer


Project ที่ 4 ลูกเต๋า 0-6 ตัวเลข


ชุดคําสัง่

ชุดคําสังรั ่ บค่าอินพุตต่างๆ ทํางานเมื่อเอามือแตะขา พร้อมกับ GND ทํางานได้ดีเมื่อใช่ถ่าน

เมื่อเอามือออกจึงทํางาน คืนค่าจริงเมื่อกดสวิตช์ (ใช้กบั เงื่อนไข)


Project ที่ 5 เพิ่ม ลด ค่าด้วย if


ชุดคําสัง่

ชุดคําสังรั ่ บค่าอินพุตต่างๆ คืนค่าจริงเมื่อขาพอร์ต ถูกสัมผัสพร้อม GND ทํางานได้ดีเมื่อใช่ถ่าน

P0 P1 P2

คืนค่าความเร่ง ในแนวแกนต่างๆ 0-1023


ชุดคําสัง่

ชุดคําสังรั ่ บค่าอินพุตต่างๆ คืนค่าระดับความสว่าง 0-255 ใช้ LED เป็ นเซนเซอร์ !!!

คืนค่าทิศทาง 0-360 องศา


Project ที่ 6 ชี้ทิศทางไปทางเหนื อ หัวข้อ Math

เมื่อใช้ครัง้ แรก จะต้อง Calibrate ก่อน โดยหน้ าจอจะแสดงข้อความ DRAWING CIRCLE เพื่อให้เราเอียงบอร์ดให้ LED แสดงรูปวงกลมครบทุกด้าน


ชุดคําสัง่

ชุดคําสังรั ่ บค่าอินพุตต่างๆ คืนค่าอุณหภูมิ ของ CPU -5 ถึง 50 องศา คืนค่า องศาการหมุน +/- 180 pitch มุมยก (บนล่าง) roll มุมเอียง (ซ้ายขวา)

คืนค่าความเข้มสนามแม่เหล็ก (microteslas)


ชุดคําสัง่

ชุดคําสังรั ่ บค่าอินพุตต่างๆ กําหนดค่าสูงสุดของความเร่ง

คืนค่าเวลาตัง้ แต่โปรแกรมเริ่มทํางาน หน่ วยเป็ นมิลลิวินาที


Project ที่ 7 แสดงเวลาตัง้ แต่เริ่มทํางาน


ชุดคําสัง่

การแสดงผลที่ LED 5x5 จุด ให้ LED ติดในตําแหน่ งพิกดั x,y ให้ LED ดับในตําแหน่ งพิกดั x,y สลับสถานะ LED ในตําแหน่ งพิกดั x,y คืนค่าสถานะ LED ในพิกดั x,y ถ้าติดเป็ นจริง ถ้าดับเป็ นเท็จ พล็อตค่าข้อมูลลง LED โดยระบุค่าสูงสุด ได้ ค่าสูงสุด


ชุดคําสัง่

การแสดงผลที่ LED 5x5 จุด คืนค่าความสว่างของ LED 0-255 กําหนดค่าความสว่างให้ LED 0-255 เปิด/ปิดการแสดงผล LED เพื่อเอาขาพอร์ตไปใช้ P3,P4,P6,P7,P9,P10 หยุดการแสดงข้อความ ที่มีการเลื่อนข้อความ


ชุดคําสัง่

การวนลูปทําซํา้

วนลูปจนครบจํานวนรอบที่กาํ หนด นําตัวแปรมาใช้ด้วย วนลูปจนครบจํานวนครัง้ ที่กาํ หนด เท่ากับ


ชุดคําสัง่

การวนลูปทําซํา้ วนลูปไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็ นเท็จ


Project ที่ 8 ทดสอบการวนลูปตามเงื่อนไข


ชุดคําสัง่

การเปรียบเทียบข้อมูลและลอจิก ถ้าเงื่อนไขเป็ นจริง ทําคําสังในช่ ่ อง then ที่ตามมา ปรับเปลี่ยนรูปแบบ if else if ได้ด้วย

คําสัง่ if : else if ถ้าเงื่อนไขแรกไม่เป็ นจริง ตรวจสอบเงื่อนไขต่อไป else ถ้าไม่ตรงกับเงื่อนไขก่อนหน้ าให้ทาํ ที่นี่


ชุดคําสัง่

การเปรียบเทียบข้อมูลและลอจิก สมการเปรียบเทียบค่า ถ้าเป็ นจริงให้ผลลัพธ์เป็ นจริง

ถ้าหน้ าและหลังจริงให้ค่าเป็ นจริง ถ้าหน้ าหรือหลังจริงให้ค่าเป็ นจริง ถ้าจริงให้ค่าเป็ นเท็จ ถ้าเท็จให้ค่าเป็ นจริง สถานะทางลอจิกเป็ นได้แค่จริงกับเท็จ


ชุดคําสัง่

การจัดการกับตัวแปร สร้างตัวแปร เมื่อสร้างแล้วจะมีไอคอนตัวแปรให้ใช้

ชื่อตัวแปรมาตรฐานที่ถกู สร้างขึน้ ไว้แล้ว กําหนดค่าตัวแปร เพิ่มค่า/ลดค่า


ชุดคําสัง่

ิ ตศาสตร์และตัวเลข ชุดคําสังประมวลผลคณ ่ คืนค่าผลลัพธ์จากการบวก ลบ คูณ หาร ยกกําลัง

ค่าข้อมูลตัวเลข คืนค่าตัวเลขสุ่ม จากค่า 0 ถึงค่าที่กาํ หนด คืนค่าลอจิก ระหว่าง จริง กับ เท็จ


ชุดคําสัง่

ิ ตศาสตร์และตัวเลข ชุดคําสังประมวลผลคณ ่ คืนค่าเศษจากการหารตัวเลข ค่าน้ อยจากค่า 2 ค่า ค่ามากจากค่า 2 ค่า ค่า absolute ของค่าตัวเลข เปลี่ยนข้อมูลตัวเลขให้เป็ นข้อความ


ชุดคําสัง่

ควบคุมการสร้างเสียงดนตรีผา่ นขา P0 เล่นเสียงตามความถี่และเวลาที่กาํ หนดผ่าน P0 เล่นเสียงตามความถี่ที่กาํ หนดผ่าน P0 ช่วงเวลาหยุดหลังสร้างเสียง คืนค่าความถี่ของตัวโน๊ ตดนตรี คืนค่าระยะเวลาของจังหวะหน่ วย มิลลิวินาที คืนค่าจังหวะต่อนาที beats per minute ปรับค่าจังหวะต่อนาที (เพิ่มหรือลดลง) กําหนดค่าจังหวะต่อนาที ใหม่


ชุดคําสัง่

ควบคุมการสร้างเสียงดนตรีผา่ นขา P0 เรียกเสียงดนตรีที่สร้างไว้มาเล่น ตามจํานวนรอบที่กาํ หนด

รายชื่อเพลงที่มี


ชุดคําสัง่

ควบคุมการสื่อสารระหว่างบอร์ดด้วย Bluetooth ส่งข้อมูลออกไปในรูปแบบตัวเลข ส่งข้อมูลออกไปในรูปแบบชื่อข้อมูลพร้อมตัวเลข ส่งข้อมูลออกไปในรูปแบบตัวอักษร กําหนดช่องสัญญาณที่ใช้สื่อสาร 0 ถึง 255

เหตุการณ์เมื่อข้อมูลถูกส่งเข้ามา โดย

receivedNumber : คือค่าตัวเลขรับเข้ามา receivedString : คือค่าข้อมูลตัวอักษรที่รบั เข้ามา time : คือเวลาในระบบของ micro:bit ขณะที่ส่งข้อมูล serial : คือ serial number ของบอร์ด micro:bit signal : คือความแรงสัญญาณ ค่า -128 ตํา่ สุด -42 แรงสุด

ตัวแปรจะถูกสร้าง


ชุดคําสัง่

ควบคุมการสื่อสารระหว่างบอร์ดด้วย Bluetooth กําหนดค่ากําลังส่ง 0 ถึง 7

ค่ากําลังส่งอยู่ระหว่าง -30 dBm ถึง 4 dBm เมื่อกําหนดค่าเท่ากับ 7 จะสามารถรับส่งข้อมูลได้ 70 เมตรในที่โล่ง

กําหนดว่าจะให้ส่งค่า serial number ไปพร้อมกับการส่งข้อมูลหรือไม่

ส่งแพ็กเก็ตข้อมูลที่รบั ได้ ไปยังการสื่อสารอนุกรม ในรูปแบบ JSON {v:ValueSent,t:MicrobitTimeAlive,s:SerialNumber}


กฤษดา ใจเย็น

บริษทั อินโนเวตีฟ เอ็กเพอริเมนต์ จํากัด

108 ซอยสุขมุ วิท 101/2 ถ.สุขมุ วิท แขวงบางนา เขตบางนา กรุงเทพฯ 10260 โทรศัพท์ 027477001-4 โทรสาร 02-7477005

www.inex.co.th facebook.com/innovativeexperiment

Email : kritsada@inex.co.th


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.