Не выходит короткий импульс

Да вы об одном и том же, только с разными формулировками.

Извини, не убедил. И да , ты сам об этом же выше и говорил.

Я про то что именно “верно”. Не на резистор, стабилитрон, и.т.п, а именно на вход АЦП.

К примеру, пальцы в розетку совать нельзя, а через резистор(соответствующий ) - можно.

Да ладно, без обид. Извини, если что, но на своём останусь.
Возражать больше не буду.

Написал вот такой скетч. По задумке дожна меняться яркость светодиода. Пробовал не работает(( Подсажите если знаете что ему ещё надо?
`const int RE = A0;//к А0 подключаю реостат
const int BU = 7;// к 7 выводу подключаю комп
const int OUT = 4;// с 4 выход
int val = 0;// переменная для хранения знач с реостата

void setup() {
pinMode (OUT, OUTPUT);
pinMode (BU, INPUT_PULLUP);

}

void loop() {
val = map(val,0,1023,0,4000);// присваиваю новые значения к значениям реостата

digitalWrite(OUT, HIGH);//на выходе делаем HIGH
delayMicroseconds(val);// ждём паузу согласно реостату
digitalWrite(OUT, LOW);// опускаем OUT в LOW
delayMicroseconds(3000);`
const int RE = A0;//к А0 подключаю реостат
const int BU = 7;// к 7 выводу подключаю комп
const int OUT = 4;// с 4 выход 
int val = 0;// переменная для хранения знач с реостата

void setup() {
  pinMode (OUT, OUTPUT);
  pinMode (BU, INPUT_PULLUP);

}

void loop() {
  val = map(val,0,1023,0,4000);// присваиваю новые значения к значениям реостата
    
    digitalWrite(OUT, HIGH);//на выходе делаем HIGH
    delayMicroseconds(val);// ждём паузу согласно реостату
    digitalWrite(OUT, LOW);// опускаем OUT в LOW
    delayMicroseconds(3000);

а старые то откуда берутся?
где реостат читается?

Я так понял что строчка 13, вроде как считывает показания и преписывает им новые значения.

Читал тут map(value, fromLow, fromHigh, toLow, toHigh) | Аппаратная платформа Arduino.

Я так понял что ардуино сопротивление реостата делит 1023 части и дальше составляет пропорцию согласно новому диапозону т.е 0 до 4000. Или я не правильно понял?

еще раз
в какой строке вы читаете показания с реостата с порта А0 ?

В13 от 0 до 1023?

Или надо дважды map ипользовать ?

Где у вас там функция analogRead(A0); ?

Точно!!!

Сделал вот так. Результата не дало.

const int RE = A0;//к А0 подключаю реостат
const int BU = 7;// к 7 выводу подключаю комп
const int OUT = 4;// с 4 выход 
int val = 0;// переменная для хранения знач с реостата

void setup() {
  pinMode (OUT, OUTPUT);
  pinMode (BU, INPUT_PULLUP);

}

void loop() {
  analogRead(A0);
  val = map(val,0,1023,0,4000);// присваиваю новые значения к значениям реостата
    
    digitalWrite(OUT, HIGH);//на выходе делаем HIGH
    delayMicroseconds(val);// ждём паузу согласно реостату
    digitalWrite(OUT, LOW);// опускаем OUT в LOW
    delayMicroseconds(3000);
  
  

}

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

читать надо так

  val = map(analogRead(A0),0,1023,0,4000);// присваиваю новые значения к значениям реостата

а то тут сопли еще сто постов мотать будем.

4 лайка

Огромное вам От всей души. Я не нашёл ничего подобного ни где.

И не даст. Зачем вы так сделали, объяснить сможете?

Потому что не искали, видимо. Это есть в любом учебнике программирования

А между тем, это написано “ве зде”. Читайте учебники, а то так и будете за каждой строчкой по форумам побираться.

1 лайк

Я чуть пополам не треснул (и киселем поперхнулся)…

:smile: :smile: :smile:

1 лайк

А чё тут трескать? Про это же “ни где” не написано!

1 лайк