Arduino + LEDs + Fan = ลงชื่อเข้าใช้ "APPLAUSE" 6 ขั้นตอน (พร้อมรูปภาพ)

Arduino + LEDs + Fan = ลงชื่อเข้าใช้ "APPLAUSE" 6 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

Anonim

ฉันเห็นอุปกรณ์ POV (Persistence of Vision) เหล่านี้ใน Instructables อื่นและคิดว่าฉันอยากจะทำมันและฉันก็อยากได้เครื่องหมาย "APPLAUSE" ของตัวเอง การปรับปรุงครั้งต่อไปคือการทำให้มันเกิดขึ้นทุกครั้งที่ฉันเข้าห้อง:) อาจจะพูดว่า "และนี่คือชาร์ลี!" แต่นั่นเป็นอีกครั้ง

ดังนั้นฉันจึงมีแฟนที่โรงจอดรถอ่านหนังสือพบรหัสและด้านล่างเป็นวิดีโอของเครื่องที่ใช้งานจริง

ฉันเริ่มต้นด้วยรหัสที่ดีจากคำแนะนำโดย Scott Mitchell - "Arduino Bike POV" แต่สิ่งที่ฉันสรุปก็คือรหัสของเขาก็ลดลงอย่างมาก ฉันไม่สามารถทำงานได้ในตอนแรกดังนั้นฉันจึงเปลี่ยนรหัสต่อไป เปิดออกปัญหาของฉันไม่มีอะไรจะทำอย่างไรกับรหัส ดังนั้นฉันจะกลับไปที่รหัสของเขาและลองอีกครั้งเพราะเขาเป็นคนทั่วไปมากขึ้นและจะทำงานได้ง่ายขึ้นด้วยวลีที่แตกต่างกัน แต่สำหรับในภายหลังด้วย

วิดีโอด้านล่างแสดงถึงการทำงานของ POV ดูเหมือนจะไม่แตกหักหรือตัดการเชื่อมต่อในชีวิตจริงเช่นเดียวกับในวิดีโอ

วัสดุ:

ขั้นตอนที่ 1: รับสิ่งของ

รายการที่ใช้ในโครงการนี้:

พัดลมขนาดเล็ก - ขายโรงรถ - 2.00

อื่น ๆ ไม้ - ชั้นใต้ดินของฉัน - 0.00

ความยาวพลาสติก 15 คูณ 2.5 นิ้ว - ชั้นใต้ดินของฉัน - 0.00

an Arduino - ฉันใช้ Ardweeny จาก SolarBotics - ประมาณ 10.00

ไฟ LED สีแดง 7 ดวง - มี - 1.00

ตัวต้านทาน 7 - 330 โอห์ม - 3.00

Halls Sensor - ฉันได้มาจาก Adafruit - US5881LUA - 2.00

1 ตัวต้านทาน 10k ที่จะใช้กับเซ็นเซอร์ Halls - 1.00

แม่เหล็ก 2 อันจากร้านขายอุปกรณ์งานอดิเรกในท้องถิ่น - 1.00

ก็จะต้อง: ลวด, แบตเตอรี่ 9v, สกรู, อีพ็อกซี่ 5 นาที Loctite, PCB ขนาดเล็กจาก Radio Shack

ขั้นตอนที่ 2: เริ่มต้นการชุมนุม

1. ตัดไม้อัดขนาดเล็กขนาด 3 - 5 นิ้ว 5 ชิ้นแล้วนำไปผสมกับฮับพัดลม ตอนนี้อีพ็อกซี่เป็นเพียงสิ่งเดียวที่ถือชุด LED กับพัดลม บางทีความสัมพันธ์ของลวดเพื่อความปลอดภัยอาจจะดี ฉันคิดว่าฉันจะเพิ่มพวกเขาในภายหลัง

2. ฉันตัดชิ้นส่วนพลาสติกขนาด 15 คูณ 2.5 นิ้วจากบางสต็อกที่ฉันมี แผ่นพลาสติกสามารถหาได้ที่ Home Depot ฉันเดาขนาดและมันก็ดูดี

3. เจาะ 7 รูในปลายด้านหนึ่งห่างกันประมาณ 3/4 นิ้วสำหรับ LED ฉันพบขนาดสว่านที่อนุญาตให้ LED ถูกกดเข้าไปในรูค่อนข้างแน่น หากพวกเขาไม่พอดีฉันจะใช้กาวร้อนเพื่อยึดแทน

