скетч незделон до кoнца

oleg oleg
Offline
Зарегистрирован: 01.02.2018

 

здравствуйте
могли бы помочь сделать скетч для ардуино
хочу сделать чтобы шаговы двигател в апредилонной температуре поварачевалсабы в адну сторону в другой температуре в другую.
ниже скетч незделон до канца. может укажете ошыбки мойи:::
​<<<Cketh>>>
#include <OneWire.h> // Подключаем библиотеку для взаимодействия с устройствами, работающими на шине и по протоколу 1-Wire
#include <DallasTemperature.h> // Подключаем библиотеку с функциями для работы с DS18B20 (запросы, считывание и преобразование возвращаемых данных)
#define ONE_WIRE_BUS 2 // Указываем пин подключения data-вывода датчика температуры
#define term_power 4 // Указываем пин подключения питания датчика температуры
OneWire oneWire(ONE_WIRE_BUS); // Сообщаем библиотеке об устройстве, работающем по протоколу 1-Wire
DallasTemperature sensors(&oneWire); // Связываем функции библиотеки DallasTemperature с нашим 1-Wire устройством (DS18B20)
#include <CustomStepper.h> // Подключаем библиотеку управления шаговым двигателем. По умолчанию настроена на двигатель 28BYJ-48-5V
CustomStepper stepper(8, 9, 10, 11); // Указываем пины, к которым подключен драйвер шагового двигателя
float tempC;
float t1=25.0; // Переменная для демонстрации работы, отвечающая за смену режимов
float t2=20.0;
void setup()
{
stepper.setRPM(12); // Устанавливаем кол-во оборотов в минуту
stepper.setSPR(4075.7728395); // Устанавливаем кол-во шагов на полный оборот. Максимальное значение 4075.7728395
Serial.begin(9600); // Запускаем вывод данных на серийный порт
sensors.begin(); // Запускаем библиотеку измерения температуры
pinMode(term_power, OUTPUT); } // Определяем пин подключения питания датчика температуры
float temperature()
{
// Измеряем температуру 10 секунд
digitalWrite(term_power, HIGH); // Включаем питание датчика температуры
delay(100); // Задержка перед первым измерением
sensors.requestTemperatures(); // Запрос на измерение температуры (1-й ошибочный)
delay(500); // Задержка перед поторным измерением
sensors.requestTemperatures(); // Запрос на измерение температуры (повторный)
float t = float(sensors.getTempCByIndex(0)); // Получаем значение температуры
digitalWrite(term_power, LOW); // Отключаем питание датчика температуры
delay(9400); // Задержка, чтобы датчик не нагревался от частых измерений
return(t); // Возвращаем значение температуры в место вызова функции
}
void loop()
{ Serial.println(temperature(),1); // Выводим текущее значение температуры датчика, округленное до десятых
if (tempC>=t1) // Когда предыдущая команда выполнена (см. ниже), метод stepper.isDone() возвращает true
{
stepper.isDone();
stepper.setDirection(CCW); // Устанавливает направление вращения. Может принимать 3 значения: CW - по часовой, CCW - против часовой, STOP
stepper.rotateDegrees(90); // Устанавливает вращение на заданное кол-во оборотов
stepper.run();
}
else
if (tempC<=t2)
{
stepper.isDone();
stepper.setDirection(CW);
stepper.rotateDegrees(90); // Будет вращать пока не получит команду о смене направления или пока не получит директиву STOP
stepper.run();
}
}

 

b707
Offline
Зарегистрирован: 26.05.2017

ашипки в русском языке тоже указывать?

В первую очередь - вставьте код скетча как положено на форуме - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...

Без этого ваш код никто разбирать не будет.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

oleg oleg пишет:

хочу сделать

Хочешь - делай!

Я вот, например, "Ларису Ивановну хочу", и чего? Хочу и делаю!

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

b707 пишет:

ашипки в русском языке тоже указывать?

Надеюсь, за отдельную плату?

inspiritus
Offline
Зарегистрирован: 17.12.2012

Ага, в программе комментарии тоже его рук дело :)

CheS_66
CheS_66 аватар
Offline
Зарегистрирован: 08.02.2017

Климат-контроль однако мутит похоже. Где-то уже попадалось такое. В машину вместо родной крутилки (горячо/холодно) ставится переменный резистор. Серва двигает заслонку, а датчик температуры и ардуина решают, насколько открыть/закрыть заслонку.