Выходное напряжение на портах
- Войдите на сайт для отправки комментариев
Вс, 08/11/2015 - 23:22
Здрасте всем!
Прошу не судить строго - я начинающий.
Купил Arduino Uno на Aliexpress. Подключил светодиоды, написал программу - все ОК. потом решил проверить все выхода порт Б и Д.
Напряжение на выходах порта Б в лог "1" - 5В, а напряжение в логической единицы порта Д - 3.3В.
Почему так происходит подскажите.
все пины порта D и B так себя ведут?
Да все пины
на порту Б 5вб а на порту Д 3.3в
а к портам что нибудь при этом подключено?
jeka_tm, я бы сразу спросил товарища о методике тестирования и проверочном скетче ) Любопытно конечно, что нужно сделать не так, чтоб получить 3 вольта. Из первого, что пришло на ум - пин сделать как input_pullup, и подключить светодиод. Как раз 3 вольта, которые оседают на светодиоде останутся, остальные 2 вольта рассеет резистор подтяжки.
ага. такая же мысль возникла что там что то висит
Стандартная программа мигания
pinMode(12, OUTPUT);
digitalWrite(12, HIGH);
// зажигаем светодиод
delay(1000);
// ждем секунду
digitalWrite(12, LOW);
// выключаем светодиод
delay(1000);
// ждем секунду
и так для 12,11,10,9,8 а далее 7,6,5,4,3 всё делал копированием. как раз 5 разных светодиодов подключенных через сопротивление (все сопротивления одинаковые).
А если забыть в void setup pinmode - будет записывать на выход 1 и 0? Сейчас посмотреть не могу программа дома, а я на работе.
странно. без светодиодов все нормально или нет? как со светодиодами? какие светодиоды? если светодиоды подцепить на 12, 11 и 7, 6 какое напряжение со светодиодами
а вообще ты помоему голову тут морочишь
А если забыть в void setup pinmode - будет записывать на выход 1 и 0?
Ничего не будет на выход записывать. Потому что выхода не будет, будет вход. При digitalWrite(12, LOW) будет плавающий (высокоимпедансный, Hi-Z) вход. При digitalWrite(12, HIGH) - включится подтяжка к питанию (Pull-Up), при которой через подтягивающий резистор пойдёт небольшой ток и светодиод может еле заметно светиться.
А если забыть в void setup pinmode - будет записывать на выход 1 и 0? Сейчас посмотреть не могу программа дома, а я на работе
Если забыть pinMode, то будет именно то, что вы и наблюдали. На выходе будет 3 вольта, светодиод либо не светится, либо едва светится.
Вы можете "мигать" одновременно всеми выводами обоих портов. В сетапе пропишите DDRB=0xFF; DDRD=0xFF; В loop такую команду: PORTB=~PORTB; PORTD=~PORTD; delay(1000);
Всем спасибо, так и получилось не прописаны выхода в void setup. Тему можно считать закрытой.
Еще раз всем спасибо.
))) мда
Ну вот, даже попкорна не поел, жаль