Помогите начинаюшему
- Войдите на сайт для отправки комментариев
Чт, 26/02/2015 - 14:29
Пытаюсь освоить ардуино ...
Хочу выводить время температуру и влажность на дисплей от Nokia 5110 c температурой и влажностью все норм нашел рабочий код а вот со временем не совсем... не могу его вывести на дисплей только на ком порт получаеться..
что надо изменить в коде?
Посоветуйте литературку для начинаюших)
датчик темпереатуры dht11
модуль реального времени на основе DS3231
#include <LCD5110_Basic.h>
#include <dht11.h>
#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>
LCD5110 myGLCD(8, 9, 10, 11, 12);
dht11 sensor;
tmElements_t tm;
extern uint8_t SmallFont[];
extern uint8_t BigNumbers[];
void setup()
{
myGLCD.InitLCD(63);
Serial.begin(9600);
while (!Serial) ; // wait for serial
delay(200);
Serial.println("");
Serial.println("-------------------");
}
void loop()
{
sensor.read(7);
myGLCD.clrScr();
myGLCD.setFont(BigNumbers);
myGLCD.printNumI(sensor.temperature , LEFT, 0);
myGLCD.printNumI(sensor.humidity, 45, 0);
myGLCD.setFont(SmallFont);
myGLCD.print("C", 30, 20);
myGLCD.print("%", 75, 20);
myGLCD.print("12", CENTER, 38);
delay(1000);
tmElements_t tm;
if (RTC.read(tm)) {
Serial.print("Ok, Time = ");
print2digits(tm.Hour);
Serial.write(':');
print2digits(tm.Minute);
Serial.write(':');
print2digits(tm.Second);
Serial.print(", Date (D/M/Y) = ");
Serial.print(tm.Day);
Serial.write('/');
Serial.print(tm.Month);
Serial.write('/');
Serial.print(tmYearToCalendar(tm.Year));
Serial.println();
} else {
if (RTC.chipPresent()) {
Serial.println("The DS1307 is stopped. Please run the SetTime");
Serial.println("example to initialize the time and begin running.");
Serial.println();
} else {
Serial.println("DS1307 read error! Please check the circuitry.");
Serial.println();
}
delay(9000);
}
}
void print2digits(int number) {
if (number >= 0 && number < 10) {
Serial.write('0');
}
Serial.print(number);
}
Я с этим дисплеем не работал, значит могу ошибатся. Для начала научитесь вставлять код http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
чтобы люди не бегали по всей портянке и могли ссылатся на конкретные строки. Далее разберитесь с системой команд дисплея
myGLCD.clrScr();
Если RTC DS3231, то почему используете библиотеку от DS1307. Они не совместимы.
Я пользовал эту https://github.com/NorthernWidget/DS3231
Примеры внутри библиотеки
Sim0012 а какую плату arduino вы использовали? а то у меня Arduino Nano v3.0
Мне нужно чтоб работал компас и барометр с температурой, вроде все само по сибе работает(Монитор последовательности порта) но увязать два датчика с выводом на экран не могу. Я вообще совсем новичек так что незнаю даже с чего начать изучение чтоб последовательно все освоить :)
Sim0012 а какую плату arduino вы использовали? а то у меня Arduino Nano v3.0
Мне нужно чтоб работал компас и барометр с температурой, вроде все само по сибе работает(Монитор последовательности порта) но увязать два датчика с выводом на экран не могу. Я вообще совсем новичек так что незнаю даже с чего начать изучение чтоб последовательно все освоить :)
Начните вот с этого http://arduino.ru/Reference
И найдите У.Соммер "Програмирование микроконтроллерных плат Arduino/Freeduino". Ток начать придется с мигания светодиодм, а не с боевых дронов и звезд смерти.
Да, и шрифт нормальный поставьте.
Использую uno китайскую
В этой статье http://ardushop.ru/kak-podklyuchit-chasy-realnogo-vremeni-k-arduino/ говориться что они полностью совместимы. И у меня на компорт верное время выдаеться
А код который пишется он подходит ко всем платам, например если написан для Nano а применять на Uno, Mega, Pro mini и т.п. или на оборот?
А код который пишется он подходит ко всем платам, например если написан для Nano а применять на Uno, Mega, Pro mini и т.п. или на оборот?
В большинстве случаев да, но возможно придется дорабатывать если другой МК. Нано, UNO, Pro mini между собой скорее всего без проблем, а вот для Меги уже может не подойти (нужно дорабатывать)
Если использовать мощные сервоприводи то желательно питание реализовать отдельно, не через USB? И если в спецификации платы указано питание 6-20в то можно спокойно подавать в данных пределах или лучше среднее что то вывести.
На плату лучше не превышать 12В иначе могут сдохнуть ее стабилизаторы. USB только для экспериментов с оглядкой. Сервы двигатели реле только отдельное, кроме токов меньше помех по цифровым сетям.
Я случайно кз своей ардуино сделал, все работает нормально но теперь только с дополнительным питанием , с USB не хватает светодиод L на плате горит очень тускло. То что в этом случаи вышло из строя на платы?
Sim0012 Посмотри ветку форума "Русские символы LCD5110" в "Общие", может что-нибудь поможет тебе...
нашел код для определения влажности почвы
#include <LiquidCrystal.h> #include <OneWire.h> //подключаем библиотеку OneWire ds(1); LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); int pr=0; int pochva=0; void setup() { lcd.begin(16, 2); } void loop() { //Определение влажности почвы if (analogRead(2) <= 820) // Если очень влажная почва {lcd.setCursor(8, 1); lcd.setCursor(0,1); //Первый символ второй строки lcd.print("Pochva:"); //Текст второй строки lcd.print("Ochen Vlagno"); delay(1000);}//Обновление значения каждые 10 секунд else if( analogRead(2)>820 && analogRead(2)<900)//Умеренно влажная {lcd.setCursor(8, 1); lcd.print("VLAJNAYA");lcd.setCursor(0,1); //Первый символ второй строки lcd.print("Pochva:"); //Текст второй строки delay(1000);}//Обновление значения каждые 10 секунд else {lcd.setCursor(8, 1);//Если сухая почва lcd.print("SUHAYA");lcd.setCursor(0,1); //Первый символ второй строки lcd.print("Pochva:"); //Текст второй строки delay(1000);}//Обновление значения каждые 10 секунд }и пытаюсь переделать его под дисплей нокиа 5110 но чтото не выходит(( Посмотрите что не так ))
#include <LCD5110_Basic.h> #include <OneWire.h> LCD5110 lcd(8, 9, 10, 11, 12); extern uint8_t SmallFont[]; extern uint8_t BigNumbers[]; void setup() { lcd.InitLCD(63); } void loop() //Определение влажности почвы if (analogRead(2) <= 820) // Если очень влажная почва {lcd.setCursor(8, 1); lcd.setCursor(0,1); //Первый символ второй строки lcd.print("Pochva:"); //Текст второй строки lcd.print("Ochen Vlagno"); delay(1000);}//Обновление значения каждые 10 секунд else if( analogRead(2)>820 && analogRead(2)<900)//Умеренно влажная {lcd.setCursor(8, 1); lcd.print("VLAJNAYA");lcd.setCursor(0,1); //Первый символ второй строки lcd.print("Pochva:"); //Текст второй строки delay(1000);}//Обновление значения каждые 10 секунд else {lcd.setCursor(8, 1);//Если сухая почва lcd.print("SUHAYA");lcd.setCursor(0,1); //Первый символ второй строки lcd.print("Pochva:"); //Текст второй строки delay(1000);}//Обновление значения каждые 10 секунд }пишет
после void loop() открывающаяся фигурная скобка
Теперь вообще целуу гору ошибок выдает((
Вы пытаетесь методами класса LiquidCrystal рулить в классе LCD5110. А там методы совершенно другие, нет там никаких setCursor, print имеет 3 операнда, а не один.
Для меня это пока аброкадабра(( Где можно поподробнее узнать?
Sim0012 Посмотри ветку форума "Русские символы LCD5110" в "Общие", может что-нибудь поможет тебе...
А как сделать чтобы при определенной влажности включалось релле?
Чтото вот это не хочет работать
if (analogRead(2) <= 200) {digitalWrite(7, HIGH);}Вроде разобрался)
void setup() { pinMode( 7 , OUTPUT); } void loop() { if (( ( 200 ) > ( analogRead(2) ) )) { digitalWrite( 7 , HIGH ); } else { digitalWrite( 7 , LOW ); } }digitalWrite(7, (analogRead(2) > 200));
вместо if-else
А как снимать показания с датчика влажности почвы раз в минуту а не постоянно?
if (millis()%60000==0) digitalWrite(7, (analogRead(2) > 200));
снимать и записывать
Использую вот такой вт датчик влажности почвы и на него все время подаеться напряжение((( с эти можно чтото сделать?
if (millis()%60000==0) digitalWrite(7, (analogRead(2) > 200));
снимать и записывать
В отделном скетче все работает . А когда совмещаю нет((( Что может быть?
#include <DS1307.h> #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> #include <SPI.h> #include <dht11.h> // pin 7 - Serial clock out (SCLK) // pin 6 - Serial data out (DIN) // pin 5 - Data/Command select (D/C) // pin 4 - LCD chip select (CS) // pin 3 - LCD reset (RST) Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12); DS1307 rtc(A4, A5); // Инициализация библиотеки с указанием Time t; // Инициализация структуры //String str1; char* str[]={"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"}; int d; dht11 sensor; void setup() { Serial.begin(9600); display.begin();// Инициализация дисплея display.setContrast(55); display.setTextSize(1); rtc.halt(false); // Установка режимов // rtc.writeProtect(false); // работы часов // Следующих три строки нужно закомментировать после // установки времени и загрузить скетч в плату повторно //rtc.setDOW(7); // Установка дня недели //rtc.setTime(14, 25, 00); // Установка времени 10:59:10 //rtc.setDate(01, 03, 2015); // Установка даты 20 июля 2013 pinMode( 7 , OUTPUT); } void loop() { t = rtc.getTime(); // Получение времени и его запись в структуру t display.setTextSize(2); // Установка набора символов display.clearDisplay(); // Очистка экрана if(int(t.hour)<10){ display.setCursor(9,0); display.print("0"); display.setCursor(22,0); display.print(t.hour);} // Вывод часов else{ display.setCursor(9,0); display.print(t.hour);} display.setCursor(37,0); display.print("-"); if(int(t.min)<10){ display.setCursor(51,0); display.print("0"); display.setCursor(65,0); display.print(int(t.min));} // Вывод минут else{ display.setCursor(51,0); display.print(int(t.min));} display.setTextSize(1); // Установка набора символов if(int(t.sec)<10){ display.setCursor(37, 0); display.print("0"); display.setCursor(43, 0); display.print(int(t.sec));} // Вывод секунд else{ display.setCursor(37, 0); display.print((t.sec));} // Вывод секунд display.setCursor(13,17); display.print(rtc.getDateStr()); // Вывод даты sensor.read(4); display.setTextSize(1); // Установка набора символов display.setCursor(60, 27); display.print(sensor.temperature); display.setCursor(15, 27); display.print("Темп.С"); display.setCursor(60, 37); display.print(analogRead(2)); display.setCursor(15, 37); display.print("Влаж.%"); display.display(); // Вывод вместимого буфера на дисплей delay (1000); // Задержка 1 с if (millis()%3000==0) digitalWrite(7, (analogRead(2) > 200)); }Из-за delay (1000) значение кратное millis()%3000 попадает в пропускаемый диапазон и ничего не работает. предложенный мной метод не работает если есть функции delay(), или программа достаточно большая. перед delay (1000) сделайте:
if (Counter++ == 0) digitalWrite(7,(analogRead(2)>200);
if (Counter >= 3) Counter=0;
добавьте к int d;
int d, Counter=0;
Захотелось большего) Чтобы в определенный промежуток времени датчик работал... нашел скетч для управления аквариумом и обрезал его
#include <Wire.h> //необходимо для работы с часами #include <OneWire.h> // подключаем библиотеку для работы с 1-Wire #include <DS1307.h> // подключаем библиотеку для работы с часами DS1307 int ledPin = 7; // управление светодиодами, присоединён к pin 7 long tmIntv = 1000; //интервал для обновления времени на экране каждую секунду long tempIntv = 30000; //интервал для обновления температуры, хватит и пол минуты long prvMlsTm = 0; //предыдущее показание миллисекунд для обновления показания часов long prvMlsTemp = 0; //предыдущее показание миллисекунд для обновления показания температуы long prvMlsLght = 0; //предыдущее показание миллисекунд для проверки временного интервала long lghtIntv = 5000; //интервал для проверки включения/выключения освещения аквариума,5сек 1 минута int lghtStat = 0; //если подсветка включена, то в 1 int upLghtTime = 12; //включаем в 8 утра int downLghtTime = 7; //выключаем в 17 вевера int isNight = 0; //если включаем на ночь, т.е. начальное время больше конечного int prevSec = 0; //предыдущее показание секунд для перезапуска если остановились //отрабатывает при включении Arduino void setup(){ pinMode(ledPin, OUTPUT); // режим порта устанавливаем на вывод (запись) if (upLghtTime > downLghtTime) { //если ночное время isNight = 1; } } void light () { //включаем/выключаем освещение аквариума int hr; int isLght = 0; hr = RTC.get(DS1307_HR, true); //получаем значение часов if (isNight == 0) { //если день if (hr >= upLghtTime && hr < downLghtTime) { //проверяем интервал isLght = 1; //если необходимо включить свет } else { isLght = 0; } } else { //если ночь if(hr - upLghtTime >= 0) { //если больше или равно верхнему значению, то необходимо включить свет isLght = 1; //если необходимо включить свет } else { if(hr < downLghtTime) { //если меньше нижнего значения, то необходимо включить свет isLght = 1; //если необходимо включить свет } else { isLght = 0; } } } //закончился цикл выбора: день или ночь? if((isLght == 1) && (lghtStat == 0)) { //если свет еще не включен и выставлен флаг необходимости включить lghtStat = 1; digitalWrite(ledPin, HIGH); //собственно, включаем подавая высокий уровень на вывод } else { if(isLght == 0 && lghtStat == 1) { lghtStat = 0; digitalWrite(ledPin, LOW); //собственно, выключаем снимая высокий уровень на выводе } } } void loop() //постоянно отрабатывает в цикле { unsigned long currentMillis = millis(); //миллисекунд прошло со старта //дело в том, что если делать через delay(), то система в это время простаивает, //а нам постоянно необходимо чего-нить обрабатывать //поэтому просто считаем прошедшее время и сверяем его с интервалами //проверяем не прошел ли нужный интервал для обновления часов, если прошел то if(currentMillis - prvMlsTm > tmIntv) { prvMlsTm = currentMillis; } // printTime(); //вызываем ф-цию вывода времени на экран если //} // //проверяем не прошел ли нужный интервал для обновления температуры, если прошел то // if(currentMillis - prvMlsTemp > tempIntv) { // prvMlsTemp = currentMillis; // printTemp(); // // } //проверяем не прошел ли нужный интервал для включения/выключения освещения, если прошел то if(currentMillis - prvMlsLght > lghtIntv) { prvMlsLght = currentMillis; light(); //вызываем ф-цию проверки необходимости включения/выключения освещения } }Но у меня возникла проблемма . Там используеться другая библиотека <DS1307.h> хоть и с такимже название. Как можно переделать скетч?
Привести переменные двух библиотек в соответствие между собой.
Привести переменные двух библиотек в соответствие между собой.
А можно наглядно?) то что то не пойму(((
Привести переменные двух библиотек в соответствие между собой.
А можно наглядно?) то что то не пойму(((
Нету у меня ваших библиотек. По коду - ключевая строка 35. Посмотрите, как получить значение "hr" с вашей библиотекой и измените эту строку. Больше вроде часы нигде не играют (кроме инициации).
Привести переменные двух библиотек в соответствие между собой.
А можно наглядно?) то что то не пойму(((
Нету у меня ваших библиотек. По коду - ключевая строка 35. Посмотрите, как получить значение "hr" с вашей библиотекой и измените эту строку. Больше вроде часы нигде не играют (кроме инициации).
Спасибо)) Буду пытаться)
где подвох?
#include <Wire.h> //необходимо для работы с часами #include <OneWire.h> // подключаем библиотеку для работы с 1-Wire #include <DS1307.h> // подключаем библиотеку для работы с часами DS1307 DS1307 rtc(A4, A5); // Инициализация библиотеки с указанием Time hr; // Инициализация структуры int ledPin = 7; // управление светодиодами, присоединён к pin 7 long tmIntv = 1000; //интервал для обновления времени на экране каждую секунду long tempIntv = 30000; //интервал для обновления температуры, хватит и пол минуты long prvMlsTm = 0; //предыдущее показание миллисекунд для обновления показания часов long prvMlsTemp = 0; //предыдущее показание миллисекунд для обновления показания температуы long prvMlsLght = 0; //предыдущее показание миллисекунд для проверки временного интервала long lghtIntv = 5000; //интервал для проверки включения/выключения освещения аквариума,5сек 1 минута int lghtStat = 0; //если подсветка включена, то в 1 int upLghtTime = 8; //включаем в 8 утра int downLghtTime = 17; //выключаем в 17 вевера int isNight = 0; //если включаем на ночь, т.е. начальное время больше конечного int prevSec = 0; //предыдущее показание секунд для перезапуска если остановились //отрабатывает при включении Arduino void setup(){ pinMode(ledPin, OUTPUT); // режим порта устанавливаем на вывод (запись) if (upLghtTime > downLghtTime) { //если ночное время isNight = 1; } } void light () { //включаем/выключаем освещение аквариума int hr; int isLght = 0; // hr = RTC.get(DS1307_HR, true); //получаем значение часов hr = rtc.getTime(); if (isNight == 0) { //если день if (hr >= upLghtTime && hr < downLghtTime) { //проверяем интервал isLght = 1; //если необходимо включить свет } else { isLght = 0; } } else { //если ночь if(hr - upLghtTime >= 0) { //если больше или равно верхнему значению, то необходимо включить свет isLght = 1; //если необходимо включить свет } else { if(hr < downLghtTime) { //если меньше нижнего значения, то необходимо включить свет isLght = 1; //если необходимо включить свет } else { isLght = 0; } } } //закончился цикл выбора: день или ночь? if((isLght == 1) && (lghtStat == 0)) { //если свет еще не включен и выставлен флаг необходимости включить lghtStat = 1; digitalWrite(ledPin, HIGH); //собственно, включаем подавая высокий уровень на вывод } else { if(isLght == 0 && lghtStat == 1) { lghtStat = 0; digitalWrite(ledPin, LOW); //собственно, выключаем снимая высокий уровень на выводе } } } void loop() //постоянно отрабатывает в цикле { unsigned long currentMillis = millis(); //миллисекунд прошло со старта //дело в том, что если делать через delay(), то система в это время простаивает, //а нам постоянно необходимо чего-нить обрабатывать //поэтому просто считаем прошедшее время и сверяем его с интервалами //проверяем не прошел ли нужный интервал для обновления часов, если прошел то if(currentMillis - prvMlsTm > tmIntv) { prvMlsTm = currentMillis; } // printTime(); //вызываем ф-цию вывода времени на экран если //} // //проверяем не прошел ли нужный интервал для обновления температуры, если прошел то // if(currentMillis - prvMlsTemp > tempIntv) { // prvMlsTemp = currentMillis; // printTemp(); // // } //проверяем не прошел ли нужный интервал для включения/выключения освещения, если прошел то if(currentMillis - prvMlsLght > lghtIntv) { prvMlsLght = currentMillis; light(); //вызываем ф-цию проверки необходимости включения/выключения освещения } }Мне кажется вы сильно резко поступаете в 6 строке. Я пока стараюсь в дебри структур не лезть (без понимания, что там происходит). У меня библа для аппаратного I2C и данные получаю таким способом - Hour=(RTC.get(DS1307_HR,true));. Далее работаю с переменной "Hour". В стандартном примере как у вас данные берутся?
Мне кажется вы сильно резко поступаете в 6 строке. Я пока стараюсь в дебри структур не лезть (без понимания, что там происходит). У меня библа для аппаратного I2C и данные получаю таким способом - Hour=(RTC.get(DS1307_HR,true));. Далее работаю с переменной "Hour". В стандартном примере как у вас данные берутся?
Я пока толком и сам не разобрался у меня есть 2 кода и я их пытаюсь совместить)
Мне кажется вы сильно резко поступаете в 6 строке. Я пока стараюсь в дебри структур не лезть (без понимания, что там происходит). У меня библа для аппаратного I2C и данные получаю таким способом - Hour=(RTC.get(DS1307_HR,true));. Далее работаю с переменной "Hour". В стандартном примере как у вас данные берутся?
Я пока толком и сам не разобрался у меня есть 2 кода и я их пытаюсь совместить)
Сбросьте стандартный рабочий пример из вашей библиотеки.
где подвох?
две пременные с одним именем, но с разным типом данных. Одна глобальная, вторая локальная. Пытаетесь в целочисленную переменную затолкать структуру. А потом работать все-равно отращаетесь как к целочисленной.
По чему с 4 мя датчиками и релле все нормально работает, а с 3мя хрень какаято
с 4мя
с 3мя
Для меня не понятно, что первый-то кусок кода делает
но во втором бы 3 заменил на 2 у сравнения счетчика
Ребят подскжите еще пожалуйсто) что-то не получаеться... есть 3 датчика влажности они должны открывать клаппан и включать нассос. в этом коде вроде все работает
void setup() { pinMode( 5 , OUTPUT); pinMode( 4 , OUTPUT); pinMode( 3 , OUTPUT); pinMode( 2 , OUTPUT); } void loop() { digitalWrite(5,(analogRead(2) > 200)); digitalWrite(2,(analogRead(2) > 200)); digitalWrite(4,(analogRead(1) > 200)); digitalWrite(2,(analogRead(1) > 200)); digitalWrite(3,(analogRead(3) > 200)); digitalWrite(2,(analogRead(3) > 200)); }А вот если вставлять его во весь код то както некорректо... Как правильнее будет написать?
#include <DS1307.h> #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> #include <SPI.h> #include <dht11.h> // pin 7 - Serial clock out (SCLK) // pin 6 - Serial data out (DIN) // pin 5 - Data/Command select (D/C) // pin 4 - LCD chip select (CS) // pin 3 - LCD reset (RST) Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12); DS1307 rtc(A4, A5); // Инициализация библиотеки с указанием Time t; // Инициализация струк int d, Counter=0; dht11 sensor; void setup() { display.begin();// Инициализация дисплея display.setContrast(55); display.setTextSize(1); rtc.halt(false); // Установка режимов // rtc.writeProtect(false); // работы часов // Следующих три строки нужно закомментировать после // установки времени и загрузить скетч в плату повторно //rtc.setDOW(7); // Установка дня недели //rtc.setTime(14, 25, 00); // Установка времени 10:59:10 //rtc.setDate(01, 03, 2015); // Установка даты 20 июля 2013 pinMode( 2 , OUTPUT); pinMode( 3 , OUTPUT); pinMode( 4 , OUTPUT); pinMode( 5 , OUTPUT); } void loop() { t = rtc.getTime(); // Получение времени и его запись в структуру t display.setTextSize(1); // Установка набора символов display.clearDisplay(); // Очистка экрана if(int(t.hour)<10) { display.setCursor(42,0); display.print("0"); display.setCursor(48,0); display.print(t.hour);} // Вывод часов else{ display.setCursor(42,0); display.print(t.hour);} display.setCursor(53,0); display.print("."); display.setCursor(68,0); display.print("."); if(int(t.min)<10){ display.setCursor(57,0); display.print("0"); display.setCursor(63,0); display.print(int(t.min)); // Вывод минут } else{ display.setCursor(57,0); display.print(int(t.min));} display.setTextSize(1); // Установка набора символов if(int(t.sec)<10){ display.setCursor(72, 0); display.print("0"); display.setCursor(79, 0); display.print(int(t.sec));} // Вывод секунд else{ display.setCursor(72, 0); display.print((t.sec));} // Вывод секунд // display.setCursor(13,17); //display.print(rtc.getDateStr()); // Вывод даты sensor.read(6); display.setTextSize(1); // Установка набора символов display.setCursor(7, 0); display.print(sensor.temperature); display.setCursor(0, 0); display.print("С"); display.setCursor(27, 0); display.print(sensor.humidity); display.setCursor(21, 0); display.print("%"); display.setCursor(15, 37); display.print("Влаж.%"); display.setCursor(60, 37); display.print(analogRead(3)); display.setCursor(15, 27); display.print("Влаж.%"); display.setCursor(60, 27); display.print(analogRead(2)); display.setCursor(15, 17); display.print("Влаж.%"); display.setCursor(60, 17); display.print(analogRead(1)); digitalWrite(5,(analogRead(2) > 200)); digitalWrite(2,(analogRead(2) > 200)); digitalWrite(4,(analogRead(1) > 200)); digitalWrite(2,(analogRead(1) > 200)); digitalWrite(3,(analogRead(3) > 200)); digitalWrite(2,(analogRead(3) > 200)); display.display(); // Вывод вместимого буфера на дисплей delay (1000); // Задержка 1 с }не в тему. А можно ардуино к ноту подключить?
не в тему. Можно, многие уже подключили.....
но как что я малость не понял сом порта нет на ноуте
но как что я малость не понял сом порта нет на ноуте
А к дуине у вас кабель для com порта прилагается?
Oбычный USB. В прграмме Arduino IDE есть дрова но бук их игнорирует.
Oбычный USB. В прграмме Arduino IDE есть дрова но бук их игнорирует.
Здесь по форуму поищите, несколько тем было с такой же проблемой. Вроде у всех разрулилось.
А если по теме?)
Oбычный USB. В прграмме Arduino IDE есть дрова но бук их игнорирует.
у меня была таже беда пока все усб порты не освободил дуина не подключалась.