Программирование

Вопросы по программированию Arduino.

String в i2c

Добрый вечер. Подскажите, почему в документации библиотеки Wire указано, что мы можем отправить строку в виде последовательности байт.

Так работает:

#include <Wire.h>

void setup() {
  Wire.begin(); 
}

void loop() {
  Wire.beginTransmission(8);
  Wire.write("Hello");
  Wire.endTransmission();
  delay(100);
}

А так не работает:

добавить в json данные

День добрый. Помогите пожалуйста, второй день ковыряюсь не могу въехать в чем косяк.

Задача такая. на SPIFFS имеется файл test.json с уже какими то записями формата

SIM800 и MQTT

Всем привет!

Нашел в интернете скетч автозапуска для автомобиля.

https://github.com/martinhol221/SIM800L_MQTT

Теряются байты

Здравствуйте, не ругайтесь строго, я не так давно начала изучать программирование.

Не могу разобраться в следующем:

Две ардуино соединены между собой посредством SoftwareSerial через пины 7 и 8 (перехлестом) на скорости 115200 с инверсией сигнала.

reserve() толь работает, толь нет.

Пытался сам разобраться, как оно работает, но мозг моментально закипел. 

Исходный код:

String buf;
Serial.print(F("buf.reserve(626); "));
Serial.println(buf.reserve(626));

buf ="{\n";
buf = buf + "  \"devices\": [\n";
buf = buf + "    {\n";
buf = buf + "      \"mac\": \"";
и тд

Отладка:

ошибка expected constructor, destructor, or type conversion before ';' token в строке Sonar_init(int Tr, int Ec)


int Trig;
int Echo;
Sonar_init(int Tr, int Ec)
{
   Trig=Tr;
   Echo=Ec;
   pinMode(Trig, OUTPUT);
   pinMode(Echo, INPUT);
}

 int Sonar(unsigned long Limit)
{
  int Long_cm;

  unsigned long Lim=Limit*58;
 
  digitalWrite(Trig, LOW);
  delayMicroseconds(2);
  digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);
   Long_cm = int(pulseIn(Echo, HIGH, Lim)/58);
  if(Long_cm==0) return int(Limit);
  return Long_cm;
}

 

Мигание экрана TFT

Добрый день!

Вывожу на экран значение (в данном случае температура).

Нашел рекомендации по коду:

Как подружить Websocket с PN532

Здравствуйте, подскажите пожалуйста как подружить библиотеки. На C++ вряд-ли получится одновременно циклить Websocket и ожидать что карта будет приложена, но всё же, есть ли какой-нибудь выход?

Подключаться к Websocket'y при прикладывании карты и отправлять запрос не подойдёт, т. к. нужно отслеживать состояние постоянно, пока ESP32 включена.

Если использовать Websocket клиент без ожидания считывания карты, он работает отлично.

Приемник 433MHz +ATTINY13 и библиотека RemoteSwitch

Здравствуйте!Нужна помощь знающих людей.Делаю автоматику для откатных ворот и вот столкнулся с необходимостью дистанционного управления приводом.В качестве пульта использую связку Attiny13 и передатчик FS1000A, скетч нашел в сети и подправил.На пульте только одна кнопка,при нажатии один раз отправляет код на приемник.При помощи библиотеки RemoteSwitch и примера Show_received_code.ino читаю код пульта:

Почему строка x = 60 * 1000 / 10 вычисляется некорректно ?

Добрый день!

Помогите пожалуйста понять в чем проблема.

word a;
word b;
word c;
word x;

void setup() {
 Serial.begin(9600);
}

void loop() {
  x = 60000 / 10;
  Serial.println(x); // Выдаёт 6000
  
  x = 60 * 1000 / 10;
  Serial.println(x); // Выдаёт 64983

  a = 60;
  b = 1000;
  c = a*b;
  x = c / 10;
  Serial.println(x); // Выдаёт 6000
  
  delay(1000);
 
}

Почему строка x = 60 * 1000 / 10 вычисляется не корректно?

Что я делаю не так?