Сообщений: 3943
Своих тем: 10
Рег.: 10-2021
Репутация:
57
(10-02-2026, 01:32)Aleks : мне вот нужно с PB3 снять данные которые зависят от освещения (10-02-2026, 01:32)Aleks : от напряжения на PB4 и как то преобразовать 1024 в 6 часов. А вот тут вообще ход мысли теряю, если датчик автоматом включает или выключает от фоторезистора мощную нагрузку... Автоматика как бы есть? Для чего тогда 6 часов задавать?
А вообще, где будете схему применять? Для каких целей?
Сообщений: 97
Своих тем: 12
Рег.: 12-2021
Репутация:
0
(10-02-2026, 13:26)-vlad- : (10-02-2026, 01:32)Aleks : мне вот нужно с PB3 снять данные которые зависят от освещения (10-02-2026, 01:32)Aleks : от напряжения на PB4 и как то преобразовать 1024 в 6 часов. А вот тут вообще ход мысли теряю, если датчик автоматом включает или выключает от фоторезистора мощную нагрузку... Автоматика как бы есть? Для чего тогда 6 часов задавать?
А вообще, где будете схему применять? Для каких целей? Привет, логика схемы такова: Когда темнеет(регулируется R2) включается реле , 220вольт идёт на нагрузку(лампочку например или насос воду качает) реле будет оставаться включённым от 1 ого до 6 часов (зависит от положения R3), после чего схема переходит в режим ожидания до следующего вечера.
Сообщений: 3943
Своих тем: 10
Рег.: 10-2021
Репутация:
57
Так у вас и так будет код день-ночь. Он утром выключит нагрузку, а когда стемнеет, то включит нагрузку.
Можно, наоборот в коде сделать. Ночью нет нагрузки, как светлеет, то включит.
Для чего еще делать 6 часов как дублирование?
Ладно, проверьте код с #include <ATTinyCore.h>
Мне кажется, перешли бы на ардуино нано или uno, там больше возможностей.
Прилепить жк-экран 1602 и пару тройку кнопок для управления : курятника,полива,ночного освещения....
Сообщений: 97
Своих тем: 12
Рег.: 12-2021
Репутация:
0
Что то мы друг друга не поймём.... Например есть домик в деревне, сад, грядки с крапивой и их нужно поливать. Если включить насос на долго (от заката до рассвета) , он зальёт всё нафиг, если он включится днём , то под солнцем сгорит всё на что попадает вода. Если поставить умную розетку которая будет включать в 21.00 и выключать 22.30 то это до первого отключения света, это деревня и там это обычное дело, да и световой день всегда разный. Я делал аналоговое устройство которое меня полностью устраивает (уже пару лет стоит в курятнике продлевая световой день на нужное количество часов в зимнее время , для того что б они неслись лучше). А со светодиодами я за морочился что б хоть как ни будь информацию получать. Крутнул резистор который время работы задаёт, моргнул светодиод три раза значит свет будет гореть 3 часа ну и типа индикатор такой
Сообщений: 3943
Своих тем: 10
Рег.: 10-2021
Репутация:
57
Aleks, Вот теперь картина ясна.
Да, действительно, зачем всю ночь поливать огород, если как стемнеет его около часа достаточно поливать.
Ну летом, я бы 2 часа поливал ночью. Понял.
Ну, что, замутим на ардуино нано что нибудь подобное?
Просто, у attiny меньше возможностей.
Ардуино нано, стоит копейки.
Сообщений: 97
Своих тем: 12
Рег.: 12-2021
Репутация:
0
attiny у меня 5 штук уже года три пылятся, с микропроцессорами не очень, точнее очень не очень.
Сообщений: 3943
Своих тем: 10
Рег.: 10-2021
Репутация:
57
Просто attiny надо прошивать проводками от внешнего програматора.
Модуль (платку) ардуино nano просто через кабель (кабель от зарядки телефона) мы скетчуем и все управляется все из приложения ардуино ide.
Сравним цены на тиньку13 и ардуино nano.
Мне кажется цена кусается не
очень.
Просто, если тема по тиньке13, то она возможно заглохнет через несколько дней.
Если, тему продолжить на nano я останусь в теме, так как мне интересна тема по ардуино.
Буду честен, я учу ардуино 4 месяца и я еще зеленый. Мне практика нужна, да и проект интересен.
Сообщений: 97
Своих тем: 12
Рег.: 12-2021
Репутация:
0
Arduino NANO V3.0 модуль ------- Правильно ли я понял, покупаешь данный модуль , заливаешь в него нужную тебе программу, обвешиваешь её исполняющими модулями и датчиками , потом встраиваешь в корпус и блямм устройство готово???
Arduino NANO V3.0 модуль----- вот это типа одноразовый модуль (ну если не разбирать его потом)
Сообщений: 3943
Своих тем: 10
Рег.: 10-2021
Репутация:
57
(10-02-2026, 16:10)Aleks : Arduino NANO Да, залил скетч и пользуйся.
Нужна Ардуино Нано в другом проекте, вытащил из панельки и пользуйся там.
Она многоразовая.
И не надо там фьюзы или какие то головняки с проводками.
Как в телефон штекер вставил.
(10-02-2026, 16:10)Aleks : обвешиваешь её исполняющими модулями и датчиками Верно.
(10-02-2026, 16:10)Aleks : ну если не разбирать его потом Проц там уже впаян. Мега328.
Там паяльник и толком то и не
нужен. Все уже для фантазии кода готово.
Разве что объвязка.
Ардуино нано с кабелем Arduino
https://www.wildberries.ru/catalog/48552...=677201364
Сообщений: 97
Своих тем: 12
Рег.: 12-2021
Репутация:
0
Вот кусочек наваял, если можешь помоги с функцией. Задача функции :
ReadChas() при её вызове подпрограмма считывает число на пине А2 (Делает) , результат делит на 150, ограничивает число больше 6 и меньше 1 (Делает), Моргает светиком столько раз сколько часов крутилкой поставил (Делает).
Не Делает ---- Нужно что б после вызова функции она содержала число рабочих часов.
А то я только через глобальные переменные передать смог.
int sensePin = 4; // Пин к которому подключен фоторезистор
int ledPin = 0; // Пин к которому подключен светодиод
analog_pin_t AnChasPin = A2;
//analog_pin_t AnFotoPin = A3;
int val = 0;
int val2 = 0;
int a = 0;
int cha = 0;
int ReadChas() // функция перевода напряжения на аналоговом пину A2 в задержку выключения
{
int val = analogRead(AnChasPin);
delay(100);
int val2 = analogRead(AnChasPin);
if (val2 == val)
{
int val2 = val / 150;
if (val2 <= 0) int val2 = 1;
if (val2 >= 7) int val2 = 6;
cha = val2; // cha <- количество часов определённых крутилкой.
int ledPin = 0;
do {
val2=val2-1;
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
} while(val2 > 0);
}
delay(1500);
}
void setup() {
pinMode(ledPin, OUTPUT); // назначаем пин ledPin выходом
pinMode(1, OUTPUT);
pinMode(AnChasPin, INPUT); // назначаем пин AnChasPin аналоговым входом
}
void loop() {
ReadChas(); // вызов функции из тела программы
a = cha;
int ledPin = 1;
do {
a=a-1;
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
} while(a > 0);
delay(1500);
}
|