Расширенная инструкция языка

TevatroN
Offline
Зарегистрирован: 17.11.2013

Эты ВыННП. Выше сказано полно советов, абсолютно верных исходя из сказанного вами.

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

Это вы мне будете говорить что ЯННП?

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Молодец. Не сомневаюсь в ваших способностях. Хотите схему? Пожалуйста:

 

PS

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

com
Offline
Зарегистрирован: 06.09.2013

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

http://arduino-project.net/arduino-books/

ТС, идите сразу в "ищу исполнителя, куплю диплом", не устраивайте тут цирк

bwn
Offline
Зарегистрирован: 25.08.2014

Не, не удержался. ТС, ваш вопрос звучит, как "Дайте подробную инструкцию по составлению слов из букв алфавита". Только пока не изучил алфавит, эта инструкция бесполезна. Так изучите сначала - СИ, его переменные, операторы и пр. Обзорно это всего 100 страничек вместе с примерами. Выставленное в разделе "Програмирование" включает почти все  и никаких суперсекретных команд (как найти ЦАП, где его нет) не существует. Все составляется исходя из задачи, доступных команд и аппаратных возможностей.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

У меня времени с начала января до 20х чисел февраля, не способен я на ткие подвиги. Суть моей проблемы проста:

Я собираюсь с помощью смсок управлять напряжением на входе ОУ. Проблемы:

1. Мой проект выдает контрольное напряжение отрицательное, а Ардуино работает на положительном.

Я гуглю, читаю и делаю ОУ, чтобы напряжение было положительным.

2. Хочу управлять напряжением на входе ОУ, но получается, что разрываю цепь тока датчика и всё бесполезно.

Меняю проект и ставлю Ардуино, как электронный потенциометр.

3. Собираюсь вычитать напряжения средствами программы Ардуино, но оказывается, что это только ШИМ, который по факту - пульсирующее напряжение.

В реальной схеме пульсации на входе ОУ ничтожно малы, значит ШИМ надо сглаживать и схема вместо одно потенциометра получает огромный МК и ещё схему стабилизатора. 

 

Поэтому я думаю: «Не может быть, что я три раза попал в такую глупую ситуацию. Наверняка есть программные решения всех моих проблем», а их нет.

bwn
Offline
Зарегистрирован: 25.08.2014

К сожалению, подозреваю, что существует только программно-аппаратное решение или чисто аппаратное.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Так и есть — на выход с Ардуино нужно тоже что-то ставить. Но я меняю один маааааленький потенциометр на процессор, огромную плату, модифицированный Си! И результат с дополнениями противрочит здравому смыслу. 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

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

http://www.analog.com/en/digital-to-analog-converters/digital-potentiome...

AD5231 наверно подходит для вашей задачи.

По сути сопротивление не особо важно - поставить резистор 680 ом а к нему паралельно цифровой потенциометр - так как там стоит сопротивление 100к - там снимается потенциал и важно количество дискретных значений(положений) которое он может установить.

Umka
Umka аватар
Offline
Зарегистрирован: 19.10.2012

Влезу со своими замечаниями в изначально поставленный вопрос. Описанный тут синтаксис и описание функций языка к сожалению не полный. Пару примеров навскидку:

выражение (a | b) это же исключающее или, но найти тут инфу об этом я не смог. Нашел только на Википедии страничку с синтаксисом Си.

pinMode(xx_pin, INPUT_PULLUP); тут очевидно всё, но в описании такого режима нет. Приходится две команды использовать. Понимаю что те же яйцы, но...

Попадались и другие неописанные варианты, но я уже не помню. 

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Umka пишет:

Влезу со своими замечаниями в изначально поставленный вопрос. Описанный тут синтаксис и описание функций языка к сожалению не полный. Пару примеров навскидку:

выражение (a | b) это же исключающее или, но найти тут инфу об этом я не смог. Нашел только на Википедии страничку с синтаксисом Си.

pinMode(xx_pin, INPUT_PULLUP); тут очевидно всё, но в описании такого режима нет. Приходится две команды использовать. Понимаю что те же яйцы, но...

Попадались и другие неописанные варианты, но я уже не помню. 

http://playground.arduino.cc/Code/BitMath

http://arduino.su/Reference/BitwiseAnd

http://arduino.cc/en/Tutorial/DigitalPins

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Цифровой потенциометр мне знаком и действительно он подходит, но ещё надо прикрутить gsm. В общем, я обдумываю пути. 

Umka
Umka аватар
Offline
Зарегистрирован: 19.10.2012

Цитата:
пустоту установки () {
DDRD = DDRD | B11111100 / / Набор бит направления для контактов 2 до 7, оставьте 0 и 1 нетронутыми (хх | 00 == хх)

Промтом чтоль переводили? Но тут то нету, а я опять побитовое или с исключающим побитовым или перепутал. Память никудышняя.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Опять же касательно описания функции analogWrite. Если я ставлю опорку 4В, то выход всё равно будет равен пяти?

void setup(){
  analogReference(EXTERNAL); // опорное 4В
}

void loop(){
  analogWrite(11, analogRead(14)/4); // хотелось бы и здесь получить 4В при значении 255
}

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

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Сергей Алексеевич, Да, т.к. analogReference не имеет никакого отношения к функции analogWrite(), "опорное" у вас будет напряжение питания контроллера. И получаемое напряжение соответсвенно плавать пропорционально питанию.