В setup() не пробовал. В loop() все работает. Спасибо!!! Где я не в ту сторону думал? Действительно ли byte сразу заполняется как "mcureenab" писал? (хотя для меня пока байты тоже непонятны) Можно хоть чуток смысл происходящего пояснить, почему с do не работало?
Потому что do (выполнять то, что в фигурных скобках) { counter++; (то есть увеличивать значение ячейки памяти на 1 каждую 1/16 микросекунды) } while(counter<3) (пока значение ячейки памяти меньше трех); Что просили, то и сделал процессор. Просили до трех досчитать и больше ничего, он это и выполнил. А то, что моргнуть глазом не успели, так это не вина процессора
Добрый день форумчане! Опять прошу помощи в моем обучении. В скетче диод загорается от 0 до 7 и 7 до 0. Помогите пожалуйста, как сделать чтобы оба цикла for в loop выполнялись одновременно ? Спасибо! Код (C++): int ledPins[] = {2,3,4,5,6,7,8,9}; void setup() { int index; for(index = 0; index <= 7; index++) { pinMode(ledPins[index],OUTPUT); } } void loop() { pingPong(); } void pingPong() { int index; int delayTime = 100; for(index = 0; index <= 7; index++) { digitalWrite(ledPins[index], HIGH); delay(delayTime); digitalWrite(ledPins[index], LOW); } for(index = 7; index >= 0; index--) { digitalWrite(ledPins[index], HIGH); delay(delayTime); digitalWrite(ledPins[index], LOW); } }
Код (C++): const byte ledCols = 8; const byte ledPins[ledCols] = {2, 3, 4, 5, 6, 7, 8, 9}; void setup() { byte index; for (index = 0; index < ledCols; index++) { pinMode(ledPins[index], OUTPUT); } } void loop() { pingPong(); } void pingPong() { static const unsigned int delayTime = 100; for (byte index = 0; index < ledCols; index++) { digitalWrite(ledPins[index], HIGH); digitalWrite(ledPins[ledCols -1 - index], HIGH); delay(delayTime); digitalWrite(ledPins[index], LOW); digitalWrite(ledPins[ledCols -1 - index], LOW); //delay(delayTime); } }
Тело второго цикла поместить в первый. Чтобы сохранить порядок включения index заменить на 7 - index.
гм, а что тут сложного? Обратное движение - это всего лишь из максимального номера вычесть текущий. Обычная математика
Спасибо, mcureenab! Так что ли? Код (C++): int ledPins[] = {2,3,4,5,6,7,8,9}; void setup() { int index; for(index = 0; index <= 7; index++) { pinMode(ledPins[index],OUTPUT); } } void loop() { pingPong(); } void pingPong() { int index; int delayTime = 100; for(index = 0; index <= 7; index++) { digitalWrite(ledPins[index], HIGH); delay(delayTime); digitalWrite(ledPins[index], LOW); digitalWrite(ledPins[7-index], HIGH); delay(delayTime); digitalWrite(ledPins[7-index], LOW); } /* for(index = 7; index >= 0; index--) { digitalWrite(ledPins[index], HIGH); delay(delayTime); digitalWrite(ledPins[index], LOW); } */ }
Новички такие ... блин "новички". В общем код Код (C++): //pingPong.ino const byte Led_pin[] = {2, 3, 4, 5, 6, 7, 8, 9}; const int time = 100; int pos = 0; // позиция 0..7 int dir = 1; // направление движения +1 вправо -1 влево void pingPong_setup() { for (int i = 0; i <= 7; i++) { pinMode(Led_pin[i], OUTPUT); digitalWrite(Led_pin[i], LOW); } } void pingPong() { static uint32_t past = 0; if (millis() - past >= time) { past = millis(); digitalWrite(Led_pin[pos], LOW); if (pos + dir > 7) dir = -1; if (pos + dir < 0) dir = 1; pos += dir; digitalWrite(Led_pin[pos], HIGH); } } void setup() { pingPong_setup(); } void loop() { pingPong(); }
Как бы так. Пины будут срабатывать поочередно. 0,7,1,6,2,5... У Томасины порядок тот же но одновременно срабатывает два противоположных пина. Как вам надо я не знаю.
Здравствуйте !!! Недавно прикупил вот такую штучку-дрючку! Wemos Higrow ESP32 WiFi + Bluetooth Батарея + DHT11 Температура и влажность почвы. Точное название на AliExpress: ESP32 WIFI&Bluetooh Battery Soil Molsture Sensor & DHT Нигде в рус-яз инете не могу скетч добыть притом что с устройством ничего не было его память была пуста. Попытался найти к какой ноге прикручено понял что к 23 как ни старался в Arduino IDE в ставить не получалось. Скетч взял от сюда higrow.tech Разные библиотеки от датчиков ставил DHT.h не помогло пишет: C:\Users\HP_DV7\Documents\Arduino\sketch\HiGrowEsp32\HiGrowEsp32.ino: In function 'void setup()': HiGrowEsp32:50: error: 'esp_deep_sleep_enable_timer_wakeup' was not declared in this scope esp_deep_sleep_enable_timer_wakeup(1800 * uS_TO_S_FACTOR); ^ HiGrowEsp32:51: error: 'esp_deep_sleep_pd_config' was not declared in this scope esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF); ^ C:\Users\HP_DV7\Documents\Arduino\sketch\HiGrowEsp32\HiGrowEsp32.ino: In function 'void loop()': HiGrowEsp32:75: error: 'esp_deep_sleep_enable_timer_wakeup' was not declared in this scope esp_deep_sleep_enable_timer_wakeup(DEEPSLEEP_SECONDS * uS_TO_S_FACTOR); ^ C:\Users\HP_DV7\Documents\Arduino\sketch\HiGrowEsp32\HiGrowEsp32.ino: In function 'void sensorsData(char*)': HiGrowEsp32:98: error: 'class DHT' has no member named 'computeHeatIndex' float hic = dht.computeHeatIndex(temperature, humidity, false); ^ Используем библиотеку WiFi версии 1.0 из папки: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi Используем библиотеку HTTPClient версии 1.1 из папки: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\HTTPClient Используем библиотеку DHT в папке: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\DHT (legacy) Используем библиотеку WiFiClientSecure версии 1.0 из папки: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\WiFiClientSecure exit status 1 'esp_deep_sleep_enable_timer_wakeup' was not declared in this scope Уважаемые люди помогите разобраться только открыто по сути а то я не особа шарю!!!
Дык... Вы и получили что умеете - никаких серьезных проектов для Вашего уровня подготовки с ESP32 еще нет. Шагайте на Youtube - там пара импортных товарищей на импортном языке делает циклы лекций по работе с эти модулем. Вот, например: https://www.youtube.com/channel/UCu7_D0o48KbfhpEohoP7YSQ У него что-то около 200 уроков. Кстати, научитесь код вставлять на форуме - это очень полезно делать правильно.
@Svirik, для функций esp_deep_sleep_enable_timer_wakeup и esp_deep_sleep_pd_config подключите заголовочный файл Код (C++): #include <esp_deep_sleep.h> Метод computeHeatIndex есть в библиотеке от adafruit https://github.com/adafruit/DHT-sensor-library