Нужна помощь с attiny13
#11
(09-02-2026, 22:26)Aleks : но ошибка с портами осталась.
А что пишут?
#12
Вообще ни чего, ошибок нет, ну за исключением того , что нужно обновить прошивку программатора. Всё по прежнему на пинах 0 и 1 не могу светодиод включить пока 4 пин выходным не сконфигурирую.
Кстати, вы как программируете? Я давно этим не занимался, и ещё обратной связи с этим микроконтроллером у меня нет, не могу посмотреть какие значения переменные принимают, что и где на входах. Вроде и программа не сложная, но путаюсь и время много уходит.
#13
(09-02-2026, 23:02)Aleks : Кстати, вы как программируете?
Ну Нано или Уно чуть по другому. Вам главное правильно заполнить среду ide.
На github скачать , через менеджер плат нужную плату Attiny13.
Настроить параметры Attiny13.
USBasp правильно расключить там miso mosi итд

Что то я смотрю тут attiny13 нет.
https://github.com/damellis/attiny

А вот нашел.
https://github.com/samw3/attiny13

И вот тут правильно поля заполнить.

Как на скрине есть у вас attiny?
У меня nano стоит. Там в списке есть attiny?
Если нет, то по сылке сходите, там Зеленая кнопка есть. Нажмите и там внизу появится zip архив.
Скачайте и потом добавить в менеджер плат.Распакуйте.
Должна в списке появится attiny.

Файлы вложений Эскизы
   
#14
У меня это работает
(09-02-2026, 23:34)-vlad- : USBasp правильно расключить там miso mosi итд
Да , спасибо это я в курсе, подключил всё ок. Просто я за жуткие неудобства из за отсутствие способа проконтролировать входы с пинов, мне вот нужно с PB3 снять данные которые зависят от освещения а они от 0 до 1024 вроде в какой то момент включить а потом выключить его в зависимости от напряжения на PB4 и как то преобразовать 1024 в 6 часов.
Небольшая ошибка не в синтаксисте, а в вычислениях и это начнёт жить своей чудной жизнью.
Тут лучше. Файл=>Параметры в низу
Окно для ввода ссылок для менеджера плат.
Копируем туда вот эту ссылку https://mcudude.github.io/MicroCore/pack...index.json и нажимаем OK. В окне параметры так же нажимаем OK. После этого нажимаем Инструменты/Плата/Менеджер плат.
#15
PB4 как INPUT, так же через резистор, защитить пин.
Забыл строчку дописать.

void setup() {
pinMode(PB0, OUTPUT); // светодиод красный
pinMode(PB1, OUTPUT); // светодиод зеленый
pinMode(PB4, INPUT); // входящий пин
}
void loop() {
if (digitalRead(PB4) == HIGH) {
// PB4 высокий, то светодиоды должны поморгать.
digitalWrite(PB0, HIGH);
digitalWrite(PB1, LOW);
delay(1000);
digitalWrite(PB1, HIGH);
digitalWrite(PB0, LOW);
delay(1000);
}
}
#16
Даже не поморгать, а бесконечно моргать будут.
Как только на входящем пине будет низкий, то мигание остановится на каком то из светодиодов и он будет просто светится. Как только на входящем опять высокий, то опять начнется loop.

(10-02-2026, 01:32)Aleks : с PB3 снять данные которые зависят от освещения а они от 0 до 1024 вроде в какой то момент включить
Ну это, датчик освещения который поцепить на входящий пин.
Можно найти модуль ардуиновский и под него код написать, как PB3(INPUT).

PB2 управляет мощной нагрузкой.
Так же есть модуль mosfet кажется ардуиновский и подцепить.
Так же в код надо внести изменения , как PB2 (OUTPUT).

Вообще, схема с первого поста какая то замудренная, с крутилками...можно еще проще сделать.
Считать пином уровень освещения и через (if).
Если например на входящем пине (например в мониторе порта около 100), то открываем irf.
Если например на входящем пине (например в мониторе порта около 500), то закрываем irf.
Получится типа день-ночь.
#17
100 и 500 это условная цифра, для примера.
В темной комнате считали пином инфу с датчика освещености в мониторе порта (записали в тетрадку), так же в светлом помещении посмотрели в мониторе порта(записали в тетрадку).

Моргания светодиодами тут вообще нафиг толком и не
нужны.
Их можно применить, например:
Зеленый светится пока работает мощная нагрузка(прожектор).
Красный светодиод светится, когда режим ожидания.

https://ozon.ru/t/3h91tVm
Вот Датчик освещенности.    

(10-02-2026, 01:32)Aleks : PB3 снять данные которые зависят от освещения а они от 0 до 1024
Вот готовое решение.

Вот модуль, который управляет мощной нагрузкой.
https://ozon.ru/t/7WiNR6T
   

Только мощной нагрузкой управлять уже после реле(5v) и через пускатель iek ну там на 220v 16Ам для спокойствия.
#18
(10-02-2026, 08:13)-vlad- : 100 и 500 это условная цифра, для примера.
В темной комнате считали пином инфу с датчика освещености в мониторе порта (записали в тетрадку), так же в светлом помещении посмотрели в мониторе порта(записали в тетрадку).
Мда, поспешил я.Фантазер. У attiny13 нет выхода в монитор порта ардуино ide.
Ни чего страшного, заливая и заливая и заливая... код и подбирая значение: const int threshold = 512; // Подбираю уровень освещенности
можно будет настроить схему включения, что бы работала как надо днем и ночью.

На ардуино Нано как то все просто, попробовал.
А в тиньку наверное фиг засунешь, если поменять на PB2 и PB3 ?
Я просто Тинькой ни разу не пользовался.

const int FotoPin = A3; // Фототранзистор
const int ledPin = 13; // Светодиод
const int threshold = 512; // Подбираю уровень освещенности
void setup() {
pinMode(ledPin, OUTPUT); // Светодиод как выход
}
void loop() {
int lightLevel = analogRead(FotoPin); // Считываю
if (lightLevel < threshold) {
digitalWrite(ledPin, HIGH); // Светимся, если темно
} else {
digitalWrite(ledPin, LOW); // не светимся , если светло
}
delay(100); // перекур
}
#19
(10-02-2026, 01:32)Aleks : Копируем туда вот эту ссылку https://mcudude.github.io/MicroCore/pack...index.json и нажимаем OK. В окне параметры так же нажимаем OK. После этого нажимаем Инструменты/Плата/Менеджер плат.
Установил.
Что за дичь attiny13 ?
#20
Попробуйте эту библиотеку и этот код. Как на скрине добавить библиотеку и zip архив прилагаю: https://disk.yandex.ru/d/XfLTBxaghhL43A

#include <ATTinyCore.h>
const uint8_t FotoPin = PB3;  // Фототранзистор
const uint8_t ledPin = PB2;  //Светодиод
const int threshold = 512;    // Подбираю уровень освещенности
void setup() {
  pinMode(ledPin, OUTPUT);    // Светодиод как выход
}
void loop() {
  int lightLevel = analogRead(FotoPin); // Считываю
if (lightLevel < threshold) {
    digitalWrite(ledPin, HIGH); // Светимся, если темно
  } else {
    digitalWrite(ledPin, LOW);  // не светимся , если светло
  }
delay(100); // перекур
}