4. ใส่หลอด LED 7 ดวงเข้าไปในรู

5. ยึดพลาสติกเข้ากับไม้อัด 3 คูณ 5 ด้วยสกรูไม้ขนาดเล็ก

ขั้นตอนที่ 3: เสร็จสิ้นที่ยึดพัดลม

สิ่งนี้จะขึ้นอยู่กับแฟนที่คุณใช้ ฉันตัดรอยบากออกจากชิ้นส่วนของ 1 โดย 6 และก็สามารถแทรกด้านหลังของพัดลมลงในรอยแล้วใช้ลวดผูกเพื่อรักษาความปลอดภัยพัดลมไปยังคณะกรรมการ ฉันต้องการยกระดับหน่วยทั้งหมดดังนั้นฉันจึงใช้เวลา 1 ถึง 3 วินาทีเพื่อพาแฟนไปที่ที่มันจะไม่ชนกับฐาน ฉันเพิ่มไม้อัดเข้าไปทางด้านหลังเพื่อให้เห็นผลได้ดีขึ้น ฉันทาสีทุกอย่างเป็นสีดำ

ขั้นตอนที่ 4: Ardweeny & LEDS

Ardweeny จาก Solarbotics มาในชุดและต้องใช้เวลาประมาณ 30 นาทีในการประสานชิ้นส่วนเข้าด้วยกัน มันมีจุดประสงค์เพื่อใช้กับเขียงหั่นขนมและหลังจากที่ฉันทำขนมปังขึ้นวงจรแล้วฉันประสานมันเข้ากับบอร์ด PCB ชิ้นเล็ก ๆ ซึ่งฉันสามารถติดกับไม้อัดได้ Ardweeny จะหมุนไปพร้อมกับ LED

หลังจากสร้าง Ardweeny แล้วก็ถึงเวลาที่ต้องต่อสายไฟ LED ฉันใช้ลวดทองแดงเปล่าเป็นสายกราวด์ทั่วไป แต่ละสายสั้น ๆ จากไฟ LED จะถูกบัดกรีกับลวดทองแดงและจากนั้นลวดทองแดงจะเชื่อมต่อกับพื้นดินบน Ardweeny จากขาที่ยาวขึ้นบวกของ LED ติดสายไฟเข้ากับ Ardweeny และรวมตัวต้านทาน 330 โอห์มไว้ในวงจร

ฉันเชื่อมต่อไฟ LED เป็นพิน 1,2,3,4,5,6,7 กับ LED ส่วนใหญ่ด้านนอกที่เชื่อมต่อกับพิน 1

หลังจากทำการเชื่อมต่อทั้งหมดแล้วแนบ Ardweeny กับไม้อัด ฉันใช้สกรูขนาดเล็กผ่าน PCB

ขั้นตอนที่ 5: เซนเซอร์ Halls & Battery

เซ็นเซอร์ฮอลล์:

ติดตั้งเซ็นเซอร์ Halls ไว้ที่ส่วนท้ายของพลาสติก ฉันบัดกรีเซ็นเซอร์ครั้งแรกกับชิ้นส่วนเล็ก ๆ ของ PCB แล้วติด PCB กับพลาสติกด้วยสกรูขนาดเล็ก

ในการเชื่อมต่อเซ็นเซอร์ฉันใช้ข้อมูลต่อไปนี้ซึ่งฉันได้รับที่ Adafruit: "วิ่งที่ 3.5V ถึง 24V เมื่อต้องการใช้การเชื่อมต่อพลังงานเพื่อพิน 1 (ไปทางซ้าย), กราวด์เพื่อพิน 2 (กลาง) แล้ว 10K ดึงตัวต้านทานขึ้นจากพิน 3 เป็นพลังงานจากนั้นฟังพิน 3 เมื่อขั้วใต้ของแม่เหล็กอยู่ใกล้กับด้านหน้าของเซ็นเซอร์ขา 3 จะลดลงเป็น 0V มิฉะนั้นจะอยู่ที่อะไรก็ตามที่ตัวต้านทาน pullup เชื่อมต่ออยู่ไม่มีอะไรเกิดขึ้นถ้าขั้วเหนือของแม่เหล็กอยู่ใกล้ ๆ (unipolar) "

แม่เหล็กสำหรับเซ็นเซอร์:

