กฤษดา ใจเย็น สนุกไปกับการเขียน ... ·...

Post on 29-Jan-2020

6 views 0 download

Transcript of กฤษดา ใจเย็น สนุกไปกับการเขียน ... ·...

สนกไปกบการเขยนโปรแกรมเบองตนดวย micro:bit กฤษดา ใจเยน

https://1drv.ms/p/s!AjyV7tgYBxHbhfk5RiQNXI2nC5OfRA

เมอเสยบเขากบคอมพวเตอร มองเปนแฟลชไดรฟ

ผาน USBคอมพวเตอร

ถาน AA 2 กอน 3V

คบดานขาง 3V คบทจดตอ 3V แหลงจายไฟขว USB ภายนอก

ใชปากคบทาโครงงานตางๆ งายๆ

ใชสกร 3 มม. เพอชวยนาไฟฟากได

มขาใหใชงานมากถง 21 ขา

ผานขวตอแบบสลอต

LED แบบ NeoPixel (P8)

ลาโพงเปยโซ (P0)

จดเชอมตอมาตรฐาน inex

จดเชอมตอแบบ IDC ตวเมย

ตวตานทานปรบคาได (P2) ทดสอบอานคาอะนาลอก

สวตช A และ B ตอตรงกบ micro:bit

จดตอขยาย I2C บส

คอนเนกเตอรเสยบ micro:bit

เขยนโคดกบ micro:bitใหเขาไปท microbit.orgเลอกหวขอ Let's Code

ซอฟตแวร MakeCode

byMicrosoft

ภาษา Python

https://codewith.mu/ micro Python ทางานแบบ Offline

ภาษา C กบ Arduino

makeCode ขนตอนการพฒนาโปรแกรม

ลากบลอกเพอสรางโคดโปรแกรม

ทดสอบผาน Simulator

ตอบอรด micro:bit ผาน USB

copy ไฟลไสไดรฟของ micro:bit

จาลองการทางาน

เลอนขอความ

ปรบเปลยนดวย JavaScript

เมอเปลยนกลบบลอกจะกลายเปนสเทา

ไฟกะพรบ

Pair device เพอเชอมตอ micro:bit ผาน webUSB (Google Chrome เทานน)

กดดาวนโหลด ไดทนท เพอสงไฟลไปยง nano:bitใชเพอการสอสารขอมลอนกรมไดดวยรองรบเฉพาะ Google Chrome และ Windows 10 เทานน

ตรวจสอบเหตการณกดปม A B

การเอยง แสดงตวเลข

สมคาตวเลขเมอมการเขยา

นบคาตวเลข เพมคาขนเรอยๆ

https://makecode.microbit.org/_49113v99qK15

นบคาตวเลข เพมคา/ลดคาดวยการกดปม

https://makecode.microbit.org/_Eyga9CYEJ867

https://makecode.microbit.org/ ergJ9h9a2Pk0

ใหคาเปนจรงเมอสวตชถกกด

ใชคาสง if ตรวจสอบเงอนไขจากการกดสวตช A B

นบคาขนเรอยๆ ถามากกวา 9 เคลยรเปน 0

https://makecode.microbit.org/_fkFak8ghjM7T

forever หลายตวทางานดวยกนไดMulti Tasking

Ex04 ระบบแจงเตอนอณหภมสงเกนดวยเสยง

ถาอณหภมสงเกน 29 องศา ใหมเสยงออกลาโพงขณะเดยวกนให หนาตาง Console และ LED 5x5 แสดงคาอณหภมอยางตอเนองไปดวย

Ex07 อานคาขอมลจากเซนเซอรวดความเรง acceleration

ตวอยางน ทดสอบอานคาความเอยงในแนวแกน x นาคามาแสดงท LED 5x5 โดยถาเปนซมเลเตอร จะเหนคาของตวเลข ax มการเปลยนแปลงในชวง -1023 ถง 1023

ใชเพออานคาความเรงตามแนวแกน XYZคาอยในชวง -1023 ถง 1023

Ex08 ทดสอบอานคาในแนวแกน x แปลงคาเพอแสดงคา 0-4 (เลขทศนยม)

