Ви не увійшли.
Сторінки 1
Единственная книга, которая была на книжкой выставке) Если не сложно посоветуйте какую книгу можно купить , нужен бумажный вариант, электронки быстро бросаю, не дочитываю, или глаза начинают болеть..
Код останавливает на 4ой строке
//Project 8 - быстродействующий термометр
#define 2 COLD
#define 4 NORMAL
#define 6 HOT //вот здесь
float voltage = 0;
float celsius = 0;
float coldTemp = 20;
float hotTemp = 26;
float sensor = 0;
void setup() {
pinMode(COLD, OUTPUT);
pinMode(NORMAL, OUTPUT);
pinMode(HOT, OUTPUT);
}
void loop() {
//Прочитать напряжение с датчика температуры
//и преобразоватьв градусы цельсия
sensor = analogRead(0);
voltage = (sensor *5000)/1024; //преобразовать в милливольты, учесть смещение
voltage = voltage - 500;
celsius = voltage/10;
//выпонить действие для разных диапозонов температур
if (celsius < coldTemp)
{
digitalWrite(COLD, HIGH);
delay(1000);
digitalWrite(COLD, LOW);
}
else if (celsius > coldTemp && celsius <= hotTemp)
{
digitalWrite(NORMAL, HIGH);
delay(1000);
digitalWrite(NORMAL, LOW);
} else
{
digitalWrite(HOT, HIGH);
delay(1000);
digitalWrite(HOT, LOW);
}
}
Спасибо!
Ваш код для моей цепи написан был? Просто он ещё хуже работает, светодиоды тоже рандомно моргают, но тестер уже не работает. Если не так, то подскажите что исправить нужно в цепи?
С другом посидели над кодом методом проб вот что самое лучшее получилось родить. Вместо батареек использовал сетевой адаптер , чтоб удобнее было, поменял диапозоны напряжений . Светодиоды опять же ведут себя надекватно, горит то один, то два, то три, но они мерцают, дребезжат. На адаптере напряжение при установленном 4.5 В выдает, 4.61 вольт, но сам тестер врубает как видите желтый до 4.92, т.е. в самой цепи гуляет какое-то напряжение где-то в 305 вольт.
Начинаю подозревать, что это косяк моей ардуины.. Ещё раз прошу посмотреть, правильно ли я собрал цепь, а то может я упускаю нечто простейшее фундаментальное , т.к. это первая схема которую я собрал не по картинке.
// Проект 6 - Тестер для одноэлементных батареек
#define newLED 2 //зеленый светодиод "новая"
#define okLED 4 //желтый cветодиод "норма"
#define oldLED 6 //красный светодиод "старая"
int analogValue = 0;
float voltage = 0;
int ledDelay = 2000;
void setup()
{
pinMode(newLED, OUTPUT);
pinMode(okLED, OUTPUT);
pinMode(oldLED, OUTPUT);
}
void loop()
{
analogValue = analogRead(0);
voltage = 0.0048*analogValue;
if (voltage >=1 && voltage <= 4) //напряжение от 1 до 4 - горит красный
{
digitalWrite(newLED, HIGH);
digitalWrite(okLED, LOW);
digitalWrite(oldLED, LOW);
}
else if (voltage > 4 && voltage <= 4.92) //напряжение от 4 до 4.92 - горит красный
{
digitalWrite(newLED, LOW);
digitalWrite(okLED, HIGH);
digitalWrite(oldLED, LOW);
//delay(ledDelay);
//digitalWrite(okLED, LOW);
}
else if (voltage > 4.92)
{
digitalWrite(okLED, LOW);
digitalWrite(newLED, LOW);
digitalWrite(oldLED, HIGH);
}
else
{
digitalWrite(oldLED, LOW); //если напряжение меньше 1 вольта - ничего не горит
digitalWrite(okLED, LOW); // но по факту они по прежнему горят
digitalWrite(newLED, LOW);
}
}
Правильно ли я собрал схему?
Тупо все по книжке сделал, только цепь по схеме,картинок не было , но как оказалось и тут может быть какой-то косяк. Светодиоды горят поочередно, как-то рандомно. При тесте батареек вроде реагируют, и то не в 100% случаях и всегда с какой-то небольшой задержкей.
Что делаю не так?
// Проект 6 - Тестер для одноэлементных батареек
#define newLED 2 //зеленый светодиод "новая"
#define okLED 4 //желтый cветодиод "норма"
#define oldLED 6 //красный светодиод "старая"
int analogValue = 0;
float voltage = 0;
int ledDelay = 2000;
void setup()
{
pinMode(newLED, OUTPUT);
pinMode(okLED, OUTPUT);
pinMode(oldLED, OUTPUT);
}
void loop()
{
analogValue = analogRead(0);
voltage = 0.0048*analogValue;
if (voltage >= 1.6)
{
digitalWrite(newLED, HIGH);
delay(ledDelay);
digitalWrite(newLED, LOW);
}
else if (voltage < 1.6 && voltage > 1.4)
{
digitalWrite(okLED, HIGH);
delay(ledDelay);
digitalWrite(okLED, LOW);
}
else if (voltage <= 1.4)
{
digitalWrite(oldLED, HIGH);
delay(ledDelay);
digitalWrite(oldLED, LOW);
}
}
Попробовал от себя добавить значение low всем LEDам в setup, но потом удалил т.к. ничего не дало?
Что не так?
Ребята, извините ,что потратил ваше время, дико затупил, действительно были русские буквы, забыл поставить // в самом начале описании проекта. Зато теперь во мне появилась дополнительная уверннность, что если надо, то я не один и кто-нибудь может помочь, спасибо!)
У меня arduino uno r3 (если это имеет значение). Перезапускал ide, все равно выдает ошибки. Менял на всякий случай имя переменной int, ничего не изменилось.
Это весь код. Светодиоды должны делать бегущую волну, без цикла for , просто поочередно повышая digitalWrite все работало.
Начинаю изучать arduino, помогите пожалуйста, сделал все тупо по книжке , при проверке выдает ошибки.
int d = 100;
void setup()
{
pinMode(2, OUTPUT); //Устанавливаем пины
pinMode(3, OUTPUT); // со 2ого по 5ый как источнки
pinMode(4, OUTPUT); //цифровых выходов
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void loop()
{
for ( int a = 2; a < 7; a++ )
{
digitalWrite(a, HIGH);
delay(d);
digitalWrite(a, LOW);
delay(d);
}
}
При проверке выдает ошибки
Куча таких с разными номерами в '\ '
Project_2:1: error: stray '\260' in program
и
Project_2:1: error: expected unqualified-id before numeric constant
C:\Users\Антон\Documents\Arduino\Project_2\Project_2.ino: In function 'void loop()':
Project_2:19: error: 'd' was not declared in this scope
exit status 1
stray '\320' in program
Сторінки 1