нужен девайс

pluha
Offline
Зарегистрирован: 24.09.2021

всем привет.

задача такая, есть 4 аналоговых провода, на которых присутствует питание от 0 до 5 вольт в зависимости от условий, и выглядит это примерно как 0.6, 1, 2.5, 3.8… нужно устройство, на котором бы я мог задать на выходе, в зависимости от входа, своё напряжение, например пришло 2.5 в, а мне нужно получить 3. Это значение я уже буду методом тыка подбирать. Изменения не линейные (насколько я успел разобраться) но это не точно, т.е. возможно для каждого значения на входе, нужно ручками указывать какое будет на выходе. я так понимаю что-то на шим нужно. питание устройства от сети автомобиля.

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

 

b707
Онлайн
Зарегистрирован: 26.05.2017

Почитайте пару вечеров книжку - и сможете написать такое сами.

всего-то надо с одного входа напряжение прочитать. на другой - записать.

microsystems
microsystems аватар
Offline
Зарегистрирован: 25.01.2020
pluha
Offline
Зарегистрирован: 24.09.2021

смогу конечно… нет возможности или желания уже)) 

b707
Онлайн
Зарегистрирован: 26.05.2017

ну тогда готовьте 3-4 тыс

man9913
Offline
Зарегистрирован: 19.03.2016

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

тс, ты вышел из спячки и снова понял что сбыча мечт должна иметь место быть?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Питание от сети автомобиля и различное напряжение от 0 до 5 Вольт?

ТС колхозит подключение магнитолы к штатному ДУ на руле. 100%. Не стоит с этим помогать даже за 4 тыр. Поскольку задача проста и описана в 100500 мест в сети, если ТС до сих пор её не решил значит IQ двузначный ;)). Следовательно мозг съест. ;))) ...я так думаю.

b707
Онлайн
Зарегистрирован: 26.05.2017

wdrakula пишет:

Питание от сети автомобиля и различное напряжение от 0 до 5 Вольт?

ТС колхозит подключение магнитолы к штатному ДУ на руле. 100%. Не стоит с этим помогать даже за 4 тыр. Поскольку задача проста и описана в 100500 мест в сети, если ТС до сих пор её не решил значит IQ двузначный ;)). Следовательно мозг съест. ;))) ...я так думаю.

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

- "А я думал. тебе это тоже интересно..."

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

опять какие-то обманки на авто, сколько берете с клиента?

сделаю на фирменных платах от JLCPCB, редактирование калибровочной кривой (вход/выход) для каждого канала через приложение на компе, API.

цену рассчитывайте х10 на цену для конечного пользователя.

контакты в аватарке.

pluha
Offline
Зарегистрирован: 24.09.2021

это не аудио, и не клиент, сделал свап на корче своём, нужно победить электронный дроссель. не разводите демагогию. 

 

pluha
Offline
Зарегистрирован: 24.09.2021

чините детектор, уважаемый.

b707
Онлайн
Зарегистрирован: 26.05.2017

pluha пишет:

нужно победить электронный дроссель.

4 канала на дросселе?

pluha
Offline
Зарегистрирован: 24.09.2021

два датчика, один педали газа другой датчик положения заслонки, питание у датчиков общее по 2 контакта, и по 2 на датчике это IDL (хх) ну и второй это уже положение заслонки. и того 2 датчика по 2 контакта которыми нужно управлять.

pluha
Offline
Зарегистрирован: 24.09.2021

xDriver пишет:

опять какие-то обманки на авто, сколько берете с клиента?

сделаю на фирменных платах от JLCPCB, редактирование калибровочной кривой (вход/выход) для каждого канала через приложение на компе, API.

цену рассчитывайте х10 на цену для конечного пользователя.

контакты в аватарке.

клиент предложил 2 бутылки пива, вам 20?)))

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

pluha пишет:

xDriver пишет:

опять какие-то обманки на авто, сколько берете с клиента?

сделаю на фирменных платах от JLCPCB, редактирование калибровочной кривой (вход/выход) для каждого канала через приложение на компе, API.

