Найти тему
lab240

Как программировать Attiny85 в Arduino IDE

Вот такой прелестный МИНИ микроконтроллер. Стоит копейки, встроенный microusb - просто чудо для простых задач. Вот и я хотел его применить для управления вентилятором с помощью ШИМ. Однако заставить "шиться" это чудо оказалось спецзадачей. Поэтому привожу инструкцию.

1. Устанавливаем Arduino IDE

2. В настройках прописываем новую плату как написано по ссылке

https://digistump.com/wiki/digispark/tutorials/connecting

Если кратко, то добавляем в свойствах “Additional Boards Manager URLs” ссылку
http://digistump.com/package_digistump_index.json
Идем в менеджер плат и устанавливаем платы Digistump AVR Boards
Теперь в списке плат можно выбрать "Digispark PRO (Default 16Mhz)

Особенность этого МК в том, что USB-устройство появляется только при включении. То есть мы вставляем USB-кабель, появляется устройство USB и через несколько секунд исчезает. Это отличается от того, как мы шьем ESP32\8266 или Arduino с microusb. В ubuntu мы можем проверить следующим образом.

lsusb (до того как мы подключили МК)

dmn@dmnX220:~/Documents/lab240/attiny85$ lsusb

Bus 002 Device 006: ID 0bdb:1911 Ericsson Business Mobile Networks BV

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 004: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)

Bus 001 Device 003: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

lsusb (как мы подключили MK)

dmn@dmnX220:~/Documents/lab240/attiny85$ lsusb

Bus 002 Device 006: ID 0bdb:1911 Ericsson Business Mobile Networks BV

Bus 002 Device 098: ID 16d0:0753 MCS Digistump DigiSpark

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 004: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)

Bus 001 Device 003: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Через некоторое время этот "девайс" пропадет. Важно записать вот эти цифры 16d0:0753.

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

Теперь создаем текстовый файл 98-usbasp.rules такого содержания, вписывая правильные цифры.

SUBSYSTEM=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", GROUP="users", MODE="0666"

и копируем его в директорию /etc/udev/rules.d/ (через sudo)

После этого перегружаем правила командой.

sudo udevadm control --reload-rules

Теперь, если все сделано правильно МК должен шиться !