วันจันทร์ที่ 9 ธันวาคม พ.ศ. 2556

ให้นักเรียนสมัครเรียนในรายวิชาเองใน MOODLE LMS-Self enrolment(นักเรียน)

....ครั้งก่อนเพิ่มสมาชิกคราวละมากๆ ไปแล้ว แต่บางครั้งก็มีการเพิ่มนักเรียนเข้าไปอีกภายหลัง เมื่อเพิ่มสมาชิกไปแล้วคุณครูอาจจะให้นักเรียนเข้าไปสมัครในแต่ละรายวิชาเอง ซึ่งจะทำเช่นนั้นได้จะต้องเปิดใช้งานการสมัครเข้าเรียนในรายวิชาเอง (Self enrolment) ตามรูป

ลำดับขั้นตอน
1. เลือกรายวิชา
2. ไปหัวข้อตั้งค่า (Setting) > สมาชิก > Enrolment methods แล้วเปิดตา Self enrolment (นักเรียน)


วันพฤหัสบดีที่ 28 พฤศจิกายน พ.ศ. 2556

วันจันทร์ที่ 25 พฤศจิกายน พ.ศ. 2556

การใช้เซนเซอร์วัดระยะ ใน IPST-MicroBox SE


ในกล่อง IPST-MicroBox SE ไม่มีอุปกรณ์การวัดระยะ แต่ที่โรงเรียนมี Sharp GP2D120X เลยเอามาลองทำ

อุปกรณ์
1. บอร์ด IPST-MicroBox SE
2. เซนเซอร์วัดระยะ GP2D120X
3. Piazo Speaker

การต่อเซนเซอร์
1. ต่อเซนเซอร์วัดระยะ GP2D120X ที่พอร์ต A0
2. ต่อ Piazo Speaker ที่พอร์ต 19

ตัวอย่างโปรแกรม  *** อย่าลืม #include <ipst_gp2d120_lib.h>


ถ้าต้องการให้มีีเสียงเตือนเมื่อเมื่อถึงระยะที่กำหนด


*** แต่เสียงไม่ค่อยดังเท่าไร

วันอาทิตย์ที่ 29 กันยายน พ.ศ. 2556

LineFollowing (กลัวหาย)

Basic

Note that this is a very (very) crude algorithm, with three parameter that affect the behaviour:
  • The initial speed of the m3pi
  • How far off the centre the m3pi is before corrective action is taken
  • How aggressive the corrective action is
#include "mbed.h"
#include "m3pi.h"
 
m3pi m3pi;
 
int main() {
 
    // Parameters that affect the performance
    float speed = 0.2;
    float correction = 0.1;   
    float threshold = 0.5;
 
    m3pi.locate(0,1);
    m3pi.printf("Line Flw");
 
    wait(2.0);
    
    m3pi.sensor_auto_calibrate();
    
    while (1) {
 
        // -1.0 is far left, 1.0 is far right, 0.0 in the middle
        float position_of_line = m3pi.line_position();
 
        // Line is more than the threshold to the right, slow the left motor
        if (position_of_line > threshold) {
            m3pi.right_motor(speed);
            m3pi.left_motor(speed-correction);
        }
 
        // Line is more than 50% to the left, slow the right motor
        else if (position_of_line < -threshold) {
            m3pi.left_motor(speed);
            m3pi.right_motor(speed-correction);
        }
 
        // Line is in the middle
        else {
            m3pi.forward(speed);
        }
    }
}


PID

#include "mbed.h"
#include "m3pi.h"
 
m3pi m3pi;
 
// Minimum and maximum motor speeds
#define MAX 1.0
#define MIN 0
 
// PID terms
#define P_TERM 1
#define I_TERM 0
#define D_TERM 20
 
