Engineer Notes
  • Главная
  • Заметки
    • Градусник
      • Вывод информации на дисплей (семи сегмент)
      • Вывод информации на ЖК дисплей
      • Градусник DS18B20
    • Работа с датчиком освещенности
      • Работа с реле
      • Создание удлинителя, который работает только в темноте
    • Перехват кодов с пульта управления (IR)
      • Передача сигнала
    • Серво привод
    • Разбираемся с мотором
    • Подключение гироскопа
    • Сохраним файлы на SD карту
    • Часы реального времени
    • Контроллер ATTINY85
    • Доступ к датчикам через Web
  • Проекты
Powered by GitBook
On this page
  • Необходимые элементы
  • Схема подключения
  • Добавление в среду разработки
  • Написание кода
  • Выводы
  • Фотофиниш
  • Digispark

Was this helpful?

  1. Заметки

Контроллер ATTINY85

PreviousЧасы реального времениNextДоступ к датчикам через Web

Last updated 5 years ago

Was this helpful?

Необходимые элементы

При желании можно использовать Attiny25 или Attiny45.

Схема подключения

Для прошивки нашего контроллера нужно использовать программатор, но при отсутствии такой штуки, можно взять любую плату Arduino, у меня для таких целей валяется UNO. Но для того, что бы она начала работать как программатор, требуется загрузить специальную прошивку. Найти код можно в Arduino IDE пройдя File > Examples > ArduinoISP > ArduinoISP. Более подробно можно почитать на

Добавление в среду разработки

При работе в среде platformio уже все есть и дополнительно чего то делать не требуется.

Но если используется среда Arduino IDE, то следуется зайти File > Preferences и в строке Additional Boards Manager URLs добавить ссылку.

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

После этого можно зайти в менеджер плат и добавить Attiny85. После этого контроллер станет доступным для выбора.

Написание кода

Код ничем не отличается и смело можно переносить проекты на данный чип.

Полная версия кода расположена в директории notes/src/08-attiny85

#include "OneWire.h"
#include "LiquidCrystal_I2C.h"

OneWire ds(3);
LiquidCrystal_I2C lcd(0x27,16,2);

byte tempChar[] = {0x07,0x05,0x07,0x00,0x00,0x00,0x00,0x00};

void setup(){
    lcd.init();
    lcd.backlight();
    lcd.createChar(0, tempChar);
}

void loop(){
    byte data[2];

    ds.reset();
    ds.write(0xCC);
    ds.write(0x44);

    delay(1000);

    ds.reset();
    ds.write(0xCC);
    ds.write(0xBE);

    data[0] = ds.read();
    data[1] = ds.read();

    float temperature = ((data[1] << 8) | data[0]) * 0.0625;
    lcd.setCursor(0,0);
    lcd.print("Temp: " + String(temperature) + " C");
    lcd.setCursor(12, 0);
    lcd.write(0);
}

Выводы

Данный микроконтроллер может использоваться для различных устройств не трубовательных к питанию. Микроконтроллер может работать при напряжении 1.8V, при этом будет потреблять всего 0.3mA. Соответственно можно собрать схему с солнечной батареей и аккумулятором Ni-MH, отлично работающей при низких температурах.

Как вариант можно собрать внешний автономный блок для измерения температуры за бортом и передача этой информации на главный контроллер.

Фотофиниш

Градусник на Attiny85

Повысим немного температуру

Все работает как и планировали. При отсутствии дисплея можно значительно было бы понизить напряжение питания. На примере плата работает от 5V.

Digispark

Ещё есть платы базирующиеся на Attiny85/Attiny167, к примеру:

На данных платах уже имеется регулятор напряжения, на некоторых имеется внешний генератор тактовой частоты, что позволяет контроллеру работать на большей частоте.

Далее на чип можно загрузить нашу прошивку. Я решил использовать пример с и выводить показания на LCD дисплей как в

Так как дисплей требует подачи напряжения 5V, на микроконтроллер в данном случаи мы будем подавать 5V, датчик температуры и сам контроллер, могут работать на таком напряжении. В других случаях требуется более детально смотреть на характеристики подключаемых приборов. Детальную схеме подключения можно посмотреть в

Все характеристики можно посмотреть в к контроллеру.

Вся необходимая информация по подключению имеется на сайте

термометром
примере ранее
файле
описании
Digispark
Digispark Pro
DigistumpArduino
Attiny85
официальном сайте
Arduino as ISP with Attiny85
Attiny85 termometer
Attiny85 термометр
Attiny85 термометр тест работы