จากระยะ -1023 ถง 1023 ถาตองการเปลยนแปลงคา ใหอยในชวง 0-4อาจเขยนเปนสมการคณตศาสตรงายๆ ดงนผลลพธ = (ax+1023) / 400โดยคา ax คอคาทอานไดจาก accelerationตวอยาง ถา ax เทากบ 0ผลลพธ = (0+1023)/400 = 2.56ผลลพธจานวนเตมคอ 2

การทดสอบ ทาการเอยง micro:bit ไปทางดานซายหรอดานขวา หนาจอจะแสดงตวเลขอยในชวง 0-4 (ในรปของเลขทศนยม)

Ex09 ทดสอบอานคาในแนวแกน x แปลงคาเพอแสดงคา 0-4 (เปนจานวนเตม)

คาสงเพมเตมทเกยวของ เพอปดเลขใหกลายเปนจานวนเตม

ถาคามากกวาหรอเทากบ 2.5 ปดขน

ปดคาขน

ปดคาลง

ถาคาเปนบวกปดขน คาเปนลบปดลง

Ex10 ทดสอบอานคาในแนวแกน x แปลงคาเพอแสดงท LED แนวนอน 5 ดวง

การทดสอบ เมอเอยงบอรดไปทางดานซาย LED จะตดทตาแหนงซายสด เมอเลอนบอรดไปทางขวา LED จะเลอนตาแหนงตดไปเรอยๆ โดยคาสง plot x จะกาหนดคาแกน y คงทไวทหมายเลข 2 สวนแกน x เปลยนแปลงตามการเอยง ทกๆ ครงกอนการแสดง LED จะให clear screen เพอดบ LED ทงหมดกอน จะไดไมม LED คงเหลอตดคางอยทหนาจอ

ให LED ตดในพกด x และ y ทกาหนด ให LED ทตดอยทงหมดดบ

คาสงทตองใชกบกจกรรมน

Ex11 แสดงผล LED ดวยพกดทง x และ y

การแสดง LED จดเดยวแตควบคมตาแหนงดวยคาความเอยงทงแกน x และแกน y โดยในทนจะสรางตวแปร x และ y ขนมาเพอเกบคาความเอยงทงสองแนวกอน เพอใหโคด plot x y ในบรรทดสดทายไมยาวเกนไปการทดสอบ สามารถเอยง micro:bit ซายขวา บนลาง เพอให LED เคลอนทไปยงตาแหนงทตองการได

https://makecode.microbit.org/_Ym2W1WY90Fmt

Ex12 เกมตามหาแสงไฟ

การทางานของโปรแกรม

ตวอยางเกมสน จะใช LED 5x5 เปนหนาทหลก โดยใชคาสง plot สาหรบแสดงผล LED unplot สาหรบปดการแสดงผลในตาแหนงทระบ กอนอน โปรแกรมจะสมตวเลข 0 ถง 4 เพอระบพกดทง x และ y กอน จากนนจะใหแสดงผล LED ทเกดขนจากการเอยงของเรา โดยเพอใหเกดความตางระหวาง LED ของไฟกบของเรา LED ของเราจงจาเปนตองเปนลกษณะกะพรบ สงทเราตองทาคอ พยายามเอยงให LED ของเราไปทบตาแหนงของ LED ของไฟ โดยถาเกดการทบกน เงอนไขการตรวจสอบเปนจรง จะทาการปดไฟในตาแหนงนน และสมไฟในตาแหนงใหม ทาแบบนไปเรอยๆ

ใหคาแสงจาก LED 5x5

https://makecode.microbit.org/_Fxc9jmdT4iVX

แสดงหนายมเมอไดรบแสง

0-255micro:bit ใชคณสมบตเซมคอนดคเตอรของ

เมอไดรบแสงจะเปลยนเปนแรงดนไฟฟา

https://makecode.microbit.org/_Dxviq3JvhDXs

LED ไลตดทละดวงในแนวนอน

https://makecode.microbit.org/_a7a3vWDM9dWd

LED ไลตดทละดวงจนครบ 25 ดวง

แสดงคาอณหภมดวย Bargraph

