Funduino BASE

งานต้นแบบแนวคิด


อ้างอิงจาก http://swf.com.tw/?p=111
หลัังจากเล่นกับการทำบอร์ด 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
MicrocontrollerATmega168
Operating Voltage5V
Input Voltage (recommended)7-12V
Input Voltage (limits)6-20V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins6
DC Current per I/O Pin40 mA
DC Current for 3.3V Pin100 mA
Flash Memory16 KB (ATmega168
Clock Speed                    16 MHz