Digispark Rev. 3 Kickstarter ATtiny85 использует все 6 контактов
у меня возникли некоторые проблемы с одновременным использованием i2c и других контактов.
я пытаюсь управлять attiny по i2c с помощью arduino, а attiny должен управлять мачехой 28byj-48.
я начал настраивать соединение i2c, для этого используется вывод 0 и вывод 2. он работает нормально, но затем я подключил драйвер мачехового двигателя на вывод 1,3,4,5.после подключения 5-контактного разъема я теряю соединение i2c.
вот код из attiny, ничего особенного
#include <TinyWireS.h> // класс оболочки для подчиненных подпрограмм I2C
#define I2C_SLAVE_ADDR 0x29 // slave адрес i2c (38)
#define A 1
#define B 3
#define C 4
#define D 5
#define NUMBER_OF_STEPS_PER_REV 512
void setup(){
pinMode(1,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
TinyWireS.begin(I2C_SLAVE_ADDR); // нициализация I2C ведомый режим
}
void loop(){
byte byteRcvd = 0;
if (TinyWireS.available()){ // есть вход I2C!
byteRcvd = TinyWireS.receive(); // получить байт от master
//Blink(byteRcvd); // мастер должен дождаться завершения этого, прежде чем вызвать Wire.requestFrom
//byteRcvd += 10; // добавьте 10 к полученному
//TinyWireS.send(byteRcvd); // отправить его обратно мастеру
// Blink(1); // показать, что мы передали
}
}
@Kim, 👍1
2 ответа
Такой платы Digispark, как Rev 3, не существует. Так и должно было быть, но произошла ошибка, поэтому они сразу перешли со 2-го на 4-й. Однако недобросовестные китайские фальшивомонетчики изготавливают платы "Rev 3".
Итак... ваш пробег может отличаться, так как используемые там компоненты могут быть любого сомнительного качества.
Но к вашей проблеме: P5-это также контакт RESET. Если предохранители на этом чипе установлены правильно, его можно использовать в качестве порта ввода-вывода. Но, будучи подделкой, кто знает, на что они устанавливают предохранители?
Но если вы все-таки измените предохранители, вам придется полагаться на сброс питания (его подключение) для запуска загрузки.
В качестве дополнения к ответу Майенко я могу сообщить, что использовал многие подделки "Rev.3", каждая из которых поставляется с предохранителями по умолчанию для чипа, поэтому сброс включен.
Вы можете установить предохранитель RSTDISBL с помощью вашего Arduino, а также обновить загрузчик micronucleus в процессе (освободив 0,4 кб).
Имейте в виду, что установка этого предохранителя отключит программирование ISP, поэтому вам понадобится работающий загрузчик для перепрограммирования чипа, если вы не вернете его с помощью программирования HV.
- Связь AtTiny44 и AtTiny 85
- I2C с ATtiny85 на частоте 8 МГц с использованием библиотеки TinyWireM
- Библиотеки I2C для ATTiny85?
- ATtiny85 I2C ЖК
- длина провода i2c
- Библиотека Wire.h работает на Uno, но не компилируется для ATtiny85
- Программирование сервопривода на ATtiny85
- Digispark ATtiny 85 - не распознается как HID устройство