====== Main Control Board ====== {{ :gallery:arduino.jpg?150|Arduino Main Control Board}} The Arduino micrcontroller package was chosen as the main control board for this project. The Arduino was chosen for the following reasons: * Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller platforms. * Simple, clear programming environment - The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users. * Hardware Capabilities - The Arduino is based on Atmel's ATMEGA168 microcontroller. This controller has the all the capabilities required to complete this project. The processor specifications are listed below. Due to the nature of the sensors that are being used in this design, a powerful processor with fast analog to digital conversion is required. Also, analysis of five analog channels (for five PIR sensors) is required to determine the position and movement of humans in the TV’s field of view. These requirements indicate that the microprocessor must have enough memory and fast enough clock speed to read, store, and analyze potentially thousands of samples per second. The Arduino comes with an ATmega168 chip that is preloaded with the Arduino bootloader. The bootloader is used to easily program the chip without the use of and In-Circuit Serial Programmer (ICSP). This allows for quick and easy development at the loss of a small amount of program memory. The ATmega168 chip has 16kB of flash (program) memory, 1kB of SRAM (variable) memory, and 512 B of EEPROM (long term storage). Although this is a relatively small amount of memory, the team is confident that it will suffice for the purposes of this project. The processor currently runs at 16 MHz but can be run up to a maximum of 20 MHz. This processor speed should be more than enough for the team’s purposes. The Arduino also has six 10-bit analog to digital converters and over ten digital I/O pins. This should be suitable for the team’s application. The ATMEGA 168 microcontroller has the following specifications: * **High Performance, Low Power AVR® 8-Bit Microcontroller** * **Advanced RISC Architecture** * 131 Powerful Instructions – Most Single Clock Cycle Execution * 32 x 8 General Purpose Working Registers * Fully Static Operation * Up to 20 MIPS Throughput at 20 MHz * **High Endurance Non-volatile Memory segments** * 16K Bytes of In-System Self-programmable Flash program memory * 512 Bytes EEPROM * 1K Bytes Internal SRAM * Write/Erase cyles: 10,000 Flash/100,000 EEPROM * Data retention: 20 years at 85°C/100 years at 25°C() * **Peripheral Features** * Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode * One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode * Real Time Counter with Separate Oscillator * Six PWM Channels * 6-channel 10-bit ADC in PDIP Package * Programmable Serial USART * Master/Slave SPI Serial Interface * Byte-oriented 2-wire Serial Interface (Philips I2C compatible) * Programmable Watchdog Timer with Separate On-chip Oscillator * On-chip Analog Comparator * Interrupt and Wake-up on Pin Change * **Special Microcontroller Features** * DebugWIRE On-Chip Debug System * Power-on Reset and Programmable Brown-out Detection * Internal Calibrated Oscillator * External and Internal Interrupt Sources * Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and Standby * **I/O and Packages** * 23 Programmable I/O Lines * 28-pin PDIP * **Operating Voltage:** * 2.7 - 5.5V * **Temperature Range:** * -40°C to 85°C * **Speed Grade:** * ATmega48/88/168: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V * **Low Power Consumption** * Active Mode: * //250 μA at 1 MHz, 1.8V// * //15 μA at 32 kHz, 1.8V (including Oscillator)// * Power-down Mode: * //0.1μA at 1.8V// More detail can be found in the [[http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf|Datasheet]].