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

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

как получить остаток от деления 2000

if ((millis() % 1000) > 500) digitalWrite(Pin, HIGH);
else digitalWrite(Pin, LOW);

математическая загадка.

подскажите чтото я запутался в конец. в примере выше  у нас получаются два диапозона 0-500, 501-999. раз в пол секунды мы моргаем. как моргать раз в секунду?

PINx и digitalRead возвращает разный результат

  Serial.println("HIGH: ");
  PORTC |= _BV(PC7);

  Serial.println(digitalRead(13));  //return 1
  Serial.println(String(PINC & _BV(PC7))); //return 128

выполняя чтения порта PC7 (aka Pin 13)  у которого статус HIGH я ожидаю увидеть 1 а возвращает почемуто 128. почему?

 

Почему не работает?

int read_voltage() {
  ADCSRA = (1 << ADEN);
  delay(10);
  ADMUX = (0 << REFS1) | (1 << REFS0) | (0 << MUX3) | (0 << MUX2) | (1 << MUX1) | (1 << MUX0);
  delay(10);
  ADCSRA |= (1 << ADSC);
  while (bit_is_set(ADCSRA, ADSC));
  uint8_t low  = ADCL; 
  uint8_t high = ADCH; 
  long result = (high << 8) | low;
  Serial.println(result);
  return result;


}

Изменения в библиотеке DigitalPins

Я тут недавно с удивлением обнаружил, что разработанной когда-то по моей просьбе библиотекой DigitalPins пользуюсь не я один. Потому решил выложить сделанные сегодня изменения.

Изменение позволяет использовать пины XTAL1, XTAL2 и RESET как обычные GPIO в ATmega328 (раньше они не поддерживались).

ESP32 на STM32

 
Добрый день.
Кто-нибудь знает, как преобразовать эту программу для stm32f103?
 
hw_timer_t * timer = NULL;

void onTimer(){
  static unsigned int counter = 1;
  
  Serial.print("onTimer ");
  Serial.print(counter);
  Serial.print(" at ");
  Serial.print(millis());
  Serial.println(" ms");

  if (counter == 10)
    endTimer();

  counter++;
}

void startTimer() {

Шим и транзистор

Ребзя, хелпаните плес, есть тразистор допустим он управляет 24вольтами, есть экран, как мне расчитать при какой частоте будет допустем 18в или 10в, . Какие, куда, кондесатор поставить и т.д. я естественно пытался найти ответ, да-да в инете все есть и я рукожоп)

Балетмейстера-музыканта-программиста тут случайно нет))?

Построил ведроида, учу танцевать. Пока так себе танцует:

https://drive.google.com/open?id=18sZP4C7VYvyorNCCxV9JGr8JN2nQ0wdf

Хочется красивее)))

 

LCD 2004 I2C c поддержкой кириллицы на ESP32

/sites/default/files/u28156/liquidcrystalcyr_i2c.png

Здравствуйте, ни у кого нету готовой библиотеки для екрана с встроенными русскими шрифтами I2C 2004 ?

Максимум нашел где показывает инициализацию на 0802 екран строка LiquidCrystalCyr_I2C lcd(0x27,8,2); 

Если инициализация LiquidCrystalCyr_I2C lcd(0x27,20,4); - екран пустой.

 

Float в Char[ ] без велосипеда на костылях

Есть ли какая-то стандартная функция для данной операции или нужно мутить воду с остатком деление(а чисо то не целое)?

Ик приемник

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