การแสดงดวยตวเลขใชเวลานานในการเหนผลลพธplot bar graph ใชแสดงผลออกหนา Console ไดดวย

ดผลผานหนาตาง Console

โคดเดมกอนหนาน

ใช Show console Device ดคาอณหภม

วดอณหภมจาก CPU

วดคาแสงจากคณสมบต เซมคอนดคเตอรของ LED

อานคาขอมลหลายชด แสดงท console

กราฟแสดงคาอณหภม กบคาแสง

อานคาอะนาลอกจากตวตานทานปรบคาได

คาอะนาลอกทอานไดจากตวตานทานปรบคาได มขนาด 10 บต ดงนนคาทอานไดจะมชวงตงแต 0-1023สามารถทดลองหมนปรบคาเพอเหนการเปลยนแปลงท LED 5x5 ได

ตวตานทานปรบคาไดตอชอง P2

ตวตานทานปรบคาไดควบคมเสยง

ตวอยางนใหนาคาอะนาลอกทอานได (0-1023) คณดวย 3เพอใหคาอยในชวง 0-3069 นาคาเปนความถเสยงสงออกลาโพง

ลาโพงเปยโซ ตวตานทานปรบคาไดใช ringtone เพอกาหนดเสยงเปนความถ Hz และดงตอเนอง

ปรบเสยงดวยตวตานทานปรบคาได หยดทางานเมอกดปม A

ใช rset(ms) เพอหยดเสยง

https://makecode.microbit.org/_h4eALF6EcVwP

การเพม Extension NeoPixel

Author: AdaFruitขอบคณผทา Extension ใหเราใช

ไฟกะพรบแดง เขยวท LED ทง 8 ดวง

ขาทเชอมตอจานวน LED

ความสวาง (สงสด 255)

https://makecode.microbit.org/_DUWDsHPd51DV

LED NeoPixel ไลตดเปนสรง

https://makecode.microbit.org/_RTJ3ujLTb7V7

อานคาอะนาลอกจาก P2 แสดงบารกราฟดวย NeoPixel

https://makecode.microbit.org/_6mwFsy5861Az

Color Wheel วงลอส

คาส0-359

ความอมส0-100

ความสวาง0-100

ปรบการแสดงส ดวยการใชคา hue

https://makecode.microbit.org/_UVygp0ivohuD

ตาแหนงหลอดไฟ 0-7

มาจาก

คาสไลลาดบ

รบสงขอมลตวอกษร ผานการสอสารไรสาย radio

ถาอยใน Group เดยวกน จะสามารถสอสารกนได

https://makecode.microbit.org/_WHPD85cq9d32

รบสงขอมลตวเลข แสดงเสยงออกทลาโพงเปยโซ

https://makecode.microbit.org/_givHXPhFRRPu

iOS apps ดาวนโหลดโคดผาน Bluetoothทางานบน Iphone หรอ Ipad

ดาวนโหลดผาน Bluetoothม Utility เสรมใหใชงานเยอะ

ใชเปนรโมตบลทธไดดวย

Android ไมแนะนาดาวนโหลดโคดผาน Bluetoothทดสอบแลวไมเสถยร

ใชเวลาดาวนโหลดนานไมม Utility เสรมใหใชงาน

OTG เปนคาตอบ

Android ดาวนโหลดโคดผาน OTG

OTG สาหรบ micro USB

OTG สาหรบ type C

เชอมตอ micro:bit เขากบโทรศพท

Firmware ของ micro:bit จะตอง เวอรชน 0249 ขนไป

micro:bit การตรวจสอบเวอรชน Firmware

ปจจบนเวอรชนลาสดคอ 0253

ดาวนโหลดไดจากทน

http://bit.ly/2vj62BZ

micro:bit การอพเดต Firmware

1. กดปม Reset คางไว

2. เสยบสายเขากบคอมพวเตอร

3. จะพบไดรฟชอ MAINTENANCE

4. คดลอกไฟล0253_kl26z_microbit_0x8000.hexใสลงในไดรฟ

http://bit.ly/2vj62BZ

เขยนโคด กดดาวนโหลด