ฉันติดแม่เหล็กขนาดเล็กไว้ที่ส่วนท้ายของเดือยและต่อเดือยเข้ากับส่วนรองรับของพัดลม ฉันทำสิ่งนี้ทั้งสองด้านของแฟน เป็นสิ่งสำคัญที่หนึ่งในแม่เหล็กหันหน้าไปทางทิศใต้และอีกด้านหนึ่งยื่นออกมาจากทิศเหนือ

ความคิด: เซ็นเซอร์นี้เป็นชนิดสลักจึงเป็น 1 หรือ 0 เมื่อการหมุนเริ่มขึ้นแม่เหล็กแรกจะเปิดไฟ LED และเมื่อถึงแม่เหล็กอื่นมันจะปิดลง ของหลักสูตรนี้อยู่ในคอนเสิร์ตพร้อมกับซอฟต์แวร์

ลวดสีม่วงไปที่ขาอะนาล็อก 0, ดำลงกราวด์และสีแดงถึง A + พิน (เอาต์พุต 5 โวลต์)

แบตเตอรี่:

ควรวางแบตเตอรี่ขนาด 9 โวลต์ซึ่งจะทำหน้าที่เป็นตัวนับสมดุลสำหรับพลาสติกหมุน หากพลาสติกไม่สมดุลดีมันจะสั่นทั้งตัวเมื่อถึงความเร็ว ฉันใช้การรวมกันของยางรัดและลวดผูกไว้เพื่อให้เข้าที่ แต่ยังสามารถถอดออกได้หากต้องการเปลี่ยน

เดินสายไฟสายบวกและลบจากแบตเตอรี่ไปยังพินที่เหมาะสม ฉันรวมสวิตช์เพื่อให้สามารถปิด Ardweeny ได้ สวิตช์ติดอยู่กับไม้อัดพร้อมเทปสำรองสองชั้น

ขั้นตอนที่ 6: รหัส

การค้นหาโปรเจ็กต์ POV พบรหัสสำหรับโปรเจ็กต์ POV Bike

ด้านล่างเป็นสิ่งที่ฉันใช้ แต่มันเป็นหนทางไกลจากต้นฉบับ ต้นฉบับมีความครอบคลุมและขัดมากกว่าเดิม แต่ฉันเริ่มด้วยรหัสของเขาและควรให้เครดิตเขา

ร่างยังมีไฟล์ font.h ซึ่งฉันพบหลังจากค้นหาอินเทอร์เน็ต ฉันไม่แน่ใจว่าเป็น font.h ที่เป็นส่วนหนึ่งของต้นฉบับ ฉันรวมของฉันไว้ด้านล่าง..

// รหัสสำหรับโครงการ Arduino Bike POV

// Arduino Bike POV

//

// โดย Scott Mitchell

// www.openobject.org

// Urbanism โอเพ่นซอร์ส

//

// Copyright (C) 2008 Scott Mitchell 12-10-2008

//

// โปรแกรมนี้เป็นซอฟต์แวร์เสรี: คุณสามารถแจกจ่ายต่อและ / หรือแก้ไขได้

// ภายใต้เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของกนูตามที่เผยแพร่โดย

// มูลนิธิซอฟต์แวร์เสรีทั้งเวอร์ชัน 3 ของสิทธิ์ใช้งานหรือ

// (ตามที่คุณเลือก) เวอร์ชันที่ใหม่กว่า

//

//============================================================

// 6/2554 มีการปรับเปลี่ยนอย่างมากโดย c. Dubois สำหรับโครงการ POV ของฉัน

// เซ็นเซอร์ Hall เป็นสวิตช์ดังนั้นฉันจึงใช้รหัสที่แตกต่างกัน

// ยังใช้ font.h ที่ฉันพบ

// ------------------------------------------------------------

// กำหนดตัวอักษร

#include "font.h"

// กำหนดหมุด LED Arduino ที่ใช้งานอยู่

const int LEDpins = {

1,2,3,4,5,6,7};

// จำนวนไฟ LED

const int charHeight = sizeof (LEDpins);

const int charWidth = 5;

// การตั้งค่าเซ็นเซอร์

const int sensorPIN = 0; // กำหนดหมุดเซ็นเซอร์ Arduino

// บูลีน sensorFlag = false; // เก็บสถานะเซ็นเซอร์

int sensVal; // variable เพื่อเก็บค่าที่มาจากเซ็นเซอร์

