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

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

warning: 'i' may be used uninitialized in this function

в строке 8  if (i<15)buf[i++] = a;  получаю сообщение, обозначенное в заголовка темы.

Не понимаю, почему "и" может быть не инициализирована?

    char buf[16];
    char command, a;
    int i;
                                          
    while( Serial.available()) {
      delay(30);
      a = Serial.read();
      if (i<15)buf[i++] = a;
      if (a == '\n' || a == '\0'){
        command = buf[0];
        }

 

Необходимо тело программы для вольтметра от -5 вольт до + 5 вольт

#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
const float R1 = 1000;
const float R2 = 1000;
const float Uref = 5;
int sensorPin = 0;
float sensorValue = 0;
float outputValue = 0;
int valueMAX=5;
int valueMIN=-5;
float Uin=Uref*((R1+R2)/R2);
void setup(){
   pinMode(sensorPin, INPUT);
   lcd.begin(16, 2);
   lcd.print("DC VOLTMETER");
}
void loop(){
   sensorValue = analogRead(sensorPin);
   outputValue = (sensorValue*Uin)/1024.00;
   lcd.setCursor(0, 1);
lcd.print("INPUT V= ");

char to int и обратно

Здравствуйте.

Гуглю уже два часа и не как. Подскажите пожалуйста.

Есть массив char ASCII символов, нужно перевести в число int

Просто : String(test[i], DEC);

А вот обратно не как не могу найти. Конечно пришло в голову составить словарь, но это на крайний случай.

 

mcufriend.com руссификация библиотеки

Есть такой дисплейчик https://hostingkartinok.com/show-image.php?id=ac66cdb2dfe0db934960c180608cf8c2

размером 3.5", хочу запустить на нем русский шрифт. Возникает вопросс, где можно скачать руссифицированый шрифт , размером гдето 12-18 пикселей по высоте? И как его подключить этот шрифт?

Ввод числа в переменную.

Всем добрый вечер.

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

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

При нажатии кнопки светодиод мигает через delay. значение в delay берется из переменной "r"

Как до нажатия кнопки ввести другое значение в переменную "r"?

Ethernet и мах6675

пытаюсь подключить к ардуино нано модуль ethernet и max6675. По отдельности на демках все работает. Использую библиотеки <UIPEthernet.h>  и "max6675.h" (от адафрута).

'class LiquidCrystal_I2C' has no member named 'init'

Сразу хочу предупредить, что являюсь новичком в Arduino и связался с этой страшной штукой из-за курсовой работы. 

Приобрел Arduino Uno, Arduino LCD 1602 i2c и модуль реалного времени RTC1602

Собрал по гайду на ютубе, нашел скетч и попытался его загрузить. 

Выдало следующую ошибку при компиляции: 

Тактовая кнопка

int flag=0;
int pin1=A0;
int pin2=A1;
int pin3=A2;
int led1=4;
int led2=5;
int led3=6;
void setup()

{
  pinMode(A0,INPUT);
  pinMode(A1,INPUT);
  pinMode(A2,INPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);

}

void loop()
{
  if (digitalRead(A0)==HIGH&&flag==0)
  {
   digitalWrite(4,!digitalRead(4));
   flag=1;
  }
  if (digitalRead(A0)==LOW&&flag==1)
  {
   flag=0;                               
  }
  if (digitalRead(A1)==HIGH&&flag==0)
  {
   digitalWrite(5,!digitalRead(5));

переменный резистор и сама переменная

проблема с переменной

всем привет, столкнулся с такой проблемой, вот у меня есть потенциометр (переменный резистор),
и ардуинка или возможно будет ATtiny13 , задача в том что если ардуино замечает что я начал крутить резистор, не важно в какую сторону то например включалась лампочка или какой-то другой цыкл , например от 0 до 1024 (int) , резистор стоит на 564 и когда if(???) замечает что резистор сменился на 567 или наоборот меньше , на 563 то что-то уже там.
мне не подходит это:
int res = 0 // данные с резистора
if(res > 564 ll res < 564)