Ви не увійшли.
Сторінки 1
Делайте умный дом, пошагово
Например, коридор/прихожая:
- датчик движения -> реле которое включает освещение на 30 секунд, после последнего движения
- температура комнаты -> куда-то отсылать показания или показать на экране
- датчик открытия двери -> реле включает свет или шлет email, дверь открылась
Для туалета/кухни:
- мерять влажнось -> если влажно включать вытяжку
Для комнат:
- мерять освещеность -> включать свет
и так далее, процесс бесконечен
ssipk пише:как сравнить эти два массива???
Функцией memcmp
нафига? Тут всего несколько датчиков, нафига усложнять?
Зачем вы так сложняете? Массивы, функции сравнения массивов?
Делате проще, чем проще тем лучше (на быстродействие не влияет, читаемость намоного лучше) Из минусов только строк кода много, но опять таки, для ардуино количество строк будет одинаково после компиляциии, поэтому:
setup ()
{
mode = 0; // 0 -> ждем сигналж%: 1 -> сверяем пины с эталоном
}
loop ()
{
status = значение_с_ИК_приемника(); // 1 = нажата кнопка активации; 2 = нажата кнопка прекращения слежения
if (mode == 0 && status == 1) {
pinInit1 = digitalRead(PIN_READ1);
pinInit2 = digitalRead(PIN_READ2);
pinInit3 = digitalRead(PIN_READ3);
pinInit4 = digitalRead(PIN_READ4);
...
mode = 1;
}
if (mode == 1 && status == 2) {
mode = 0;
}
if (mode == 1) {
if (pinInit1 != digitalRead(PIN_READ1)) {
// Что-то сделать, пин1 изменил состояние
// Если нужно запомнить новое состояние, тогда его перезаписать
}
if (pinInit2 != digitalRead(PIN_READ2)) {
// Что-то сделать, пин2 изменил состояние
// Если нужно запомнить новое состояние, тогда его перезаписать
}
...
}
delay(100); // небольшая пауза в опросе
}
Говорят, иногда помогает
У меня не вышло найти, поэтому и спрашиваю, может кто-то нашел
А на каком языке эта прослойка создана вы не думали? Если нет, то я отвечу - на самом что ни на есть обычном С
Уже ближе
Я вот как раз и говорю ТОЛЬКО О ЭТОЙ ПРОСЛОЙКЕ
Я хочу справочник не Си, а только вот этой прослойки. Я уже понял что официальной документации нет, только ентузиасты могут такое написать, я вот и ищу хоть какие-то описания этих функций и перечень этих функций.
Вашу позицию я уже понял, "документации нет, учи обычный СИ" не нужно это миллион раз повторять
Возможно кто-то видел личные блоги по єтой теме, мне такое тоже пойдет
Спросишь "чем проще" - обидится :-)
Почему обижусь, нормальный вопрос.
"Проще" наличием синтаксического сахара, собственно фрейморк/нпрослойка АрдуиноС++ только и добавила упрощения в язык
1. https://github.com/platformio/platform-espressif32/blob/master/examples/arduino-blink/src/Blink.cpp
2. https://github.com/platformio/platform-espressif32/blob/master/examples/espidf-blink/src/blink.c
Код ардуино легче читается, разбит на более логичные куски setup()/loop().
А в Си
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
Из этого всего я понимаю назначение только stdio.h и driver/gpio.h, остальное не ясно зачем.
Например,freertos/FreeRTOS.h и freertos/task.h - зачем что бы мигать светодиодом?
Товарисч явно думает что для каждого МК производители выдумывают новый язык
вы мой пост хоть бы прочитали с кодом, там явно видно что производитель МК для своего МК выдумал свою просйлоку в АрдуиноС++
void EspClass::restart(void)
{
esp_restart();
}
этот кусок кода явно говорит что данная функция создана ТОЛЬКО для ESP контроллеров
Прокатят такие "конвертеры" из "обычного С" в "Ардуино С" ?
Не прокатят
В arduino С++ куча синтасического сахара
void EspClass::restart(void)
{
esp_restart();
}
uint32_t EspClass::getHeapSize(void)
{
multi_heap_info_t info;
heap_caps_get_info(&info, MALLOC_CAP_INTERNAL);
return info.total_free_bytes + info.total_allocated_bytes;
}
uint32_t EspClass::getFreeHeap(void)
{
return heap_caps_get_free_size(MALLOC_CAP_INTERNAL);
}
uint32_t EspClass::getMinFreeHeap(void)
{
return heap_caps_get_minimum_free_size(MALLOC_CAP_INTERNAL);
}
uint32_t EspClass::getMaxAllocHeap(void)
{
return heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL);
}
и много чего еще, проблема в том что нету описания
У меня есть бумажный справочник по С, уже более 15 лет лежит на полке. Раньше писал програмки небольшие на нем
Ищу полный справочник по суржику тогда
А вот пример кода:
1. https://github.com/platformio/platform-espressif32/blob/master/examples/arduino-blink/src/Blink.cpp
2. https://github.com/platformio/platform-espressif32/blob/master/examples/espidf-blink/src/blink.c
Собственно я говорю о этом https://docs.platformio.org/en/latest/boards/espressif32/esp32doit-devkit-v1.html
В самом низу страницы есть выбор
1. Arduino -->> Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences
2. Espressif IoT Development Framework -->> ESP-IDF is the official development framework for the ESP32 and ESP32-S Series SoCs.
Вот среди этих двух я и выбираю, АРДУИНО это обычные скетчи на С, которые упрощенный вариант С++, а пункт 2 это С, который сам по себе сложнее
Замените моторчик на серву или там не получится?
Или лепите датчик поворота колес.
Вот тут https://habr.com/ru/post/247663/ кстати сравнение этих двух вариантов С
У обычного С нету setup() и loop() функций ну и код выглядит по другому
А как это называется? https://doc.arduino.ua/ru/prog/
Спасибо
http://forum.amperka.ru/threads/esp-8266-esp32-nodemcu-lua-%D0%B0%D0%B7%D1%8B-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.12558/
Вот тут курс молодого бойца по есп. Там просто дохрена. Я все пробую, учусь. И человек который выкладывал адекватный. Отвечает.
это точно не то, тут он учит программировать на LUA, это скриптовый язык программирования и очень не похож на С даже близко.
Для меня LUA бесмысленный. так как С я уже немного знаю и мне просто в нем ориентироваться, кроме того С применятся везде, даже на десктопах и очень много примеров идет именно на С для разных плат Ардуино/ESP, а вот ЛУА очень мало где используется.
я сейчас стою перед выбором использования из этих вариантов
1. Ардуино С++ -> https://doc.arduino.ua/ru/prog/
2. Обычный С++ -> https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/index.html
Разница в том что 1 намного проще, но нет документации по фунциям которые можно использовать для этого контролера. Вариант 2 у меня будет план Б, он отлично документирован, но нужно больше учить С++.
Моему мальчику 13 лет.
1) Возможно ли изучение электроники по Скайпу?
2) Обязательно-ли изучение языка программирования Arduino, для работы с Arduino железками?
3) Не рано-ли начинать изучение электроники, если физику ещё не начинал?Мой бюджет 300 гривен за урок, продолжительностью 90 минут.
1) Возможно
2) Обязательно, но на самом деле это не сложно
3) Физика тут не важна как и математика
У Ардуины есть огромное количество плюсов для развития ребенка:
- обучение постепенное, первые уроки очень примитивны и собственно достаточно будет копипаста и подключить по USB (на плате есть встроенный диод, которым можно моргать). То есть для первого урока достаточно включить USB, копи-паст кусок кода и нажать кнопку загрузки
- следующие уроки уже будут по изучению кода и тут все легко, потому что кода всего несколько строк и не нужно понимания всего и вся, а только пары инструкций
- следующие уроки уже будут усложнять схему (подключить новый светодиод, без пайки), а код остался тотже с минимальными правками
итого, очень плавно и все очень просто.
По поводу скайпа, если ребенку это будет интересно, то ему достаточно будет консультанта, притом может и бесплатного, есть не только статьи, но и видео так что учиться самому можно, составте план занятий что бы ребенок четко шел к успеху и вы сами можете контролировать процесс. Ну то есть если через месяц в плане занятий написано контроль температуры, то вы вполне без знаний электронике можете проверить работает прибор или нет.
Использую PlathormIO с языком arduino С.
Ищу описание всех функций ArduinoС для ESP32.
С простыми программами все понятно: int, char, for, while, if, ... и так далее.
А есть где то в сети описание под ESP32 всех функций, можно на английском.
Например, сколько оперативы осталось/в наличии. Как программировать ULC или какие технические параметры можно узнать менять у микросхемы
Сторінки 1