Уроки Arduino #10 - потенциометры и аналоговые пины
ฝัง
- เผยแพร่เมื่อ 20 ก.ย. 2024
- В этом уроке рассмотрим аналоговые пины Ардуино и подключение потенциометров, а также функции преобразования диапазона значений.
▼ Текстовая версия ▼
alexgyver.ru/l...
▼ Модули, датчики и полезные штуки для Arduino ДЁШЕВО ▼
alexgyver.ru/ar...
▼ Скетч к видео ▼
alexgyver.ru/ar...
▼ Огромный стартовый набор GyverKIT ▼
kit.alexgyver.ru/
▼ Уроки Arduino на сайте ▼
alexgyver.ru/l...
▼ Модули и датчики с Али ▼
alexgyver.ru/ar...
▼ Страница "Заметок Ардуинщика" ▼
alexgyver.ru/ar...
Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/s...
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru - วิทยาศาสตร์และเทคโนโลยี
Ахтыжблин, номер КОНСПЕКТА забыл изменить. Он 9, а не 10 =)
Привет ппцан
Заметки Ардуинщика привет
Саня, ты ещё ошибся в коде.
Ты написал: map(val, 0, 1023, 0, 10);
А нужно: val = map(val, 0, 1023, 0, 10);
спасибо за подсказку, запарился на этом моменте как раз
Чееерт чувак спасибо от души помог реально я тут сижу мозги ебу че оно не работает так как надо думаю ёмаё че я не нак сделал а тут такая фигня еще раз спасибо от души помог просто жесть как офигенно
Удивительно грамотный и компетентный чел, все же. И слова английские правильно произносит, и контента на двух каналах столько классного! Алекс, я рад, что у нас есть такие авторы, как ты! Это редкость...
map(val, 0, 1023, 0, 10) не работает. Исправил на val = map(val, 0, 1023, 0, 10). Да и в скетче к видео приложенном смотрю ты все поправил.
надо бы твой коммент в топ вывести
Так он далее и в видео поправил, наверное сразу заметил что что - то не так
Я сука не понимал почему у меня не ограничивается диапозон
Тоже самое
спасибо, добрый человек
Сразу лайк, ибо знаю, что извлеку из этого видео пользу. Про ардуино у Алекса лучше получается чем у остальных кто на Ютубе просвящает народ.
Сразу лайк, ведь я это уже знаю)
Ζεητορηο Κερmαη сразу лайк за сразу лайк, ведь не трудно поставить лайк!
Алекс, твои объяснения даже мои рыбки понимают!
Alex спасибо тебе за твои видео!
Надеюсь, мы увидим следующий урок не через пол года) А так, спасибо за труд для чайников.
Большое спасибо за все видео, очень полезный и интересный контент вы создаете. Удачи с развитием, всего наилучшего!
+Egorkin Egor всегда пожалуйста, и спасибо :3
Ты БОГ на ютубе у тебя самые понятные видио. Я ребенок и понимаю. Всегда мечтал програмировать ардуино. Спасибо!!!
Спасибо большое 😊 очень помогли мне в создании руля
Не работает на самом деле. Нет вывода значения и не присваивается преобразованная величина. Вывод нужно сделать - Serial.println(val); А зафиксировать преобразованную величину строчкой - val = map(val,0,1023,0,10);
а как сделать как у тебя в начале. при движении ползунка плавно появляется текст на дисплее
Через оператор if
Побольше таких уроков! Молодец!
БОГ! Делай дальше, пожалуйста))) ты крут!
+verbitsky будет, все будет :)
Спасибо!))
Большое спасибо за дельные уроки!
Чувство юмора у автора на уровне!)
Алекс, расскажи про типы потенциометров: какой лучше подходит для игрового манипулятора на ардуино леонардо? линейный (А) или логарифмический (В) ??
Годный контент)спасибо, жду следующих выпусков
Очень познавательно, просто в освоении! Спасибо за отличный контент!
Я вам желаю дожить до 150 лет, за такие полезные уроки! И при этом вам ни когда не встречаться со мной лично.
Очень интересно!
Спасибо большое, Твои уроки дали начало моим экспериментам :-). Я искал в твоих уроках вариант работы с шумами - не смог найти. У меня задача такая. Дачик контакта с водой может оторваться. При этом шума которые идут могут быть интерпретированны ардуинкой как сигнал - и насос не будет выключаться. А если научить ардуину отличать сигнал и шум - можно прописать функцию, чтобы сробатывал сигнал об ошибке. Мне кажется можно для этого все данные получаемые от датчика пассками по 10 - 20 пропустить через матстатистическую формулу - среднее квадратичное отклонение. у сигнала оно будет минимально - а у шумов - гораздо выше.
Я не понимаю как это сделать в програмном коде. Если нужны подробности - сообщи.
Спасибо большое за уроки ,очень помогает
Узнал за 10 видео больше чем за всю старшую школу
Вот ПРАВИЛЬНЫЙ и рабочий код.
//потенциометр 0..10
#define potent_pin A0
int val;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(potent_pin);
val = map(val, 0, 1023, 0, 10);
constrain(val, 0, 10);
Serial.println(val);
delay(30);
}
Леха ну ты партаков налепил в видосе конечно)) то принт не поставил то вал не добавил то скобки- вредный ты Леха ой вреееедный) одно радует - все загуглил и поправил а кой чего и сам допер) хитро)
Кто такой Леха?
4:26
каким образом можно выйти из входного диапазона?
Вероятно это проблема не именно этого примера, а в случае ЧС, например при работе с яркостью и настройки цветов, где позарес нужно значение от 0 до 255
Int i = 1000;
i=map(i, 0, 500,0,100) //i == 200;
i=constrain (i, 0, 100); // i == 100;
Наглядный пример расчет % уровня сигнала вайфай. За 100 % считается (100-RSSI)*2. По факту мощный сигнал выходит за 100% по этой формуле.
@@androidpasha нахрена нужна такая функция, которая делает лишь математическую пропорцию, а за границами не следит?
@@ФываЯчмить Создайте свою.
@@androidpasha просто она лишена смысла, как функция. Пропорцию любой школьник составит, причем писать надо будет меньше. А "плохо играешь - сыграй лучше" аргумент гуманитариев.
Делай побольше уроков
4:19-4:22 что тенью у конспекта?)
Alex , сделай пж про шаговые двигатели на ардуино !!
Классная музыка!!
Красава) видео очень полезное, и нету идиотской рекламы!
А как узнать максимальное количество потенциометров и кнопок которые я могу подключить и одновременно использовать с ардуино нано/мини/уно
(при условии использования мультиплексоров)
Пора открывать академию Arduino имени Александра Майорова )))
Спасибо за видео и советы
досмотрел до #10 урока....... скажу как есть, простой обыватель заинтерисовавшийся ардуино плюнул бы на это дело ещё после 1-го урока. Я плюнул после 10-го. Это космос )))
Наконец-то!!!
А как переделать схему, чтоб вместо потенциометра использовать ШИМ например? если можно, хотелось бы такое видео, возможно ли это и насколько сложно
а можно настроить потенциометр так, чтобы при определённых углах эмулировались нажатия клавиши и при чём углы те же ,а при клавиши разные в зависимости от того по часовой стрелке идёт вращение или против?
Нашел альтернативу функции map:
int sensorValue = analogRead(A0);
// конвертирует аналоговое считывание (которое идет от 0-1023) в напряжение (0-5 вольт, или более точно значение - измерьте выход вольтметром):
float voltage = sensorValue * (5.0 / 1023.0);
Алекс спасибо. Подскажите как измерять сигналл с одного входа с интервалом времени и сравнить их?
Большое спасибо.
а вот сразу сказатьчто надо приравнивать val к constrain и map, и выводить через Serial.println(val); ну хоть сам допер
У меня числа постоянно изменяются. Всё время числа прыгают между 231 до 422.
Делал всё как в видео. Помогите пожалуйста!
У меня то же самое: цифры скачут на любом аналоговом пине, испробовал 2 платы Ардуино Нано
а у меня блять даже этого не происходит. тупо не выводит когда я ему ставлю констраин и мап. и ругается постоянно.
наконец то я нашол кто обьесняет хорошо
Можно немного уменьшить прошивку если использовать дополнительную переменную типа byte для значения сконвертированого в диапазон от 1 до 10
Вот бы ещё !!!!!!!!!
Ураа 10 урок
А есть видео про точный вольтметр на Ардуино?
контроль поворота угла вала через резистор интересует. Как сопоставить показания переменника с углом редуктора. Если вращать мотор от центра до +/- 90 градусов
Подскажите пожалуйста... есть измеряемая цепь где напряжение изменяется в небольшом диапазоне не от 0 Вольт (изменяемый диапазон напряжений порядка от 0,8 до 1,3В). Судя из урока я так понимаю лучше такую цепь измерять подав на вход ардуины опорное напряжение (скажем порядка 1,5Вольт). Т. е. так Мы уберем неиспользованный диапазон напряжений от 1,5 до 5 Вольт тем самым повысим точность измерений АЦП.
А как можно убрать нижний неиспользуемый диапазон напряжений (программно или аппаратно т. е. чтобы эти 1024 бит использовать для оцифровки напряжения от 0,8 до 1,5В)?
Ведь диапазон от 0 до 0,8В просто не использхуется а значит больше половины возможностей АЦП не используются!
а урок по работе с LCD дисплеями будет??? очень жду
Классный видос 👍
Я чуть с ума не сошел. Не получается вывести значения через map. Весь код переписал символ в символ, как на видео (10 раз проверил), но ничего не выводится в терминал. И я не пойму как оно должно выводится, если мы стерли строку Serial.println ?
У него в коде пропущено несколько элементов. Например, чтобы задать переменной значение в новом интервале нужно писать val = map(val,min,max,new_min,new_max). Тоже самое с constrain. Пришлось перепроверить это в интернете
@@wateron1058 он не показал Serial.println(val);
и на кой хер тогда такие уроки?
Большое спасибо! теперь очень прошу пояснить как управлять скоростю шаговика с помощю переменника...
Очень интересно
Сделай пожалуйста видео про прогу fritzing. Я всю её просмотрел, но многих компанентов, которые есть у тебя на схемах, я не нашёл
Привет! Можешь сделать видео с датчиками холла(цифровой + линейный)? Хотелось бы посмотреть. Спасибо.
А можно сделать преобразователь голоса в реальном времени на Ардуино? (типа как на основе схемы NT200)
а ардуину можно использовать как переменный резистор?
ну например купил блок питания, выпаял настроичный резистор и впаял ардуину чтоб програмно регулировать напряжение
Просто лючщий. ВАХ.
Есть вопрос. Имеется датчик давления изменяющий своё сопротивление от 0 до 303 ом. Как его подключить к ардуино при наличие у датчика двух выводов?
Здравствуйте! А покажите пожалуйста как сделать так что начальное положение потенциометра , равное нулю (потенциометр выкручен против часовой стрелки выкручен до упора), начинаем кутить потенциометр изменяя значение шим сигнала и допустим выключили ардуино, включаем обратно и так как поиенциометр находится не в исходном состоянии программа не запускается, а начинает запускаться только после того, как потенциометр вернется в исходное состояние, заранее спасибо за ответ
Привет, можно ли измерить напряжение подаваемое на PIN от катушки индуктивности?
Вопрос возможно глупый, но тем не менее интересно: как выбирается номинал потенциометра? почему именно 10кОм используются повсеместно с ардуино?
+Роман Соболев можно выбрать любой, но надо понимать, что через него будет течь ток "в тепло". Для 10 ком утечка будет 5/10000 = 0.5 мА, что кстати прилично. Можно поставить и 5 кОм, и 50, просто 10 более распространенные, они стоят в 99% всяких модулей и готовых устройств
Помогите начинающему. Имею проблему. Купил в своё авто сидения с ауди а концевики ремней на эфекте холла. Нет ремня 400Ом, встевлен ремень 100Ом. Хотелось бы получить чтобы при вставленном ремне срабатывало реле от Ардуино нано. Заранее благодарен.
подскажите если не трудно. мне нужно чтобы потенциометр задавал время задержки от 0 до 15 секунд. как в команду delay добавить эти значения?
Привет Алекс, у меня такой вопрос, можно ли подключить обычный ethernet module от ПК к ардуино? у меня просто дома лишний лежит
А если за цифровой 0 назначить 2,5 вольт, чтоб иметь минусовые цифры при напряжении меньше 2,5 вольт? или надо подводить минусовое напряжение?
Здравствуйте. можно ли подключить ардуино через прикуриватель ? 5v 1.5 ампер ?
почему то я думал что к потенциометру нужно всего 2 провода подключать. Попробовал собрать в одно целое 3 потенциометра, соединил их общим плюсом и минусом ,со средних ног снимаю значения мультиком. 2 потенциометра изменяют сопротивление на 5 ком вместо 10 номинальных, а третий не изменяет вообще, крути не крути. Убираю общий минусовой провод, всё работает как надо, все 3 потенциометра изменяют сопротивление на 10 ком. Это из за того, что провода не подключены к питанию может? Не знаю просто как быть
Что происходит с током нагрузки если его менять?
делаю analogRead на голом ардуино. значение каждый раз другое. я в шоке. что это может быть?
можно ли изменить яркость светодиодной ленты с помощью ардуино , только кодом ??????
спасибо
А уроки про Raspberry Pi 3 B+ будет?
Подключил потенциометр к ардуино. Крайние ножки к GND и 5V, а центральную к аналоговому порту. Но когда до упора сдвигаю потенциометр(в самом конце) моя ардуинка выключается. При сдвиге потенциометра до упора в противоположенную сторону работает норм в монитор порта выводит 1023. Почему выкл ардуино? происходит КЗ? если так то значит потенциометр неисправен? подскажите пожалуйста.
Интересно,а через пару лет,когда уроки закончатся что будет на этом канале?Самоделки - да нет,для этого основной канал есть.Интересненько....
ну, канал выполнит свою образовательную функцию и будет забыт. Да, серьёзно. но я надеюсь, что будут появляться новые увлечённые люди, будут смотреть уроки без ожидания выхода новых серий и просвящаться. Я хочу оставить что-то после себя. Аминь.
А я таки оптимистичен! В элетронике едить колотить сколько всякого барахла, которое можно присунуть к ардуинке. Да и ардуиноделы поди будут всякое новое делать, по мере развития тех.прогресса.
Ну и наконец с той частотой, с которой кое кто видео делает, и при текущем объеме приблуд всяких уйдёт несколько лет, чтобы охватить всё.
Мне вот интересно как можно на ардуинке, или нескольких, замонстрячить 3дфрезер из говна и палок. И чтобы я понял что и как там происходит.
Заметки Ардуинщика так ответил,аж прослезился T_Т
ахаха
Здравствуйте, Алекс! Хочу подключить несколько устройств по i2c, для удобства хотел найти плату с несколькими параллельными вилками по 4 пина, одна из которых соединялась бы с контроллером, а другие с модулями. На али нашел только I2C Splitter Expand Module, но это немного не то. Хотелось бы с обычными PCB разъёмами. Как бы могла называться такая плата или шилдт? Сам спаять мог бы, но если есть в продаже, то проще купить.
1:55
Кхеммм... Т.е. такие "крутилки" можно использовать только в качестве управляющих? Я такую в цепь встраивал средним контактом и одним из крайних... )) И думал "А на кой тут вообще 3 ноги-то?" )
За видео конечно лайк и снова вопрос - в чём смысл функии мэп? Почему в данном примере не просто помножить считанный val на 10/1023?
думаю, что Вы правы. Можно было всё рассчитать на математической логике. Однако у MAP более широкие границы:
Обратите внимание, что "нижняя граница" может быть как меньше, так и больше "верхней границы". Это может быть использовано для того чтобы "перевернуть" диапазон:
y = map(x, 1, 50, 50, 1);
Возможно использование отрицательных значений:
y = map(x, 1, 50, 50, -100);
Функция map() оперирует целыми числами. При пропорциональном переносе дробная часть не округляется по правилами, а просто отбрасывается.
А пины аналоговые могут быть выходами или входами по умолчанию?
Мне кажется нужно сделать отдельный урок, где объяснить, какое значение в коде имеет пробел, расположение цифр и других символов, строчек и т.д. Я банально не понимаю, что случится с кодом если я нашлепаю скажем лишних пробелов. Или случайно ткну где-нибудь точку...
язык программирования - строгий язык. Лишние символы приведут к ошибке и компилятор покажет, где ошибка
У меня при включению COM порта вот такая хрень 18:42:40.360 -> 506
18:42:40.396 -> 491
18:42:40.430 -> 501
18:42:40.464 -> 498
18:42:40.498 -> 494
18:42:40.498 -> 504
18:42:40.534 -> 489
18:42:40.567 -> 508
18:42:40.602 -> 487
18:42:40.636 -> 510
18:42:40.670 -> 485
18:42:40.705 -> 512
18:42:40.740 -> 484
18:42:40.740 -> 514
Класс
При выводе аналогового пина я получаю постоянное значение, это норм ?
и это значение не меняется даже если подключен потенциометр или нет.
Сам потенциометр проверял тестером, рабочий
void loop() {
Serial.print("potent: "); Serial.println(analogRead(3));
delay(100);
}
Здравствуйте , я хочу дистанционно управлять поворотом сервомоторов 4 шт. потенциометром ,без проводов растояние 10м. как решить проблему не знаю. Прошу помощи. Спасибо.
Ардуина может работать с токовыми датчиками (к примеру SPKW0031C0 4-20 мА) ?
А можешь сделать видео в котором будет рассказываться как с помощью карточки включается лампочка а когда убираешь карточку лампочка выключается
Есть такой китайский потенциометр вставлять в макетку ее пин не портится?
Он же становится широким и разработанным...
Здрасьте ) Подскажите вот такую штуку... у меня дети уронили калонку и сломали в нем потенциометр наглухо... маркировка в10к у меня есть живой в50к... я могу сломаный им заменить без вреда для колонки хоть они и копеечные лишних финансов совсем нет новые покупать
Здравствуйте. Помогите с одной проблеммой... прикупил себе я Аттини13а, и давай её прошивать... написал скетч, проверил его на Ардуино - работает как надо, поменял пины в соответствии с даташит аттини13 и при компиляции выдало ошибку invalid conversion from 'int' to 'analog_pin_t' [-fpermissive]. Почему-то ядро для аттини что я установил с вашего сайта не понимает аналогРид? или как это понимать?
#define pin 4
int led = 1;
void setup()
{
pinMode (led, OUTPUT);
}
void loop()
{
int led = analogRead(pin);
digitalWrite(led, HIGH);
}
Помогите разобраться....я в замешательстве.
Алекс расскажи пожалуйста про usb реле ... которая есть на али.. Там можно реле с usb управлять. это конечно не относится к ардуино но все таки, есть такие задачи для которых изолированный микроконтр не нужен. какую библиотеку при этом использовать для С++ программ, может быть даже консольных и пример..
скажи это чату гпт
Приветствую, о мудрейший из мудрейших ))) , есть вопросик : как преобразовать сигнал из датчика холла ( ручка газа с алиекспресс ) в переменный резистор (100kom) для шим регулятора на ne 555 ? Сделал сыну электро велик из шуруповерта на 18 вольт , не нравится работа газа (кнопки) нет плавной регулировки. хочу собрать шим регулятор для работы двигателя от 24 в, а резистивную ручку газа не могу найти. Жду ваших предложений, спасибо.
У меня вопрос. Стоит задача получать инфу с фотодиода. Но он выдает гораздо меньше 5V, примерно от 0 до 50mV. Соответственно градаций сигнала на аналоговом выходе сразу станет в 100 раз меньше?)
от 1 до 10?)
Как быть в такой ситуации? Искать АЦП на 16 бит?
опер поставь, дубина)))
скоро набежит школота узнав что позледние 2 и про шим сигнал урок напрямую связан с вэйпом :)
у меня из за того что живу на последнем этаже дома идут помехи от вентиляторов на крыше и ничего адекватного не получается, ардуина думает что на пинах есть напряжение еще и дребезжащее и без потенциометра значения скачут как рандомные от 0 до 1023.
А если у меня потенциометр выдаёт не от 0до5, а от 3до 5, а на выходе значение хочу чтоб было от 0 до 1024, как записать в программе?
с помощью map можно организовать
Колпачки на потенциометры так-же, как и на энкодеры, можно печатать на 3D принтере. Я так постоянно делаю.
дай файл для печати
Я смотрю ты канал решил оживить
Привет, Алекс! Подскажи пожалуйста лучший язык для "чайников" (типа меня)