ไดไฟลทตองการเกบไวในเครอง

คดลอกใสในไดรฟของ micro:bit

Android ดาวนโหลดผาน OTG Copy File

Android ดาวนโหลดผาน OTG Pair device WebUSB

งายทสดสาหรบการเขยนโคด

makeCode เวอรชน Offline

1. จะตอง Online ครงแรกกอน

2. โหลดรปภาพตางๆ ใหครบ

makeCode เวอรชน Offline 4. Bookmark หนานไว

เมอเปดหนานอกครง ขณะไมตออนเตอรเนต จะยงคงใชไดเหมอนเดม

makeCode windows 10 ตดตงผาน Microsoft Store

1. พมพคนหา micro:bit

สาหรบผใชงาน Windows 10 ทม Microsoft Store ตดตงมาเรยบรอยแลว สามารถตดตง micro:bit ผาน Microsoft Store ไดเลย

2. เลอก Install เพอตดตง

iCON ท Windows 10

makeCode Offline จากตนตารบ

https://makecode.microbit.org/offline-app

ทาง MakeCode ตนตารบกทารนออฟไลนออกมาเอง แตรองรบ Windows เฉพาะ 64 บต เทานนโดยเรยกวา MakeCode Offline App ตอนนยงเปนเวอรชน PRE-RELEASE อย โดยสามารถดาวนโหลดผานลงก

iCON สาหรบ MakeCode

เทาทลองเลน ยงไมสมบรณมากนก

makeCode Version Offline จรงๆ

http://cdn.kittenbot.cn/makecode/win/Makecode Setup 3.5.0.exe

ขอดของเวอรชนน

เวอรชนนตองยกความดใหกบ kittenbot.cc ททาซอฟตแวรตวนขนมา โดยสามารถเขาไปดาวนโหลด MakeCode แบบ Offline ไดท

1. ทางานไดแบบ Offline ไมตองตออนเตอรเนต

2. สามารถดาวนโหลดโคดใส micro:bit ไดทนท โดยไมตองใชวธการ copy

3. สามารถ ดงคาขอมลจาก Serial Port (การสอสารอนกรมระหวาง micro:bit กบคอมพวเตอรผานสาย USB ) มาแสดงในรปแบบตวเลขและกราฟ แทนการแสดงผลขอมลดวย LED 5x5 อนนสะดวกมาก อยากใหลองครบ

makeCode Online เวอรชน BETA

https://makecode.microbit.org/beta

กอนจะออกรนใหม ทาง MakeCode กจะทารน BETA มาใหทดสอบกนกอน โดยเพมความสามารถตางๆ ขนหลายอยาง ตามลงกนไดเลย

ฟงกชน สงคา Parameters ใหฟงกชนได

แสดงหนาตวเองซอนหลงได

จดการลบ เปด คดลอก Project มากมายททาไวได

ตวชวยสอน แนะนาใหทาตามทละขน

แกไขบลอกเซอรโวมอเตอรใหม ใหยดหยนมากขน

Event ของ Radio ดงตวแปรขอมล มาไดทนท

ฟงกชนเปลยนตวเลขเปนขอความ

สวนทปรบเปลยนใหมหลกๆ

ชดคาสง

แสดงตวเลข ถามากกวา 1 หลกใหเลอน

พลอตหลอด LED ตามตาแหนงทตองการ

แสดง ICON โดยเลอก Icon จากทมอย

แสดงขอความ ถามากกวา 1 ตวอกษรใหเลอน

เคลยรหนาจอ ปดการแสดงผล LED ทงหมดเรมตนทางาน เมอจายไฟ

ครงแรกจะทาทนกอน

ลป ทจะวนทาซาไปเรอยๆ และทางานอยเบองหลง

หนวงเวลา โดยจะหยดคางตามคาเวลาทกาหนด หนวยเปนมลลวนาท

แสดงลกศร แสดงสญลกษณลกศร 8 ทศ

ชดคาสง

กระตนใหทางานเมอกดสวตช

กระตนใหทางานเมอขยบบอรดแบบตางๆ

กระตนเมอสาผสทขาเทยบกบกราวด

