Загальні відомості 
Arduino Duemilanove («2009») побудована на одному з мікроконтролерів: ATmega168  або ATmega328. Платформа містить 14 цифрових входів/виходів (6 з яких можуть використовуватися як виходи ШІМ), 6 аналогових входів, кварцовий генератор 16 МГц, роз'єм USB, силовий роз'єм, роз'єм ICSP і кнопку перезавантаження. Для роботи необхідно підключити платформу до комп'ютера за допомогою кабелю USB або подати живлення за допомогою адаптера AC/DC чи батареї.Duemilanove (в перекладі з італійської - 2009) була названа на честь року свого випуску - 2009 рік. Дана платформа є останньою із серії Arduino з USB. Для порівняння з попередніми версіями необхідно звернутися до повного переліку плат Arduino. 

Характеристики 
Мікроконтролер - ATmega168 
Робоча напруга  - 5 В 
Вхідна напруга (рекомендовано) - 7-12 В 
Вхідна напруга (гранична) - 6-20 В
Цифрові входи / виходи - 14 (6 з яких можуть використовуватися як виходи ШІМ) 
Аналогові входи - 6 
Постійний струм через вхід / вихід - 40 мА 
Постійний струм для виведення 3.3 В - 50 мА 
Флеш-пам'ять - 16 Кб (ATmega168) або 32 Кб (ATmega328) при цьому 2 Кб використовуються для завантажувача 
ОЗП - 1 Кб (ATmega168) або 2 Кб (ATmega328) 
EEPROM - 512 байт (ATmega168) або 1 Кб (ATmega328) 
Тактова частота - 16 МГц

Живлення 
Arduino Duemilanove може отримувати живлення через підключення USB або від зовнішнього джерела живлення. Джерело живлення вибирається автоматично.Зовнішнє живлення (не USB) може подаватися через перетворювач напруги AC/DC (блок живлення) або з батареї. Перетворювач напруги підключається за допомогою роз'єму 2.1 мм з центральним позитивним полюсом. Дроти від батареї підключаються до контактів Gnd і Vin роз'єму живлення.Платформа може працювати при зовнішньому живленні від 6 В до 20 В. При напрузі живлення нижче 7 В, контакт 5V може видавати менше 5 В, при цьому платформа може працювати нестабільно. При використанні напруги понад 12 В регулятор напруги може перегрітися і пошкодити плату. Рекомендований діапазон від 7 В до 12 В. 
Контакти живлення:
 
VIN. Вхід використовується для подачі живлення від зовнішнього джерела (за відсутності 5 В від роз'єму USB або іншого регульованого джерела живлення). Подача напруги відбувається через даний контакт.
 
5V. Регульоване джерело напруги, що використовується для живлення мікроконтролера і компонентів на платі. Напруга може подаватися від контакту VIN через регулятор напруги, або від роз'єму USB, або іншого регульованого джерела напруги 5 В. 

3V3. Напруга на виводі 3.3 В генерується мікросхемою FTDI на платформі. Максимальне споживання струму 50 мА.
GND. Контакт заземлення. 


Пам'ять 
Мікроконтролер ATmega168 має 16 кБ флеш-пам'яті для зберігання коду програми, а мікроконтроллер ATmega328, в свою чергу, має 32 кБ (в обох випадках 2 кБ використовується для зберігання завантажувача). ATmega168 має 1 кБ ОЗП і 512 байт EEPROM (яка читається і записується за допомогою бібліотеки EEPROM), а ATmega328 - 2 кБ ОЗП і 1 Кб EEPROM. 

Входи і виходи
 Кожен з 14 цифрових виводів Duemilanove, використовуючи функції pinMode(), digitalWrite(), і digitalRead(), може налаштовуватися як вхід або вихід. Виводи працюють при напрузі 5 В. Кожен вивід має навантажувальний резистор (стандартно відключений) 20-50 кОм і може пропускати до 40 мА. Деякі виводи мають особливі функції:

    
Послідовна шина: 0 (RX) та 1 (TX). Виводи використовуються для отримання (RX) і передачі (TX) даних TTL. Дані виводи підключені до відповідних виводів мікросхеми послідовної шини FTDI USB-to-TTL.
    
Зовнішнє переривання: 2 і 3. Дані виводи можуть бути налаштовані на виклик переривання або на молодшому значенні, або на передньому чи задньому фронті, або при зміні значення. Детальна інформація знаходиться в описі функції attachInterrupt().
    
ШІМ: 3, 5, 6, 9, 10, і 11. Будь-який з виводів забезпечує ШІМ з роздільною здатністю 8 біт за допомогою функції analogWrite().
    
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). За допомогою даних виводів здійснюється зв'язок SPI, який, хоча і підтримується апаратною частиною, не включений в мову Arduino.
    
LED: 13. Вбудований світлодіод, підключений до цифрового виводу 13. Якщо значення на виводі має високий потенціал, то світлодіод горить.На платформі Duemilanove встановлені 6 аналогових входів, кожен дозволом 10 біт (тобто може приймати 1024 різних значення). Стандартно виводи мають діапазон вимірювання до 5 В відносно землі, проте є можливість змінити верхню межу за допомогою виведення AREF і функції analogReference(). Деякі виводи мають додаткові функції:
    