цену рассчитывайте х10 на цену для конечного пользователя.

контакты в аватарке.

клиент предложил 2 бутылки пива, вам 20?)))

я понял, спасибо, я пас.

b707
Онлайн
Зарегистрирован: 26.05.2017

pluha

бюджет?

vvadim
Offline
Зарегистрирован: 23.05.2012

ну если клиент даёт два пиваса, то за работу один.
логично же.....

pluha
Offline
Зарегистрирован: 24.09.2021

b707 пишет:

pluha

бюджет?

пока обозначили в 3р. не то чтобы я торгуюсь, скорее рассматриваю предложения по реализации. может кто-то скажет типа - вот сюда транзистор поставь и все. пусть это тоже стоит 3р (грубо) но меня устроит такая реализация. сам же я вижу девайс что-то на микроконтроллере, но не сильно в них разбираюсь, что-то вот из https://ampero.ru/arduino-kontrollery/ цена приятная за устройство, если что не заработает не так обидно будет)

renoshnik
Offline
Зарегистрирован: 11.04.2013
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

здесь DAC mcp4725 видимо нужен

pluha
Offline
Зарегистрирован: 24.09.2021

ua6em пишет:

здесь DAC mcp4725 видимо нужен

сори, я в этом не алё(

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

pluha пишет:

ua6em пишет:

здесь DAC mcp4725 видимо нужен

сори, я в этом не алё(

pluha
Offline
Зарегистрирован: 24.09.2021

ua6em пишет:

pluha пишет:

ua6em пишет:

здесь DAC mcp4725 видимо нужен

сори, я в этом не алё(

да я понимаю что такое ЦАП, но там по мануалу надо через какие-то сопротивления подключать, конденсаторы... не понимаю(
по сути мне надо сделать типа того что в видео, только чтобы было на выходе от 0 до 5 вольт на 4х каналах. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

pluha пишет:

ua6em пишет:

pluha пишет:

ua6em пишет:

здесь DAC mcp4725 видимо нужен

сори, я в этом не алё(

да я понимаю что такое ЦАП, но там по мануалу надо через какие-то сопротивления подключать, конденсаторы... не понимаю(
по сути мне надо сделать типа того что в видео, только чтобы было на выходе от 0 до 5 вольт на 4х каналах. 

по два модуля на одну ардуино нано, то за указанную плату реализую, модули надёжные, на сотни купленных на алишке брака не было

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

===============

Пост удалён за мат

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

 теперь и мы к своим 140 тысячам слов пару присовокупили )))

pluha
Offline
Зарегистрирован: 24.09.2021

===============

Пост удалён за мат

 

pluha
Offline
Зарегистрирован: 24.09.2021

и да, замена магнитолы - свап... 

регистрировать на незарегистрированном авто в ГИБДД ничего не нужно, лишь бы по регламенту той или иной группы проходил где будет использоваться, а там уж поверьте, колхоза столько, что словаря не хватит)

mifar
Offline
Зарегистрирован: 07.04.2021

ua6em пишет:
по два модуля на одну ардуино нано

4728 4-х канальный

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mifar пишет:

ua6em пишет:
по два модуля на одну ардуино нано

4728 4-х канальный

я с ними не работал, не было необходимости, интересно брак есть на али по этим?

brokly
brokly аватар
Онлайн
Зарегистрирован: 08.02.2014

man9913 пишет:

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

тс, ты вышел из спячки и снова понял что сбыча мечт должна иметь место быть?

Не, это другой. У того все волшебно работает :)

brokly
brokly аватар
Онлайн
Зарегистрирован: 08.02.2014

wdrakula пишет:

2. Свап. Совершенно нелегальная замена агрегатов на корче. К примеру двигатель от трактора на запорожец. Нелегальность - важная составляющая этого онанизма. Если ты поставил что-то удобоваримое и зарегистрировал внесение изменений в конструкцию в ГИБДД - ты не свапщик и не корчер! ;))) Это типа западло!

Свап может быть на любом аппарате. Не обязательно на корче :)

KaktYs_reva20
Offline
Зарегистрирован: 24.09.2021