กระตนเมอสาผสทขาแลวปลอย เทยบกบกราวด

ใหผลเปนจรงเมอสาผสขา

ใหผลเปนจรงเมอขยบบอรดแบบตางๆ

ใหผลเปนจรงเมอกดสวตช

ใหคาอณหภม (ของ CPU )

ใหคาแสงจาก LED 5x5

อานคาทศทางจากเขมทศ

อานคาความเรงตามแนวแกน XYZ

แสดงคาเวลานบจากเปดเครอง (มลลวนาท)

แสดงคาเวลานบจากเปดเครอง (ไมโครวนาท)

อานคาสนามแมเหลกตามแนวแกน XYZ

อานคาองศาของการเอยงบอรด

เรยกใชงานฟงกชนปรบแตงเขมทศ

กาหนดยานวดความเรง 1g 2g 4g 8g

ชดคาสง

กดปมสรางตวแปร เมอสรางแลวจะมไอคอนตวแปรใหใชงาน กาหนดคาตวแปร

เพมคา/ลดคา

ชดคาสง เกยวกบการวนลป

วนลปทาซาตามจานวนครง

วนลปไปเรอยๆ จนกระทงเงอนไขเปนเทจ

วนลปทาซาตามจานวนครงเรมจาก 0 ถงคาทกาหนด คาทกาหนดเปนตวแปรทนามาใชได

วนลปดงคาขอมลทอยใน List ออกมา

ชดคาสง

คนคาผลจาก บวก ลบ คณ หาร ยกกาลง

สมคาตวเลขจากชวงทกาหนด

สมผลลพธ จรงกบเทจ

คนคาเศษ จากผลการหาร

คนคานอยสด จาก 2 คา

คนคามากสดจาก 2 คา

คนคาบวกจากคาทระบ

คาสงคณตศาสตร พเศษคนคาชวงตวเลข จากชดตวเลขเดมทระบ

คนคา ตวเลข จากชวงตวเลขทถกจากดไว

ชดคาสง ถาเงอนไขเปนจรง ทาคาสงในชอง then ทตามมา

ปรบเปลยนรปแบบ if else if ไดดวย

คาสง if : else if ถาเงอนไขแรกไมเปนจรง ตรวจสอบเงอนไขตอไป

else ถาไมตรงกบเงอนไขกอนหนาใหทาทน

ปม + สามารถกดเพมเงอนไขelse หรอ else if ไดอก

ปม - สามารถกดลบเงอนไขelse หรอ else if ไดเมอไมตองการ

ชดคาสง

เปรยบเทยบคา ใหผลลพธ จรงกบเทจ

เทากบไมเทากบนอยกวานอยกวาหรอเทากบมากกวามากกวาหรอเทากบ

ทงสองเงอนไขเปนจรงทงค ผลลพธเปนจรง

เงอนไขอนใดอนหนงเปนจรง ผลลพธเปนจรง

ถาเปนจรงใหคาเปนเทจ ถาเปนเทจใหคาเปนจรง

Comparison : การเปรยบเทยบ Boolean : การจดการลอจก

ชดคาสง Radio

สงคาตวเลขออกอากาศ

สอสารระหวาง micro:bit ดวยบลทธ

สงคาขอความออกอากาศ

สงคาชดขอมลออกอากาศเมอขอมลตวเลขถกสงมาจะกระตนใหทางาน ขอมลเกบในตวแปรชอ reveivedNumber

เมอชดขอมลถกสงมาจะกระตนใหทางาน ขอมลเกบในตวแปรชอ name และ value

เมอขอความถกสงมาจะกระตนใหทางาน ขอมลเกบในตวแปรชอ reveivedString กาหนดชองสญญาณสาหรบรบสง 0-255

กาลงคากาลงสง

¡ÄÉ´Ò ã¨àÂç¹บรษท อนโนเวตฟ เอกเพอรเมนต จากด108 «ÍÂÊØ¢ØÁÇÔ· 101/2 ¶.ÊØ¢ØÁÇÔ·á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260â·ÃÈѾ· 027477001-4 â·ÃÊÒà 02-7477005

Email : kritsada@inex.co.thwww.inex.co.th