I2C: 4 (SDA) і 5 (SCL). За допомогою виводів здійснюється зв'язок I2C (TWI), для створення якої використовується бібліотека Wire.Додаткова пара виводів платформи:
    
AREF. Опорна напруга для аналогових входів. Використовується з функцією analogReference().
    
Reset. Низький рівень сигналу на виведення перезавантажує мікроконтроллер. Звичайно застосовується для підключення кнопки перезавантаження на платі розширення, що закриває доступ до кнопки на самій платі Arduino.Зверніть увагу на з'єднання між виводами Arduino і портами ATmega168. 


Зв'язок 
На платформі Arduino Duemilanove встановлено декілька пристроїв для здійснення зв'язку з комп'ютером, іншими пристроями Arduino або мікроконтролерами. ATmega168 і ATmega328 підтримують послідовний інтерфейс UART TTL (5 В), здійснюваний висновками 0 (RX) та 1 (TX). Встановлена ​​на платі мікросхема FTDI FT232RL направляє даний інтерфейс через USB, а драйвери FTDI (включені в програму Arduino) надають віртуальний COM порт програмі на комп'ютері. Моніторинг послідовної шини (Serial Monitor) програми Arduino дозволяє посилати і отримувати текстові дані при підключенні до платформи. Світлодіоди RX і TX на платформі будуть мигати при передачі даних через мікросхему FTDI або USB підключення (але не при використанні послідовної передачі через висновки 0 і 1).Бібліотекою SoftwareSerial можливо створити послідовну передачу даних через будь-який з цифрових висновків Duemilanove.ATmega168 і ATmega328 підтримують інтерфейси I2C (TWI) і SPI. В Arduino включена бібліотека Wire для зручності використання шини I2C. Більш детальна інформація знаходиться в документації. Для використання інтерфейсу SPI зверніться до технічних даних мікроконтролерів ATmega168 і ATmega328. 

Програмування
 Платформа програмується за допомогою ПЗ Arduino. З меню Tools > Board вибирається «Arduino Diecimila або Duemilanove w/ATmega168» або «Arduino Duemilanove w/ATmega328» (згідно з установленим микроконтролером). Детальна інформація знаходиться в довіднику та інструкціях.Мікроконтролери ATmega168 і ATmega328 поставляються з записаним завантажувачем, що полегшує запис нових програм без використання зовнішніх програматорів. Зв'язок здійснюється оригінальним протоколом STK500.Є можливість не використовувати завантажувач і запрограмувати мікроконтроллер через виводи ICSP (внутрішньосхемного програмування).

Автоматичне (програмне) перезавантаження 

Duemilanove розроблена таким чином, щоб перед записом нового коду перезавантаження здійснювалося самою програмою, а не натисканням кнопки на платформі. Одна з ліній FT232RL, керуючих потоком даних (DTR), підключена до висновку перезавантаження мікроконтролерів ATmega168 або ATmega328 через резистор 100 нФ. Активація даної лінії, тобто подача сигналу низького рівня, перезавантажує мікроконтроллер. Програма Arduino, використовуючи дану функцію, завантажує код одним натисненням кнопки Upload в самому середовищі програмування. Подача сигналу низького рівня по лінії DTR скоординована з початком запису коду, що скорочує таймаут завантажувача.Функція має ще одне застосування. Перезавантаження Duemilanove відбувається кожного разу при підключенні до програми Arduino на комп'ютері з ОС Mac X або Linux (через USB). Наступні півсекунди після перезавантаження працює завантажувач. Під час програмування відбувається затримка декількох перших байтів коду, щоб уникнути отримання платформою некоректних даних (всіх, окрім коду нової програми). Якщо робиться разове налагодження скетчу, записаного в платформу, або введення будь-яких інших даних при першому запуску, необхідно переконатися, що програма на комп'ютері очікує протягом секунди перед передачею даних.На Duemilanove є можливість відключити лінію автоматичного перезавантаження розривом відповідної лінії. Контакти мікросхем з обох кінців лінії можуть бути з'єднані з метою відновлення. Лінія маркована «RESET-EN». Відключити автоматичне перезавантаження також можливо підключивши резистор 110 Ом між джерелом 5 В і даною лінією.
 

Захист роз'єму USB 
В Arduino Duemilanove вбудований самовідновлюючийся запобіжник (автомат), що захищає порт USB комп'ютера від струмів короткого замикання і надструмів. Хоча практично всі комп'ютери мають подібний захист, тим не менш, цей запобіжник забезпечує додатковий бар'єр. Запобіжник зпрацьовує при проходженні струму більше 500 мА через USB порт і розмикає ланцюг до тих поки нормальні значення струмів не будуть поновлено. 

Розміри 
Довжина і ширина друкованої плати Duemilanove складають 6.9 та 5.3 см відповідно. Роз'єм USB і силовий роз'єм виходять за межі даних розмірів. Три отвори в платі дозволяють закріпити її на поверхні. Відстань між цифровими виводами 7 і 8 дорівнює 0,4 см, хоча між іншими виводами вона становить 0,25 см.

Джерело: http://arduino.cc/en/Main/arduinoBoardDuemilanove 

- Copyright © Основи мікроелектроніки в школі