Не работает плавное включение светодиодной ленты через мосфет модуль

entity499
Offline
Зарегистрирован: 13.02.2019

Подключал мосфет через 3-ий аналоговый порт. Лента на 12 вольт. При запуске программы и достижении яркости 150 с чем-то лента резко включается на максимальную яркость

void exploIt(){
    for(byte led=0;led<=255;led++)
      {analogWrite(A3,led);
      Serial.println(led);
      delay(500);}
}

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

sadman41 пишет:

https://www.arduino.cc/reference/en/language/functions/analog-io/analogw... -> ^F "this function works on pins"

я думал, что здесь самый ленивый, заблуждался )))

entity499
Offline
Зарегистрирован: 13.02.2019

Atmega328P, 3-ий порт. Вроде всё поддерживается

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

entity499 пишет:

Подключал мосфет через 3-ий аналоговый порт. Лента на 12 вольт. При запуске программы и достижении яркости 150 с чем-то лента резко включается на максимальную яркость

void exploIt(){
    for(byte led=0;led<=255;led++)
      {analogWrite(A3,led);
      Serial.println(led);
      delay(500);}
}

должна быть логарифмическая зависимость или табличные данные.

это все свойства "железа".

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

entity499 пишет:

Atmega328P, 3-ий порт. Вроде всё поддерживается

Перечитайте ещё раз, на каких пинах работает analogWrite.

И, кстати, заодно прочитайте http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov . А то, за такую вставку кода, как у Вас, обычно здесь посылают и вообще не вступают в осбуждения. Сегодня народ, подрасслабился, наверное.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

renoshnik пишет:

это все свойства "железа".

Вы просто невнимательно посмотрели, и не заметили на какой пин он пытается шим выводить. Действительно, "свойства железа" :)

entity499
Offline
Зарегистрирован: 13.02.2019

On most Arduino boards (those with the ATmega168 or ATmega328P), this function works on pins 3, 5, 6, 9, 10, and 11. Я указал A3 вместо 3 т.к. 3 не работал на моей китайской нано. По идее разницы быть не должно

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

entity499 пишет:

Я указал A3 вместо 3 

Напрасна

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

entity499 пишет:
Я указал A3  .... По идее разницы быть не должно
По какой такой идее?

В общем я не знаю сторонником каких именно идей Вы являетесь, но 3 и А3 это совершенно разные пины, расположенные с разных сторон микросхемы и никакого отношения друг к другу не имеющие.

Разницы бы не было при вызове analogRead (там хоть 3 пиши, хоть A3 - всё равно это будет А3), а здесь ... подключайте куда положено.

entity499
Offline
Зарегистрирован: 13.02.2019

Спасибо, забиндил на 3 цифровой порт. Думал, раз analogWrite, значит только на аналог подключать.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

У ардуины нет аналоговых выходов (ЦАП), есть только аналоговые входы (АЦП).

Вы используете не аналоговый синал, а цифровой ШИМ (PWM). Он на других пинах, о чём Вам уже написали.

entity499 пишет:
Думал, раз analogWrite, значит только на аналог подключать.

Вы не первый, кого вводит в заблуждение название функции analogWrite(). До сих пор не понимаю, нахрена было её так называть. Назвали бы pwmWrite() и новичков меньше бы путали.