const char textString = "ปรบมือ";

การตั้งค่าเป็นโมฆะ ()

{

pinMode (13, OUTPUT);

pinMode (1, OUTPUT);

pinMode (2, OUTPUT);

pinMode (3, OUTPUT);

pinMode (4, OUTPUT);

pinMode (5, OUTPUT);

pinMode (6, OUTPUT);

pinMode (7, OUTPUT);

// Serial.begin (9600);

}

เป็นโมฆะห่วง ()

{

// เปิด Led สำหรับวงกลมที่อยู่ตรงกลางและพิสูจน์ว่าขับเคลื่อน arduino

digitalWrite (13, สูง); // เปิดไฟ LED

sensVal = analogRead (sensorPIN); // อ่าน Hall Effect Sensor

// Serial.println (sensVal);

// ล่าช้า (500);

// มีปัญหาที่นี่

// เพราะมันเป็นสวิตช์ฮอลล์สวิทซ์อาจจะเป็นเพียงแค่อ่านดิจิตอล

if (sensVal! = 1023) {

// พิมพ์ตัวอักษรของ textString ทุกตัว

สำหรับ (int k = 0; k

printLetter (textString k);

}

}

}

ถือเป็นโมฆะ printLetter (ถ่าน ch)

{

// ตรวจสอบให้แน่ใจว่าอักขระอยู่ภายในขอบเขตตัวอักษร (กำหนดโดยไฟล์ font.h)

// หากไม่ใช่ให้ทำเป็นตัวอักษรว่างเปล่า

if (ch <32 || ch> 126) {

ch = 32;

}

// ลบอักขระช่องว่าง (แปลงหมายเลข ASCII เป็นหมายเลขดัชนีแบบอักษร)

ch - = 32;

// ก้าวผ่านแต่ละไบต์ของอาร์เรย์อักขระ

สำหรับ (int i = 0; i

ไบต์ b = ตัวอักษร ch i;

// บิตเลื่อนผ่านไบต์และส่งออกไปยังพิน

สำหรับ (int j = 0; j

digitalWrite (LEDpins j, !! (b & (1 << j)));

}

// เว้นวรรคระหว่างคอลัมน์

delayMicroseconds (900);

}

// ล้างไฟ LED

digitalWrite (1, ต่ำ); // เปิดไฟ LED

digitalWrite (2, LOW); // เปิดไฟ LED

digitalWrite (3, ต่ำ); // เปิดไฟ LED

digitalWrite (4, LOW); // เปิดไฟ LED

digitalWrite (5, ต่ำ); // เปิดไฟ LED

digitalWrite (6, ต่ำ); // เปิดไฟ LED

digitalWrite (7, ต่ำ); // เปิดไฟ LED

// เว้นวรรคระหว่างตัวอักษร

delayMicroseconds (2500);

}

--------------------------------------

----------------------------------------

///============================================================

// Arduino Bike POV

// font.h

//

// โดย Scott Mitchell

// www.openobject.org

// Urbanism โอเพ่นซอร์ส

//

// Copyright (C) 2008 Scott Mitchell 12-10-2008

//

// โปรแกรมนี้เป็นซอฟต์แวร์เสรี: คุณสามารถแจกจ่ายต่อและ / หรือแก้ไขได้

// ภายใต้เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของกนูตามที่เผยแพร่โดย

// มูลนิธิซอฟต์แวร์เสรีทั้งเวอร์ชัน 3 ของสิทธิ์ใช้งานหรือ

// (ตามที่คุณเลือก) เวอร์ชันที่ใหม่กว่า

//

// โปรแกรมนี้เผยแพร่ด้วยความหวังว่าจะเป็นประโยชน์

// แต่ไม่มีการรับประกันใด ๆ โดยไม่ต้องมีการรับประกันโดยนัยของ

// ความสามารถในการซื้อขายหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดู

// สัญญาอนุญาตสาธารณะทั่วไปของกนูสำหรับรายละเอียดเพิ่มเติม

//

// สำเนาของสัญญาอนุญาตสาธารณะทั่วไปของกนู

// สามารถดูได้ที่ .

//

// B4.1

// แก้ไขล่าสุด: 13 ตุลาคม 2008

//============================================================

// กำหนดตัวอักษร

// ascii 7x5 อักขระการป้อนด้านข้างสำหรับโมดูลนำ

// addapted จาก

// const byte font 5 = {

