ATiny85 Индикатор проверки LiIon аккумулятора
ATiny85 Индикатор проверки LiIon аккумулятора Хочу описать опыт по программированию микроконтроллера семейства ATTiny используя в качестве программатора USBtinyISP и Arduino IDE — интегрированная среда разработки для Windows. Однако можно обойтись без программатора, для этого случая подходит готовая плата для отладки с USB, например, Digispark ATtiny85 (micro-USB), которую можно купить на Озоне или Алиэкспесс. Для прошивки этой отладочной платы используется встроенный загрузчик. Характеристики у микроконтроллера следующие: • CPU: AVR 8 бит • Напряжение питания: от 4.5 до 5.5 В • Flash: 8 КБайт • EEPROM: 512 Байт • RAM: 512 Байт Всего у ATiny85 8 ножек. Две отведены на питание, а остальные шесть могут быть использованы как входы, так и как выходы. ATTINY85 Fuses ======================== HEX value Description EXTENDED 0xFF ------ HIGH 0xDF LOW 0x62 Int.RC Osc. 8 VHz; Start-up time PWRDN/RESET: 6CK/14 CK + 64 ms, Листинг программы: /* Действие ======= Считывает переключение напряжения на аналоговом 1 (цифровой вывод #2) и устанавливает яркость светодиода STAT, т.е. контакта #1, в соответствии с ним. В этом примере использован переменный резистор со значением приблизительно 10k, который должен быть подключен, как показано на рисунке в видео. Заметка: Вы можете считать аналоговое напряжение с цифрового #2 (называемого аналоговым 1), цифрового #3 (называемого аналоговым 3) и цифрового #4 (называемого аналоговым 2) Например, чтобы прочитать аналоговое напряжение на контакте #2, вы должны вызвать analogRead(1), чтобы прочитать аналоговое напряжение на контакте #4, вызвать analogRead(2) Это немного сбивает с толку, потому что аналоговые выводы пронумерованы иначе, чем цифровые! Simple Schematic: ================= | | #0 | LED0 + 610 Ом на GND | | #1 | LED1 + 610 Ом на GND | | #2 |-------------| Измерительный вход не более 5В | | ATiny85 | #3 | | | #4 | | | #RST | | | GND | | | VCC | */ #define Led0 0 #define Led1 1 #define Trimmer 1 // Analog pin 1(digital pin #2) #define Delay_time_ms 10 int ADC_Value = 0; // The setup routine is executed once when you power-on the board or press the RST button later void setup() [ pinMode(Led0, OUTPUT); // initialize the digital pin as an output. pinMode(Led1, OUTPUT); // initialize the digital pin as an output. digitalWrite(Led0, LOW); // Set it in Low state digitalWrite(Led1, LOW); // Set it in Low state } void loop() [ ADC_Value = analogRead(Trimmer); // read the input pin. The value is 0..1023 Продолжение программы можно посмотреть в видео, т.к. угловые скобки нельзя изображать в описании под видео. ArduinoIDE ссылка: https://www.arduino.cc/en/software я использовал версию arduino-1.8.19. Там же на сайте есть примеры и документация. Полезная книга: Программирование микроконтроллерных плат Arduino/Frrduino автор Улли Сомер Проекты с использованием контроллера Arduino автор Виктор Пентин .
ATiny85 Индикатор проверки LiIon аккумулятора Хочу описать опыт по программированию микроконтроллера семейства ATTiny используя в качестве программатора USBtinyISP и Arduino IDE — интегрированная среда разработки для Windows. Однако можно обойтись без программатора, для этого случая подходит готовая плата для отладки с USB, например, Digispark ATtiny85 (micro-USB), которую можно купить на Озоне или Алиэкспесс. Для прошивки этой отладочной платы используется встроенный загрузчик. Характеристики у микроконтроллера следующие: • CPU: AVR 8 бит • Напряжение питания: от 4.5 до 5.5 В • Flash: 8 КБайт • EEPROM: 512 Байт • RAM: 512 Байт Всего у ATiny85 8 ножек. Две отведены на питание, а остальные шесть могут быть использованы как входы, так и как выходы. ATTINY85 Fuses ======================== HEX value Description EXTENDED 0xFF ------ HIGH 0xDF LOW 0x62 Int.RC Osc. 8 VHz; Start-up time PWRDN/RESET: 6CK/14 CK + 64 ms, Листинг программы: /* Действие ======= Считывает переключение напряжения на аналоговом 1 (цифровой вывод #2) и устанавливает яркость светодиода STAT, т.е. контакта #1, в соответствии с ним. В этом примере использован переменный резистор со значением приблизительно 10k, который должен быть подключен, как показано на рисунке в видео. Заметка: Вы можете считать аналоговое напряжение с цифрового #2 (называемого аналоговым 1), цифрового #3 (называемого аналоговым 3) и цифрового #4 (называемого аналоговым 2) Например, чтобы прочитать аналоговое напряжение на контакте #2, вы должны вызвать analogRead(1), чтобы прочитать аналоговое напряжение на контакте #4, вызвать analogRead(2) Это немного сбивает с толку, потому что аналоговые выводы пронумерованы иначе, чем цифровые! Simple Schematic: ================= | | #0 | LED0 + 610 Ом на GND | | #1 | LED1 + 610 Ом на GND | | #2 |-------------| Измерительный вход не более 5В | | ATiny85 | #3 | | | #4 | | | #RST | | | GND | | | VCC | */ #define Led0 0 #define Led1 1 #define Trimmer 1 // Analog pin 1(digital pin #2) #define Delay_time_ms 10 int ADC_Value = 0; // The setup routine is executed once when you power-on the board or press the RST button later void setup() [ pinMode(Led0, OUTPUT); // initialize the digital pin as an output. pinMode(Led1, OUTPUT); // initialize the digital pin as an output. digitalWrite(Led0, LOW); // Set it in Low state digitalWrite(Led1, LOW); // Set it in Low state } void loop() [ ADC_Value = analogRead(Trimmer); // read the input pin. The value is 0..1023 Продолжение программы можно посмотреть в видео, т.к. угловые скобки нельзя изображать в описании под видео. ArduinoIDE ссылка: https://www.arduino.cc/en/software я использовал версию arduino-1.8.19. Там же на сайте есть примеры и документация. Полезная книга: Программирование микроконтроллерных плат Arduino/Frrduino автор Улли Сомер Проекты с использованием контроллера Arduino автор Виктор Пентин .
