Большое кол-во проектов выполненных на платформе Arduino не требовательных к размеру памяти могут быть выполнены на микроконтроллере ATmega8.
Основное отличие ATtmega8 от Atmega328 (Arduino NANO), это размер памяти:
Atmeg328 | Atmega168 | Atmega8 | |
Flash | 32 кб | 16 кб | 8 кб |
ОЗУ | 2 кб | 1 кб | 1 кб |
ПЗУ | 1 кб | 512 б | 512 б |
Каналы ШИМ | 6 | 6 | 3 |
Так же учитывайте что ATmega8 имеет диапазон питающего напряжения от 4.5 до 5.5 В и тактовую до 16 МГц, а ATmega8L имеет диапазон питающего напряжения от 2.7 до 5.5 В и тактовую частоту до 8 МГц.
Для использования ATmega8 в Arduino IDE Вам необходимо собрать следующую схему:
Перед прошивкой ATmega8 необходимо установить поддержку контроллера в Arduino IDE, для этого откройте меню Файл >> Настройки и в пункте Дополнительные ссылки для Менеджера плат вставьте ссылку:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
Далее переходим в меню Инструменты >> Плата >> Менеджер плат
В списке менеджера плат выберите пакет: MiniCore by MCUdude
После установки поддержки плат в Arduino IDE появится плата Atmega8
Для прошивки ATmega8 нам понадобится программатор, в качестве программатора я буду использовать Arduino UNO.
Подключите плату Arduino UNO к USB порту, в Arduino IDE выберите плату Arduino UNO и примерах откройте скетч Arduino ISP.
Залейте скетч в плату, далее подключите Atmega8 к Arduino UNU согласно таблице:
Arduino UNO | ATmega8 |
D10 | RES (1) |
D11 | MOSI (17) |
D12 | MISO (18) |
D13 | SCK (19) |
+5V | VCC (7) |
GND | GND (8) |
Далее выберите плату Atmega8 и укажите частоту кварцевого резонатора (в моем случае 4 МГц)
В пункте Программатор выберите Arduino as ISP. Скопируйте и вставьте в Arduino IDE следующий скетч (Blink):
void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); }
Далее в пункте меню Инструменты выберите — Загрузить через программатор.
После загрузки скетча должен начать мигать светодиод подключенный к пину 19 ATmega8 (PB5).
Очень удобно для прошивки микроконтроллера использовать переходник USB — TTL используя для этого пины 2 и 3 (TXD и RXD) . Фактически Вы будете загружать скетчи как в плату Arduino.
Для использования USB-TTL Вам нужно установить загрузчик, для его установки в Arduino IDE достаточно выбрать пункт Инструменты > Записать загрузчик.
После чего Atmega8 можно отключить от Arduino UNO который использовали как программатор и подключить USB-TTL переходник согласно таблице:
ATmega8 | USB to TTL |
VCC (7) | +5V |
GND (8) | GND |
TDX (3) | RDX |
RDX (2) | TDX |
Далее выберите программатор — AVRISP mkll, после нажмите Загрузка и после сообщения «Компиляция» нажмите на кнопку RESET.