งานต้นแบบแนวคิด
หลัังจากเล่นกับการทำบอร์ด arduino มาระยะนึงแล้ว
มีหลายคนโทรมาถาม,PM,e-mail มาหาก็ดี ว่ามีบอร์ดขายไหม จะเอาไปทำProjectจบ จะเอาไปทำminiProject , PreProject , Project DIY เล่นที่บ้าน , จะเอามาเริ่มเล่น microcontroller เลยอยากจะเล่น Arduino เพราะเห็นว่าง่ายดี
ทางผู้เขียนเองก็อยากจะทำแจก แต่ติดเรื่องทุนทรัพย์
และมีความเห็นใจแก่ผู้ที่คิดจะเริ่มต้นเล่น Arduino แต่เห็นราคาบอร์ดของเมืองนอกแล้ว ความคิดก็ล้มเลิกไป
เพราะฉะนั้น ทางผู้เขียนจึงคิดทำบอร์ดที่มีราคาถูกที่สุดและความสามารถเกือบเทียบเท่าของบอร์ดของเมืองนอก
อนึง ทางผู้เขียนก็แอบเล่น AVR-CDC มาหลายเดือนแล้ว จนวงจรมีความเสถียนพอสมคร
จึงคิดว่าจะเอามาใช้ทำบอร์ดที่ compatible กับ Arduino
ถ้าบอร์ดทำเสร็จสมบูรณ์ จะมีชื่อว่า Funduino BASE
-----------------------------------ไอเดีย ตัวอย่าง------------------------------------
Code :
// Arduino 7 segment display example software
// http://www.hacktronics.com/Tutorials/arduino-and-7-segment-led.html
// License: http://www.opensource.org/licenses/mit-license.php (Go crazy)
// Define the LED digit patters, from 0 - 9
// Note that these patterns are for common cathode displays
// For common anode displays, change the 1's to 0's and 0's to 1's
// 1 = LED on, 0 = LED off, in this order:
// Arduino pin: 2,3,4,5,6,7,8
byte seven_seg_digits[10][7] = {
{ 0,0,0,0,0,0,1 }, // = 0
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
writeDot(1); // start with the "dot" off=0
}
void writeDot(byte dot) {
digitalWrite(9,dot=!dot);
}
void sevenSegWrite(byte digit) {
byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);
++pin;
}
}
void loop() {
for (byte count = 1; count <= 10; count++)
{
for (byte c = 1; c <= 10; c++)
{
writeDot(1);
delay(100);
writeDot(0);
delay(100);
}
sevenSegWrite(count - 1);
}
//delay(1000);
}
Summary
Microcontroller | ATmega168 |
Operating Voltage | 5V |
Input Voltage (recommended) | 7-12V |
Input Voltage (limits) | 6-20V |
Digital I/O Pins | 14 (of which 6 provide PWM output) |
Analog Input Pins | 6 |
DC Current per I/O Pin | 40 mA |
DC Current for 3.3V Pin | 100 mA |
Flash Memory | 16 KB (ATmega168) |
Clock Speed | 16 MHz |