Я сделал то что вы просили пишите на почту geovin2007@yandex.ru
Цена торг от 450 руб.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

KaktYs_reva20 пишет:
Я сделал то что вы просили пишите на почту geovin2007@yandex.ru Цена торг от 450 руб.

не так не пойдёт, xDriver не просто так отказался, там 3 рубля за то, что ТС тебе будет мозг выносить, а сам скетч не стоит и ломаного гроша, библиотеки то есть  )))

pluha
Offline
Зарегистрирован: 24.09.2021

ua6em пишет:

KaktYs_reva20 пишет:
Я сделал то что вы просили пишите на почту geovin2007@yandex.ru Цена торг от 450 руб.

не так не пойдёт, xDriver не просто так отказался, там 3 рубля за то, что ТС тебе будет мозг выносить, а сам скетч не стоит и ломаного гроша, библиотеки то есть  )))

на поиски уже столько времени выделено, что походу вернусь к совету  - почитать книжку и состряпать программу)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

pluha пишет:

на поиски уже столько времени выделено, что походу вернусь к совету  - почитать книжку и состряпать программу)

непременно сообщите нам о результатах, о потраченном времени и ресурсах.

а то как не приедешь в автосервис, чеенить засвопить, ценник дерзкий, а тут фигня какая то, с пару датчиков показания подкорректировать.

lovsander
lovsander аватар
Offline
Зарегистрирован: 25.11.2015

интересно, какого рода преобразования нужны. Логические если-то. Или матем функция какая то.  Градация на ардуино 255 этого хватит? или железку другую берем

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

lovsander пишет:

интересно, какого рода преобразования нужны. Логические если-то. Или матем функция какая то.  Градация на ардуино 255 этого хватит? или железку другую берем

откуда взялось 255?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

А в дошираках это сколько будет? Может я возьмусь.

pluha
Offline
Зарегистрирован: 24.09.2021

xDriver пишет:

pluha пишет:

на поиски уже столько времени выделено, что походу вернусь к совету  - почитать книжку и состряпать программу)

непременно сообщите нам о результатах, о потраченном времени и ресурсах.

а то как не приедешь в автосервис, чеенить засвопить, ценник дерзкий, а тут фигня какая то, с пару датчиков показания подкорректировать.

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

а свап делаю сам по той же причине что в сервисах берут за это овердохера, и как показала практика - потом переделывать надо все что ещё дороже

pluha
Offline
Зарегистрирован: 24.09.2021

lovsander пишет:

интересно, какого рода преобразования нужны. Логические если-то. Или матем функция какая то.  Градация на ардуино 255 этого хватит? или железку другую берем

если 255 на канал то пойдёт 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

pluha пишет:

lovsander пишет:

интересно, какого рода преобразования нужны. Логические если-то. Или матем функция какая то.  Градация на ардуино 255 этого хватит? или железку другую берем

если 255 на канал то пойдёт 

да ладно, давай 1023 сделаем, 10 пивасиков тебе, 10 мне )))

// библиотека - https://github.com/hideakitai/MCP4728

#include <Wire.h>
#include "MCP4728.h"
MCP4728 dac;

const uint16_t PROGMEM my_dump1[1024] = {1, 2, 3, 4, 5, 6, 7};
const uint16_t PROGMEM my_dump2[1024] = {1, 2, 3, 4, 5, 6, 7};
const uint16_t PROGMEM my_dump3[1024] = {1, 2, 3, 4, 5, 6, 7};
const uint16_t PROGMEM my_dump4[1024] = {1, 2, 3, 4, 5, 6, 7};
uint16_t d1;
uint16_t d2;
uint16_t d3;
uint16_t d4;

void setup() {
  Serial.begin(115200);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  pinMode(A3, INPUT);

  Wire.begin();
  dac.attach(Wire, 14);
  dac.readRegisters();
  dac.selectVref(MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::VDD);
  dac.selectPowerDown(MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM);
  dac.selectGain(MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X1);
  dac.analogWrite(MCP4728::DAC_CH::A, 0);
  dac.analogWrite(MCP4728::DAC_CH::B, 0);
  dac.analogWrite(MCP4728::DAC_CH::C, 0);
  dac.analogWrite(MCP4728::DAC_CH::D, 0);
  dac.enable(true);
  dac.readRegisters();
  delay(5000);
}