int main() {
 
    m3pi.locate(0,1);
    m3pi.printf("Line PID");
 
    wait(2.0);
 
    m3pi.sensor_auto_calibrate();
 
    float right;
    float left;
    float current_pos_of_line = 0.0;
    float previous_pos_of_line = 0.0;
    float derivative,proportional,integral = 0;
    float power;
    float speed = MAX;
    
    while (1) {
 
        // Get the position of the line.
        current_pos_of_line = m3pi.line_position();        
        proportional = current_pos_of_line;
        
        // Compute the derivative
        derivative = current_pos_of_line - previous_pos_of_line;
        
        // Compute the integral
        integral += proportional;
        
        // Remember the last position.
        previous_pos_of_line = current_pos_of_line;
        
        // Compute the power
        power = (proportional * (P_TERM) ) + (integral*(I_TERM)) + (derivative*(D_TERM)) ;
        
        // Compute new speeds   
        right = speed+power;
        left  = speed-power;
        
        // limit checks
        if (right < MIN)
            right = MIN;
        else if (right > MAX)
            right = MAX;
            
        if (left < MIN)
            left = MIN;
        else if (left > MAX)
            left = MAX;
            
       // set speed 
        m3pi.left_motor(left);
        m3pi.right_motor(right);
 
    }
}

Ref.
http://mbed.org/cookbook/m3pi-LineFollowing

วันพฤหัสบดีที่ 19 กันยายน พ.ศ. 2556

การใช้เซนเซอร์วัดอุณหภูมิใน IPST++

เพราะอยากทันสมัยเลย Upgrade IPST-MicroBox รุ่นแรก ให้เป็น IPST++ ภารกิจเลยตกอยู่ที่ครู (นักเรียนสมัยใหม่ รอคอยหนอนจากครู) เนื่องจากของใหม่จึงลองผิดลองถูก ได้บ้างไม่ได้บ้าง (จริงๆ มีคู่มือ และ Help แต่มันตอบโจทย์ได้ไม่หมด ไม่เหมือนคู่มือรุ่นดั้งเดิม) มาดูตัวอย่างการแสดงค่าอุณหภูมิที่ LCD โดยใช้เซนเซอร์วัดอุณหภูมิ (ZX-Termister)


เมื่อต้องการเพิ่มเสียงเตือนในกรณีที่อุณหูมิสูงกว่า 30 องศา (การแปลงค่าอุณหภูมิให้ได้ค่าเป็นองศาควรศึกษาเพิ่มเติม)





หรือต้องการให้หลอดไฟติดเมื่ออุณหภูมิสูงกว่า 30 องศา




ประยุกต์ใช้ตามความเหมาะสม

วันพุธที่ 11 กันยายน พ.ศ. 2556

ปั้นเด็กหุ่นยนต์เตรียมงานศิลปหัตถกรรมนักเรียน

          ได้นักเรียนชั้นมัธยมศึกษาปีที่ 1 มา 3 คน ไม่มีพื้นฐานความรู้เรื่องหุ่นยนต์...ก็เลยให้เขาเล่นโปรแกรม Robomind เพื่อให้เข้าใจกระบวนการคิด ขั้นตอน กระบวนการเขียนโปรแกรม (แบบเร่งด่วน)
          เลยทำสนามใน Robomind เลียนแบบสนาม สพฐ.

ดาวน์โหลดสนาม [ ที่นี่เลย ]
โปรแกรม Robomind [ ที่นี่เลย ]

วันอาทิตย์ที่ 1 กันยายน พ.ศ. 2556

Brixc Command Center สำหรับ EV3 และ Firmware NXT ตัวใหม่

ใครที่ใช้ Brixc Command Center ตอนนี้ใช้สำหรับ EV3 ได้แล้วน่ะ แต่เป็นรุ่นทดสอบ และก็มี Firmware รุ่นใหม่ด้วย ลองเอาไปใช้ดูครับ





โหลดตามลิงค์นี้เลยจ้า http://bricxcc.sourceforge.net/test_releases/

วันพฤหัสบดีที่ 29 สิงหาคม พ.ศ. 2556

การใช้เซนเซอร์สีของ LEGO ใน Brixc Command Center

เซนเซอร์สีที่นำมาใช้ในหุ่นยนต์ MindStorms NXT มาจาก 2 ค่าย คือ HiTechnic และของ LEGO เอง เซนเซอร์ทั้ง 2 ค่ายมีการแบ่งพื้นที่ค่าสีที่ต่างกัน

HiTechnic NXT Color Sensor













การแบ่งโซนของสีใน HiTechnic NXT Color Sensor















รูปแบบการนำใช้งาน


สำหรับเซนเซอร์สีของ LEGO
 
LEGO Mindstorms NXT Color Sensor


การแบ่งโซนของสีใน Mindstorms NXT Color Sensor


รูปแบบการนำใช้งาน




วันจันทร์ที่ 26 สิงหาคม พ.ศ. 2556