const แบบอักษรถ่านที่ไม่ได้ลงชื่อ 95 5 = {

{0x00,0x00,0x00,0x00,0x00}, // 0x20 32

{0x00,0x00,0x6f, 0x00,0x00}, //! 0x21 33

{0x00,0x07,0x00,0x07,0x00}, // "0x22 34

{0x14,0x7f, 0x14,0x7f, 0x14}, // # 0x23 35

{0x00,0x07,0x04,0x1e, 0x00}, // $ 0x24 36

{0x23,0x13,0x08,0x64,0x62}, //% 0x25 37

{0x36,0x49,0x56,0x20,0x50}, // & 0x26 38

{0x00,0x00,0x07,0x00,0x00}, // '0x27 39

{0x00,0x1c, 0x22,0x41,0x00}, // (0x28 40

{0x00,0x41,0x22,0x1c, 0x00}, //) 0x29 41

{0x14,0x08,0x3e, 0x08,0x14}, // * 0x2a 42

{0x08,0x08,0x3e, 0x08,0x08}, // + 0x2b 43

{0x00,0x50,0x30,0x00,0x00}, //, 0x2c 44

{0x08,0x08,0x08,0x08,0x08}, // - 0x2d 45

{0x00,0x60,0x60,0x00,0x00}, // 0x2e 46

{0x20,0x10,0x08,0x04,0x02}, // / 0x2f 47

{0x3e, 0x51,0x49,0x45,0x3e}, // 0 0x30 48

{0x00,0x42,0x7f, 0x40,0x00}, // 1 0x31 49

{0x42,0x61,0x51,0x49,0x46}, // 2 0x32 50

{0x21,0x41,0x45,0x4b, 0x31}, // 3 0x33 51

{0x18,0x14,0x12,0x7f, 0x10}, // 4 0x34 52

{0x27,0x45,0x45,0x45,0x39}, // 5 0x35 53

{0x3c, 0x4a, 0x49,0x49,0x30}, // 6 0x36 54

{0x01,0x71,0x09,0x05,0x03}, // 7 0x37 55

{0x36,0x49,0x49,0x49,0x36}, // 8 0x38 56

{0x06,0x49,0x49,0x29,0x1e}, // 9 0x39 57

{0x00,0x36,0x36,0x00,0x00}, //: 0x3a 58

{0x00,0x56,0x36,0x00,0x00}, //; 0x3b 59

{0x08,0x14,0x22,0x41,0x00}, // <0x3c 60

{0x14,0x14,0x14,0x14,0x14}, // = 0x3d 61

{0x00,0x41,0x22,0x14,0x08}, //> 0x3e 62

{0x02,0x01,0x51,0x09,0x06}, //? 0x3f 63

{0x3e, 0x41,0x5d, 0x49,0x4e}, // @ 0x40 64

{0x7e, 0x09,0x09,0x09,0x7e}, // A 0x41 65

{0x7f, 0x49,0x49,0x49,0x36}, // B 0x42 66

{0x3e, 0x41,0x41,0x41,0x22}, // C 0x43 67

{0x7f, 0x41,0x41,0x41,0x3e}, // D 0x44 68

{0x7f, 0x49,0x49,0x49,0x41}, // E 0x45 69

{0x7f, 0x09,0x09,0x09,0x01}, // F 0x46 70

{0x3e, 0x41,0x49,0x49,0x7a}, // G 0x47 71

{0x7f, 0x08,0x08,0x08,0x7f}, // H 0x48 72

{0x00,0x41,0x7f, 0x41,0x00}, // I 0x49 73

{0x20,0x40,0x41,0x3f, 0x01}, // J 0x4a 74

{0x7f, 0x08,0x14,0x22,0x41}, // K 0x4b 75

{0x7f, 0x40,0x40,0x40,0x40}, // L 0x4c 76

{0x7f, 0x02,0x0c, 0x02,0x7f}, // M 0x4d 77

{0x7f, 0x04,0x08,0x10,0x7f}, // N 0x4e 78

{0x3e, 0x41,0x41,0x41,0x3e}, // O 0x4f 79

{0x7f, 0x09,0x09,0x09,0x06}, // P 0x50 80

{0x3e, 0x41,0x51,0x21,0x5e}, // Q 0x51 81

{0x7f, 0x09,0x19,0x29,0x46}, // R 0x52 82

{0x46,0x49,0x49,0x49,0x31}, // S 0x53 83

{0x01,0x01,0x7f, 0x01,0x01}, // T 0x54 84

{0x3f, 0x40,0x40,0x40,0x3f}, // U 0x55

{0x0f, 0x30,0x40,0x30,0x0f}, // V 0x56 86

{0x3f, 0x40,0x30,0x40,0x3f}, // W 0x57 87

{0x63,0x14,0x08,0x14,0x63}, // X 0x58 88

{0x07,0x08,0x70,0x08,0x07}, // Y 0x59 89

{0x61,0x51,0x49,0x45,0x43}, // Z 0x5a 90

{0x3c, 0x4a, 0x49,0x29,0x1e}, // 0x5b 91

{0x02,0x04,0x08,0x10,0x20}, // 0x5c 92

{0x00,0x41,0x7f, 0x00,0x00}, // 0x5d 93

{0x04,0x02,0x01,0x02,0x04}, // ^ 0x5e 94

{0x40,0x40,0x40,0x40,0x40}, // _ 0x5f 95

{0x00,0x00,0x03,0x04,0x00}, // `0x60 96

{0x20,0x54,0x54,0x54,0x78}, // a 0x61 97

{0x7f, 0x48,0x44,0x44,0x38}, // b 0x62 98

{0x38,0x44,0x44,0x44,0x20}, // c 0x63 99

{0x38,0x44,0x44,0x48,0x7f}, // d 0x64 100

{0x38,0x54,0x54,0x54,0x18}, // e 0x65 101

{0x08,0x7e, 0x09,0x01,0x02}, // f 0x66 102

{0x0c, 0x52,0x52,0x52,0x3e}, // g 0x67 103

{0x7f, 0x08,0x04,0x04,0x78}, // h 0x68 104

{0x00,0x44,0x7d, 0x40,0x00}, // ฉัน 0x69 105

{0x20,0x40,0x44,0x3d, 0x00}, // j 0x6a 106

{0x00,0x7f, 0x10,0x28,0x44}, // k 0x6b 107

{0x00,0x41,0x7f, 0x40,0x00}, // l 0x6c 108

{0x7c, 0x04,0x18,0x04,0x78}, // m 0x6d 109

{0x7c, 0x08,0x04,0x04,0x78}, // n 0x6e 110

{0x38,0x44,0x44,0x44,0x38}, // o 0x6f 111

{0x7c, 0x14,0x14,0x14,0x08}, // p 0x70 112

{0x08,0x14,0x14,0x18,0x7c}, // q 0x71 113

{0x7c, 0x08,0x04,0x04,0x08}, // r 0x72 114

{0x48,0x54,0x54,0x54,0x20}, // s 0x73 115

{0x04,0x3f, 0x44,0x40,0x20}, // t 0x74 116

{0x3c, 0x40,0x40,0x20,0x7c}, // u 0x75 117

{0x1c, 0x20,0x40,0x20,0x1c}, // v 0x76 118

{0x3c, 0x40,0x30,0x40,0x3c}, // w 0x77 119

{0x44,0x28,0x10,0x28,0x44}, // x 0x78 120

{0x0c, 0x50,0x50,0x50,0x3c}, // y 0x79 121

{0x44,0x64,0x54,0x4c, 0x44}, // z 0x7a 122

{0x00,0x08,0x36,0x41,0x41}, // {0x7b 123

{0x00,0x00,0x7f, 0x00,0x00}, // | 0x7c 124

{0x41,0x41,0x36,0x08,0x00}, //} 0x7d 125

{0x04,0x02,0x04,0x08,0x04}, // ~ 0x7e 126

};

/*

ครีเอทีฟคอมมอนส์แสดงที่มา - ไม่ใช้เพื่อการค้า - อนุญาตแบบเดียวกัน 2.5 ออสเตรเลีย

หน้านี้แก้ไขครั้งสุดท้ายเมื่อ 14:41, 11 มกราคม 2552 หน้านี้มีการเข้าชม 1,477 ครั้ง

เนื้อหามีให้บริการภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์ - ที่ไม่ใช่เพื่อการค้า - แบ่งปัน 2.5 แบบออสเตรเลีย

เกี่ยวกับวิถีชีวิตแบบโอเพ่นซอร์ส

การปฏิเสธความรับผิด

ขับเคลื่อนโดย MediaWiki

*/

เข้ารอบสุดท้ายใน

การประกวด LED