void loop() {
  d1 = analogRead(A0);
  d2 = analogRead(A1);
  d3 = analogRead(A2);
  d4 = analogRead(A3);
  dac.analogWrite(my_dump1[d1], my_dump2[d2], my_dump3[d3], my_dump4[d4]);
  delay(10);
  dac.readRegisters();
}

 

man9913
Offline
Зарегистрирован: 19.03.2016

brokly пишет:

man9913 пишет:

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

тс, ты вышел из спячки и снова понял что сбыча мечт должна иметь место быть?

Не, это другой. У того все волшебно работает :)

я же помню что что-то похожее уже было. вот нашёл http://arduino.ru/forum/ishchu-ispolnitelya/analogovyi-preobrazovatel-adc-dac

видишь ТС, там вроде brokly что-то подобное говорит сделал, может к нему имеет смысл обратиться.

pluha
Offline
Зарегистрирован: 24.09.2021

man9913 пишет:

brokly пишет:

man9913 пишет:

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

тс, ты вышел из спячки и снова понял что сбыча мечт должна иметь место быть?

Не, это другой. У того все волшебно работает :)

я же помню что что-то похожее уже было. вот нашёл http://arduino.ru/forum/ishchu-ispolnitelya/analogovyi-preobrazovatel-adc-dac

видишь ТС, там вроде brokly что-то подобное говорит сделал, может к нему имеет смысл обратиться.

ну мне типа такого и надо но все что я оттуда понял у илона маска было слишком много ступеней, надо было фнч ставить иначе падают ракеты

pluha
Offline
Зарегистрирован: 24.09.2021

ua6em пишет:

pluha пишет:

lovsander пишет:

интересно, какого рода преобразования нужны. Логические если-то. Или матем функция какая то.  Градация на ардуино 255 этого хватит? или железку другую берем

если 255 на канал то пойдёт 

да ладно, давай 1023 сделаем, 10 пивасиков тебе, 10 мне )))

// библиотека - https://github.com/hideakitai/MCP4728

#include <Wire.h>
#include "MCP4728.h"
MCP4728 dac;

const uint16_t PROGMEM my_dump1[1024] = {1, 2, 3, 4, 5, 6, 7};
const uint16_t PROGMEM my_dump2[1024] = {1, 2, 3, 4, 5, 6, 7};
const uint16_t PROGMEM my_dump3[1024] = {1, 2, 3, 4, 5, 6, 7};
const uint16_t PROGMEM my_dump4[1024] = {1, 2, 3, 4, 5, 6, 7};
uint16_t d1;
uint16_t d2;
uint16_t d3;
uint16_t d4;

void setup() {
  Serial.begin(115200);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  pinMode(A3, INPUT);

  Wire.begin();
  dac.attach(Wire, 14);
  dac.readRegisters();
  dac.selectVref(MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::VDD);
  dac.selectPowerDown(MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM);
  dac.selectGain(MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X1);
  dac.analogWrite(MCP4728::DAC_CH::A, 0);
  dac.analogWrite(MCP4728::DAC_CH::B, 0);
  dac.analogWrite(MCP4728::DAC_CH::C, 0);
  dac.analogWrite(MCP4728::DAC_CH::D, 0);
  dac.enable(true);
  dac.readRegisters();
  delay(5000);
}

void loop() {
  d1 = analogRead(A0);
  d2 = analogRead(A1);
  d3 = analogRead(A2);
  d4 = analogRead(A3);
  dac.analogWrite(my_dump1[d1], my_dump2[d2], my_dump3[d3], my_dump4[d4]);
  delay(10);
  dac.readRegisters();
}

 

 

такс… отложим до понедельника, в пн беру нано 3 и цап на 4 канала. дальше смотрим что нужно. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

pluha пишет:

ну мне типа такого и надо но все что я оттуда понял у илона маска было слишком много ступеней, надо было фнч ставить иначе падают ракеты

ты зубы не заговаривай, скетч я сбросил, бегом за пивасиком

pluha
Offline
Зарегистрирован: 24.09.2021

ua6em пишет:

pluha пишет:

ну мне типа такого и надо но все что я оттуда понял у илона маска было слишком много ступеней, надо было фнч ставить иначе падают ракеты

ты зубы не заговаривай, скетч я сбросил, бегом за пивасиком

ну пока  ничего не работает)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

pluha пишет:

ua6em пишет:

pluha пишет:

ну мне типа такого и надо но все что я оттуда понял у илона маска было слишком много ступеней, надо было фнч ставить иначе падают ракеты

ты зубы не заговаривай, скетч я сбросил, бегом за пивасиком

ну пока  ничего не работает)

что ему не работать, таблицу заполни реальными данными и всё

Скетч использует 7274 байт (22%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 539 байт (26%) динамической памяти, оставляя 1509 байт для локальных переменных. Максимум: 2048 байт.

 

brokly
brokly аватар
Онлайн
Зарегистрирован: 08.02.2014

ua6em пишет:

что ему не работать, таблицу заполни реальными данными и всё

Кхыхыккхкыы :))) Фигли там, всего то 4 тысячи значений ручками набить :))))  Жжешь !

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

brokly пишет:

ua6em пишет:

что ему не работать, таблицу заполни реальными данными и всё

Кхыхыккхкыы :))) Фигли там, всего то 4 тысячи значений ручками набить :))))  Жжешь !

а он что, хотел 10 бутылок пива запросто так снять, мы жеж набиваем )))

PS даже упрощу ему жизнь. массивы набил, останется чуток подкорректировать...
 

// библиотека - https://github.com/hideakitai/MCP4728

#include <Wire.h>
#include "MCP4728.h"
MCP4728 dac;

const uint16_t PROGMEM my_dump1[1024] = {
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
/* 100 и далее */  
 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
/* 200 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 300 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 400 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 500 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 600 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 700 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 800 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 900 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 1000 и далее */  
  1001, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 1024};
  
const uint16_t PROGMEM my_dump2[1024] = {
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24};
  
const uint16_t PROGMEM my_dump3[1024] = {
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24};
const uint16_t PROGMEM my_dump4[1024] = {
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
/* 100 и далее */  
 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
/* 200 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 300 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 400 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 500 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 600 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 700 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 800 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 900 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
  33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  97, 98, 99, 100,
  /* 1000 и далее */  
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
  17, 18, 19, 20, 21, 22, 23, 24};
uint16_t d1;
uint16_t d2;
uint16_t d3;
uint16_t d4;

void setup() {
 // Serial.begin(115200);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  pinMode(A3, INPUT);

  Wire.begin();
  dac.attach(Wire, 14);
  dac.readRegisters();
  dac.selectVref(MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::VDD, MCP4728::VREF::VDD);
  dac.selectPowerDown(MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM, MCP4728::PWR_DOWN::GND_100KOHM);
  dac.selectGain(MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X1, MCP4728::GAIN::X1);
  dac.analogWrite(MCP4728::DAC_CH::A, 0);
  dac.analogWrite(MCP4728::DAC_CH::B, 0);
  dac.analogWrite(MCP4728::DAC_CH::C, 0);
  dac.analogWrite(MCP4728::DAC_CH::D, 0);
  dac.enable(true);
  dac.readRegisters();
  delay(5000);
}

void loop() {
  d1 = analogRead(A0);
  d2 = analogRead(A1);
  d3 = analogRead(A2);
  d4 = analogRead(A3);
  dac.analogWrite(my_dump1[d1], my_dump2[d2], my_dump3[d3], my_dump4[d4]);
  delay(10);
  dac.readRegisters();
}

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

ua6em, потри сообщение в теме про али.

может и забьет, только разбираться в этом хламе без визуализации - жесть.

я бы сократил кол-во точек раз в сто, и дальше апроксимация на выбор

а пиво одно мне :)))