#1 Re: Проекты » Какой сделать проект? » 2021-01-05 14:12:12

Делайте умный дом, пошагово wink

Например, коридор/прихожая:
- датчик движения -> реле которое включает освещение на 30 секунд, после последнего движения
- температура комнаты -> куда-то отсылать показания или показать на экране
- датчик открытия двери -> реле включает свет или шлет email, дверь открылась

Для туалета/кухни:
- мерять влажнось -> если влажно включать вытяжку

Для комнат:
- мерять освещеность -> включать свет

и так далее, процесс бесконечен

#2 Re: Програмування Arduino » опрос портов ардуино » 2021-01-02 18:01:23

Kaka пише:
ssipk пише:

как сравнить эти два массива???

Функцией memcmp

нафига? Тут всего несколько датчиков, нафига усложнять?

#3 Re: Програмування Arduino » опрос портов ардуино » 2021-01-02 17:59:31

Зачем вы так сложняете? Массивы, функции сравнения массивов?

Делате проще, чем проще тем лучше  (на быстродействие не влияет, читаемость намоного лучше) Из минусов только строк кода много, но опять таки, для ардуино количество строк будет одинаково после компиляциии, поэтому:

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);   // небольшая пауза в опросе
}

#4 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-31 21:20:35

г0сть пише:

Говорят, иногда помогает

У меня не вышло найти, поэтому и спрашиваю, может кто-то нашел

#5 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-30 10:09:06

г0сть пише:

А на каком языке эта прослойка создана вы не думали? Если нет, то я отвечу - на самом что ни на есть обычном С

Уже ближе smile

Я вот как раз и говорю ТОЛЬКО О ЭТОЙ ПРОСЛОЙКЕ wink

Я хочу справочник не Си, а только вот этой прослойки. Я уже понял что официальной документации нет, только ентузиасты могут такое написать, я вот и ищу хоть какие-то описания этих функций и перечень этих функций.

Вашу позицию я уже понял, "документации нет, учи обычный СИ" не нужно это миллион раз повторять smile
Возможно кто-то видел личные блоги по єтой теме, мне такое тоже пойдет

#6 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-30 07:54:32

Kaka пише:

Спросишь "чем проще" - обидится :-)

Почему обижусь, нормальный вопрос.

"Проще" наличием синтаксического сахара, собственно фрейморк/нпрослойка АрдуиноС++ только и добавила упрощения в язык

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 - зачем что бы мигать светодиодом?

#7 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-30 07:49:01

г0сть пише:

Товарисч явно думает что для каждого МК производители выдумывают новый язык

вы мой пост хоть бы прочитали с кодом, там явно видно что производитель МК для своего МК выдумал свою просйлоку в АрдуиноС++

void EspClass::restart(void)
{
    esp_restart();
}

этот кусок кода явно говорит что данная функция создана ТОЛЬКО для ESP контроллеров wink

#8 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-29 15:41:11

Honey пише:

Прокатят такие "конвертеры" из "обычного С" в "Ардуино С" ?

Не прокатят smile
В 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);
}

и много чего еще, проблема в том что нету описания

#9 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-29 08:46:33

У меня есть бумажный справочник по С, уже более 15 лет лежит на полке. Раньше писал програмки небольшие на нем

#11 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-28 19:45:47

А вот пример кода:

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

#12 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-28 19:33:31

Собственно я говорю о этом https://docs.platformio.org/en/latest/boards/espressif32/esp32doit-devkit-v1.html
В самом низу страницы есть выбор

Frameworks

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 это С, который сам по себе сложнее

#13 Re: Програмування Arduino » Поворотные колёса на машинке » 2020-12-28 19:19:43

Замените моторчик на серву или там не получится?
Или лепите датчик поворота колес.

#14 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-28 19:13:18

Вот тут https://habr.com/ru/post/247663/ кстати сравнение этих двух вариантов С
У обычного С нету setup() и loop() функций ну и код выглядит по другому

#16 Re: Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-28 18:43:18

Спасибо

0z0n пише:

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 у меня будет план Б, он отлично документирован, но нужно больше учить С++.

#17 Re: Різне » Обучение подростка электронике по Скайпу. » 2020-12-27 16:54:29

AlexR пише:

Моему мальчику 13 лет. 

1) Возможно ли изучение электроники по Скайпу?
2) Обязательно-ли изучение языка программирования Arduino, для работы с Arduino железками?
3) Не рано-ли начинать изучение электроники, если физику ещё не начинал?

Мой бюджет 300 гривен  за урок, продолжительностью 90 минут.

1) Возможно
2) Обязательно, но на самом деле это не сложно
3) Физика тут не важна как и математика


У Ардуины есть огромное количество плюсов для развития ребенка:
- обучение постепенное, первые уроки очень примитивны и собственно достаточно будет копипаста и подключить по USB (на плате есть встроенный диод, которым можно моргать). То есть для первого урока достаточно включить USB, копи-паст кусок кода и нажать кнопку загрузки smile
- следующие уроки уже будут по изучению кода и тут все легко, потому что кода всего несколько строк и не нужно понимания всего и вся, а только пары инструкций
- следующие уроки уже будут усложнять схему (подключить новый светодиод, без пайки), а код остался тотже с минимальными правками

итого, очень плавно и все очень просто.

По поводу скайпа, если ребенку это будет интересно, то ему достаточно будет консультанта, притом может и бесплатного, есть не только статьи, но и видео так что учиться самому можно, составте план занятий что бы ребенок четко шел к успеху и вы сами можете контролировать процесс. Ну то есть если через месяц в плане занятий написано контроль температуры, то вы вполне без знаний электронике можете проверить работает прибор или нет.

#19 Програмування Arduino » ESP32 Программирование (полное API) » 2020-12-27 16:09:38

holyorb2
відповідей: 27

Ищу описание всех функций ArduinoС для ESP32.

С простыми программами все понятно: int, char, for, while, if, ... и так далее.

А есть где то в сети описание под ESP32 всех функций, можно на английском.

Например, сколько оперативы осталось/в наличии. Как программировать ULC или какие технические параметры можно узнать менять у микросхемы

Підвал форуму