การวัดระยะใน IPST++

และแล้วก็พบ....

ท่านใดที่ใช้ IPST-MicroBox รุ่นเก่าแล้ว Upgrade เป็น IPST++ และใช้ Wiring ถ้าใช้โมดูลวัดระยะทาง อย่าลืม #include <ipst_gp2d120_lib.h> น่ะครับ จึงสามารถใช้ฟังก์ชัน getdist() ได้


วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

กรอก Scan Tools 3 แบบบ้านๆ

*** ท่านต้องกรอกนักเรียนแบบสมบูรณ์มาแล้ว 1 ฅน

1. คลิกขวาเปิด SQL Server Management Studio Express เลือก Run as administrator (ตอบ Yes)



2. คลิกปุ่ม Connect



















3. Dubble Click ที่ Databases > Student_watch_db > table


















4. หาตาราง student หรือ dbo.student แล้วคลิกขวา ตารางที่ท่านจะกรอกข้อมูลก็ปรากฎขึ้น



















5. ตัวอย่างตาราง




*** ถ้ากรอกแล้วข้อมูลไม่แสดงที่ Scan tools 3 ให้ท่านกรุณาช่วยตรวจสอบสดมภ์ st_status จะต้องเป็น 1

++++++++++++++++
อีก 1 วิธีที่หวังว่าท่านคงมีความสุขขึ้นน่ะครับ >>> โหลด PDF File

วันพฤหัสบดีที่ 4 กรกฎาคม พ.ศ. 2556

วันอังคารที่ 2 กรกฎาคม พ.ศ. 2556

ม.1/5 เรียนการใช้ฟังก์ชัน printf()

ม.1/5 เรียนการใช้ฟังก์ชัน printf() และมีกิจกรรมฝึกการแสดงออกโดยมาร้องเพลงและเล่นอาคูเลเล่



ผลงานนักเรียน

ฝึกประกอบเครื่องคอมพิวเตอร์





นักเรียนชั้น ม.4/6ข ฝึกประกอบเครื่องคอมพิวเตอร์

วันศุกร์ที่ 17 พฤษภาคม พ.ศ. 2556

แผนหลัก ม.4, ม.5 ปี 2555

แผนหลัก ม.4 ปี 2555 เอาไปปรับให้เหมาะสมกับฐานะตนเองครับ [ คลิกโหลด ไม่ใช่คลิกโลด ]
แผนหลัก ม.5 ปี 2555 เอาไปปรับให้เหมาะสมกับฐานะตนเองครับ [ คลิกโหลด ไม่ใช่คลิกโลด ]

วันเสาร์ที่ 4 พฤษภาคม พ.ศ. 2556

ใส่ค่าอีมี่ใหม่ทำยังไง

เนื่องจาก Flash ROM เจ้า Android N7200 CPU MTK6577 ทำให้ IMEI หายไป กว่าจะค้นพบวิธีใส่ IMEI เข้าไปใหม่ใช้เวลาหลายวัน สรุปขั้นตอนดังนี้
1. เข้าไปใน EngineerMode โดยกด *#*#3646633#*#*
2. หาเมนู CDS Information > Radio Information > Phone > Sim1 (สำหรับ IMEI ตัวที่ 1)
3. พิมพ์ตัว e (Android จะขึ้นข้อความ  AT+EGMR=1,7,"Number IMEI1") ใส่ IMEI ไป แล้วกดปุ่ม Send
4. จากนั้นออกจาก EngineerMode แล้ว Restart โทรศัพท์
5. พิมพ์รหัสเพื่อเช็ค IMEI ที่ใส่เข้าไปใหม่อีกครั้ง

วันศุกร์ที่ 26 เมษายน พ.ศ. 2556

อบรมหุ่นยนต์ POP-BOT XT นักเรียนโปรแกรม EP ชั้น ม.1

          หลังจากได้ดูตัวอย่างภาพยนตร์เกี่ยวกับหุ่นยนต์แล้ว นักเรียนก็มาเขียนขั้นตอนการต้มบะหมี่กึ่งสำเร็จรูปจากนั้นก็มาเล่นเกมส์การแก้ปัญหา
ตั้งใจกันทุกคน
วางแผน Light Bot
เขียนโปรแกรมควบคุมหุ่นยนต์ POP-BOT XT