Специально для тех кто в танке. Возмем 1 физический бит... это либо 0 либо 1. Либо есть 5 вольт либо нет. Вы будете делить на 2 ( цифры то 2, 0 и 1) или все же на 1?
TTL-уровни никто не отменял !!!!!!!!!! мимо темы !
Специально для тех кто в танке. Возмем 1 физический бит... это либо 0 либо 1. Либо есть 5 вольт либо нет. Вы будете делить на 2 ( цифры то 2, 0 и 1) или все же на 1?
[/quote
ответ из танка - "1" не значит что 5 V , а просто сигнал больше TTL1 !
Специально для тех кто в танке. Возмем 1 физический бит... это либо 0 либо 1. Либо есть 5 вольт либо нет. Вы будете делить на 2 ( цифры то 2, 0 и 1) или все же на 1?
ответ из танка - "1" не значит что 5 V , а просто сигнал больше TTL1 !
Вопрос на сколько вы будете делить, а не в технические подробности проектирования АЦП. Кстати Ti на прошлой неделе семинар проводил на енту тему.
В данном случае с технической стороны без разницы. Ибо погрешность роли не сыграет. Но с ростом разрядности ваш подход создаст проблемы.
Вопрос на сколько вы будете делить, а не в технические подробности проектирования АЦП. Кстати Ti на прошлой неделе семинар проводил на енту тему. В данном случае с технической стороны без разницы. Ибо погрешность роли не сыграет. Но с ростом разрядности ваш подход создаст проблемы.
Вопрос на сколько вы будете делить, а не в технические подробности проектирования АЦП. Кстати Ti на прошлой неделе семинар проводил на енту тему. В данном случае с технической стороны без разницы. Ибо погрешность роли не сыграет. Но с ростом разрядности ваш подход создаст проблемы.
Вообщем ясно. Сделать не врущий вольтметр на ардуине - вы не можете.
Написать простенький скетчик, взять эталонный вольтметр, откалибровать по нему так что-бы потом их показания совпадали хотя-бы в калибровочных значениях - вам неподсилу. Лучше сказки будете рассказывать, из серии "не верь глазам своим" и "это не возможно".
Если не дай бог, прийдется заниматся калибровкой какой-нибудь не линейного датчика. Где прийдется делать апроксимацию не по двум точкам и не линейкой функцией - у вас будет полный раздрай. Система исчисления - не известна. Ну или прийдется срочно забыть про свои теории (как пришлось это делать в случае попугая и удава, так как там вам никто не сказал какая разрядностью у попугая) и приплести что-нибудь еще. Какое-нибудь торсионное поле, с иррациональной размерностью...
Вообщем поставленное ТЗ вы выполнить не сможете. Будете рассказывать какие-то теории и вспоминать все умные слова типа "основание системы исчисления" и т.п. Так и не разобравшись чем же единицы измерения отличаются от системы исчисления, и почему формуля для перехода из одной системы исчисления не имеют НИКАКОГО отношения к формулам перехода из одних единиц измерения к другим.
И все ваши аналогии "на что делим при переходе из двоичной в десятичную" , это чисто мужик из анекдота:
Мужик в магазине стоит в очереди. продавщица копается в ящике.
мужик - ух ты какая жопа!
продавщица разворачивается и бьёт ему по роже
прошла минута
мужик - ух ты какая жопа!
продавщица разворачивается и бьёт ему по роже
ещё минута... мужик опять - ух какая жопа
продавщица замахивается
мужик - зато сиськи маленькие!
продавщица - чё?
мужик - знаете как исправить?
продавщица - ну?
мужик - каждый день берите рулон туалетной бумаги и трите между сисек.
продавщица - и это поможет???
мужик - ну жопе же помогло!
Вообщем ясно. Сделать не врущий вольтметр на ардуине - вы не можете.
Написать простенький скетчик, взять эталонный вольтметр, откалибровать по нему так что-бы потом их показания совпадали хотя-бы в калибровочных значениях - вам неподсилу. Лучше сказки будете рассказывать, из серии "не верь глазам своим" и "это не возможно".
Если не дай бог, прийдется заниматся калибровкой какой-нибудь не линейного датчика. Где прийдется делать апроксимацию не по двум точкам и не линейкой функцией - у вас будет полный раздрай. Система исчисления - не известна. Ну или прийдется срочно забыть про свои теории (как пришлось это делать в случае попугая и удава, так как там вам никто не сказал какая разрядностью у попугая) и приплести что-нибудь еще. Какое-нибудь торсионное поле, с иррациональной размерностью...
Вообщем поставленное ТЗ вы выполнить не сможете. Будете рассказывать какие-то теории и вспоминать все умные слова типа "основание системы исчисления" и т.п. Так и не разобравшись чем же единицы измерения отличаются от системы исчисления, и почему формуля для перехода из одной системы исчисления не имеют НИКАКОГО отношения к формулам перехода из одних единиц измерения к другим.
И все ваши аналогии "на что делим при переходе из двоичной в десятичную" , это чисто мужик из анекдота:
Мужик в магазине стоит в очереди. продавщица копается в ящике.
мужик - ух ты какая жопа!
продавщица разворачивается и бьёт ему по роже
прошла минута
мужик - ух ты какая жопа!
продавщица разворачивается и бьёт ему по роже
ещё минута... мужик опять - ух какая жопа
продавщица замахивается
мужик - зато сиськи маленькие!
продавщица - чё?
мужик - знаете как исправить?
продавщица - ну?
мужик - каждый день берите рулон туалетной бумаги и трите между сисек.
продавщица - и это поможет???
мужик - ну жопе же помогло!
У вас логика примерно стольже виртуозна.
классный АНКД !!!!!
мне жаль, что тему про 1023 / 1024 Вы не прокачали....
> Вообщем поставленное ТЗ вы выполнить не сможете. Будете рассказывать какие-то теории и вспоминать все умные слова типа "основание системы исчисления" и т.п. Так и не разобравшись чем же единицы измерения отличаются от системы исчисления, и почему формуля для перехода из одной системы исчисления не имеют НИКАКОГО отношения к формулам перехода из одних единиц измерения к другим.
КАКОЕ-ТО СМОГНУ..... что-то другое - может и не смогу.....
Свежую воду можно налить в пусту чашку. Можно в полную наполовину. Но нельзя, не расплескав, налить ее в полную. Еще труднее сделать это в переверную вверх дном.
Вообщем вода пролилась мимо вас.
Вы не пожелали освободить место для чего-то нового. И похоже горды этим.
Ну фиг с ним. Как выше уже подметили - делите на что хотите. Хоть на 1024, хоть на 1025, хоть на количество вибрисс на морде у соседской кошки. Только никому про это не рассказываейте. Если сможете.
Вместо того что-бы взять одеяло по росту - вы его перетягиваете. Попытались натянуть на голову (но похоже не дотянули) - ноги мерзнут.
И число знаком после запятой - можно было тоже константой забить. К чему этот разнобой? Раз уж дельты сделили константами. Хотя, если стоит задача калибровки, ток раз логичней их делать управляемыми по Serial. И если константами, то опять-таки логичней задачу вычисления дельт положить на арудину, а не человека. Что-бы он завал констаной именно VCC, а все остальное само считалось.
Но если уж присписило через Serial делать, то вместо:
switch ( incomingByte )
{
case '0': { Ndigit = 0; } break;
case '1': { Ndigit = 1; } break;
case '2': { Ndigit = 2; } break;
case '3': { Ndigit = 3; } break;
case '4': { Ndigit = 4; } break;
case '5': { Ndigit = 5; } break;
case '6': { Ndigit = 6; } break;
}
> Но это все "фигня". Задача при подключении VCC на вход показывать VCC, при подключении нуля - ноль. Так и не решена. Масштаб не соблюден.
при N после запятой = 0, 1, 2 - всё отображается автоматически....
при большей точности отображения чем точность квантования - 0 и VCC получить невозможно, если заведомо не прописать, что в крайних положениях нужно выводить 0 !!!!!!!!!!! и VCC !!!!!!!!!!!
...как прописал, так и прописал - никак не привыкну к СИ-шным прибамбасам, но это другая тема ! нет ?
хорошо, обратное преобразование это послать код АЦП-10 на ЦАП-10.... и сколько ЦАП выдаст U на выходе при 1023 на входе ?
а никакой калибровки в коде и нету.... только вывод с различной точностью..... при 2-ух цифрах после запятой - всё нормально считается-отображается ? и 0,00 есть, и 5,00 есть.... только вот чем меньше знаков после запятой - тем больше угол поворота потенциометра ( диапазон изменения Uвх ) в пределах которого НЕТ изменения значения Uвх
у миня одеяло не достаёт и до ног, и до головы на 2mV....
Вы это устраняете растягиванием одеяла в 1024/1023 раз - и ноги прикрыты, и - голова.... но этим ходом привносится допольнительная ошибка измерения.... она мала - ДА ! для практики так удобнее.... а для теории ?
Sin малых углов равен углу ( если представлять его в радианах ) - в конкретной задаче можно использовать это упрощение, а можно и через Sin вычислить.... Кого как устраивает.... так и про тему 1023 - 1024.....
Вы это устраняете растягиванием одеяла в 1024/1023 раз - и ноги прикрыты, и - голова.... но этим ходом привносится допольнительная ошибка измерения.... она мала - ДА ! для практики так удобнее.... а для теории ?
И для теории - тоже. Вы верно сказали, что значение analogRead 1023 может означать что в реальности там 5v, и 5.495, и 5.496 и т.д.
То есть получив одно число, с точки зрения теории мы имеем "интервал". Мы знаем только что "напряжение лежит вот в таком интервале". И какую именно точку этого интервала мы выберем для отображение - дело нашего удобства. Но, в вашем случае, хотя 1023 МОЖЕТ означать и точно 5v, скетч ваш НИКОГДА не может этого отобразить. Точно так же как и ноль. В реальности он там ЯВНО может быть. А скетч ваш - НИКОГДА этого намереть не сможет.
Лично я считаю, что теории которые приводят к построению вольтметра которая не способен разглядет ноль - ошибочные. Когда там ПО ОПРЕДЕЛНИЮ НОЛЬ (замкнули на GND), а ваш вольтьметр показывает милливольты - это глюк. И приложении инструкции в виде "это теория такая" - отмазки.
И, опять-таки, по теории когда вы переводитите еденици измерения из одного в другое - вы НИЧЕГО не знаете о разрядности и точности измерительного инструмента. Ну как-бы вообще не знаете. Вы знаете только контрольные точки. Больше ничего. Вам, в качестве условия задачи поступает размер входного и выходного диапазона (или информация о том что соотносятся линейно и две известные точки). И с этими данными вы и должны оперировать.
И вот эта теория позволяет и линейные, и не линейные, и когда крайние точки известы, и когда только пара точек из середины диапазона (а ситуаций когда мы можем сделать только пару замеров где-то из середниы - пруд/пруди) обрабатывать корректно.
Скажем подключил я фоторезистор. Через внешний АЦП. Сделал два замера. Узнал что rawValue при 35% освещения равно 100, а при 60% равно 173. Все. Больше ничего не известно (и не требуется!).
И для теории - тоже. Вы верно сказали, что значение analogRead 1023 может означать что в реальности там 5v, и 5.495, и 5.496 и т.д.
ты че к нему пристал? ну нравиться ему делить на мильен, пусть делит. это его личные проблемы.. таких спецов вон пруд пруди, ты их всех не перевоспитаеш.. только нервный тик наживеш. книгу лучше напиши. только сразу не публикуй, пришлеш почитать, я нудятину выкину, пару анекдотов добавлю.. а то будет бестселер в классе "эти книги своим занудством доводят до самоубийства".
Вы взаправду думаете что за столько страниц я не заглянул в даташит (плюс методические материалы для ВУЗ-ов по этому поводу)?
Даташит вам описывает как устроен их ADC. И не более того. Как его применять - это уже самому думать нужно (ниже про это).
step962 пишет:
Соответственно, Vin=ADC*Vref/1024 - Atmel советует
А вот и не "соотсветсвенно". Потому как, хоть формула-то и из даташита, а все "думать нужно". Нельзя принимать на веру. А если подумать, то формула - явное упрощение реальности. Битность в учтена только частично. В реальности у вас будет формула типа:
ADC=round(Vin*1024/Vref) или ADC=floor(Vin*1024/Vref)
Вот из-за этих round и floor простое "соотвественно" у нас не оттанцуется. Для round/floor нет ОДОЗНАЧНОЙ обратной функции. Целое семество будет. И кого из них выбрать - это уже моя задача как разработчика. Оглядываясь на другие требования задачи. И вариант Vin=ADC*Vref/1024 - не самый лучший. Так как в итоге не дает на разрабатываемом вольтметре никогда отобразить исходный Vin. А в случае "вольтметра от su-27" там и ноля никогда не выходит.
Так же, этот вариант не дает отклибровать вольтметр просто по двум известным точкам (если скажем мы можем просто замерять "в какой-то момент", но не обязательно именно ноль и VIN).
Что-бы недостаток выбранного вами "соотвественно" был более явно виден, представте что ADC у нас вообще двух-битный (это те четеры страницы которые вы пропустили). А что-бы еще лучше было видно "чем это плохо". Представте что вам нужно сделать на ардуине 20-ть вольтметров. Причем только первым можно откалибровать по эталонному мультиметру, а остальные - каждый от предыдущего. Ну и прикинте насколько у вас будет не соотсветсвовать реальности последний в цепочке самодельный вольтметр в случае применения "соотвественно" и тем способом который я предлагаю.
TTL-уровни никто не отменял !!!!!!!!!! мимо темы !
хотя НЕТ ! сигнал ниже TTL0 - 0 !!!!!!!!!!!!!
выше TTL0 - 1 !!!!!!!!!!!!!!!!!
.....так и для АЦП-10
[/quote
ответ из танка - "1" не значит что 5 V , а просто сигнал больше TTL1 !
нет ?
ответ из танка - "1" не значит что 5 V , а просто сигнал больше TTL1 !
нет ?
это тупо, кажися, в бинарной логике делить хоть на 2, хоть на 3 , хоть на > 1 !!!!!!!!!
результат - всегда = 0 !
Вопрос на сколько вы будете делить, а не в технические подробности проектирования АЦП. Кстати Ti на прошлой неделе семинар проводил на енту тему.
В данном случае с технической стороны без разницы. Ибо погрешность роли не сыграет. Но с ростом разрядности ваш подход создаст проблемы.
моя вас понял всех, а кто миня понял ? ааа ?????
...торг здесь не уместен, есть теория :)
делить нуно на 2 !!!!!!!!!!!!! если дебил.....
...уровни TTL не кратны 2-ум.....
вот Вам и вам и создат проблемы :(
В данном случае с технической стороны без разницы. Ибо погрешность роли не сыграет. Но с ростом разрядности ваш подход создаст проблемы.
это Ваше мнение или Ti ?
Да делите хоть 5675785. Мне пофигу.
Как та блондинка, у которой встреча с динозавром 50%. Либо встретит либо нет.
Вообщем ясно. Сделать не врущий вольтметр на ардуине - вы не можете.
Написать простенький скетчик, взять эталонный вольтметр, откалибровать по нему так что-бы потом их показания совпадали хотя-бы в калибровочных значениях - вам неподсилу. Лучше сказки будете рассказывать, из серии "не верь глазам своим" и "это не возможно".
Если не дай бог, прийдется заниматся калибровкой какой-нибудь не линейного датчика. Где прийдется делать апроксимацию не по двум точкам и не линейкой функцией - у вас будет полный раздрай. Система исчисления - не известна. Ну или прийдется срочно забыть про свои теории (как пришлось это делать в случае попугая и удава, так как там вам никто не сказал какая разрядностью у попугая) и приплести что-нибудь еще. Какое-нибудь торсионное поле, с иррациональной размерностью...
Вообщем поставленное ТЗ вы выполнить не сможете. Будете рассказывать какие-то теории и вспоминать все умные слова типа "основание системы исчисления" и т.п. Так и не разобравшись чем же единицы измерения отличаются от системы исчисления, и почему формуля для перехода из одной системы исчисления не имеют НИКАКОГО отношения к формулам перехода из одних единиц измерения к другим.
И все ваши аналогии "на что делим при переходе из двоичной в десятичную" , это чисто мужик из анекдота:
У вас логика примерно стольже виртуозна.
мне вооооообще - хоть 60% на 90 %, хоть 10% на 187% :)-
Вообщем ясно. Сделать не врущий вольтметр на ардуине - вы не можете.
Написать простенький скетчик, взять эталонный вольтметр, откалибровать по нему так что-бы потом их показания совпадали хотя-бы в калибровочных значениях - вам неподсилу. Лучше сказки будете рассказывать, из серии "не верь глазам своим" и "это не возможно".
Если не дай бог, прийдется заниматся калибровкой какой-нибудь не линейного датчика. Где прийдется делать апроксимацию не по двум точкам и не линейкой функцией - у вас будет полный раздрай. Система исчисления - не известна. Ну или прийдется срочно забыть про свои теории (как пришлось это делать в случае попугая и удава, так как там вам никто не сказал какая разрядностью у попугая) и приплести что-нибудь еще. Какое-нибудь торсионное поле, с иррациональной размерностью...
Вообщем поставленное ТЗ вы выполнить не сможете. Будете рассказывать какие-то теории и вспоминать все умные слова типа "основание системы исчисления" и т.п. Так и не разобравшись чем же единицы измерения отличаются от системы исчисления, и почему формуля для перехода из одной системы исчисления не имеют НИКАКОГО отношения к формулам перехода из одних единиц измерения к другим.
И все ваши аналогии "на что делим при переходе из двоичной в десятичную" , это чисто мужик из анекдота:
У вас логика примерно стольже виртуозна.
классный АНКД !!!!!
мне жаль, что тему про 1023 / 1024 Вы не прокачали....
...не мне Вас учить :(
.... но - не переубедили Вы миня :(
> Сделать не врущий вольтметр на ардуине - вы не можете.
не могу !!!!!!!!!!! да !
а вот врущий - могу ( из Ваших же тем, за что и СПАСИБО )
> Вообщем поставленное ТЗ вы выполнить не сможете. Будете рассказывать какие-то теории и вспоминать все умные слова типа "основание системы исчисления" и т.п. Так и не разобравшись чем же единицы измерения отличаются от системы исчисления, и почему формуля для перехода из одной системы исчисления не имеют НИКАКОГО отношения к формулам перехода из одних единиц измерения к другим.
КАКОЕ-ТО СМОГНУ..... что-то другое - может и не смогу.....
....чё письками-то мерицца ? :)
.... но - не переубедили Вы миня :(
Свежую воду можно налить в пусту чашку. Можно в полную наполовину. Но нельзя, не расплескав, налить ее в полную. Еще труднее сделать это в переверную вверх дном.
Вообщем вода пролилась мимо вас.
Вы не пожелали освободить место для чего-то нового. И похоже горды этим.
Ну фиг с ним. Как выше уже подметили - делите на что хотите. Хоть на 1024, хоть на 1025, хоть на количество вибрисс на морде у соседской кошки. Только никому про это не рассказываейте. Если сможете.
Ну, как я и говорил - не можете.
Вместо того что-бы взять одеяло по росту - вы его перетягиваете. Попытались натянуть на голову (но похоже не дотянули) - ноги мерзнут.
И число знаком после запятой - можно было тоже константой забить. К чему этот разнобой? Раз уж дельты сделили константами. Хотя, если стоит задача калибровки, ток раз логичней их делать управляемыми по Serial. И если константами, то опять-таки логичней задачу вычисления дельт положить на арудину, а не человека. Что-бы он завал констаной именно VCC, а все остальное само считалось.
Но если уж присписило через Serial делать, то вместо:
Имело смысл, сделать так:
Программист должен быть ленивым. Тупо copy-past-тать циферки должно быть "западло".
А если "ну вообще ленивый", то ищет подходящую готовую функцию Arduino - ParseInt
Но это все "фигня". Задача при подключении VCC на вход показывать VCC, при подключении нуля - ноль. Так и не решена. Масштаб не соблюден.
> Но это все "фигня". Задача при подключении VCC на вход показывать VCC, при подключении нуля - ноль. Так и не решена. Масштаб не соблюден.
при N после запятой = 0, 1, 2 - всё отображается автоматически....
при большей точности отображения чем точность квантования - 0 и VCC получить невозможно, если заведомо не прописать, что в крайних положениях нужно выводить 0 !!!!!!!!!!! и VCC !!!!!!!!!!!
...как прописал, так и прописал - никак не привыкну к СИ-шным прибамбасам, но это другая тема ! нет ?
хорошо, обратное преобразование это послать код АЦП-10 на ЦАП-10.... и сколько ЦАП выдаст U на выходе при 1023 на входе ?
а никакой калибровки в коде и нету.... только вывод с различной точностью..... при 2-ух цифрах после запятой - всё нормально считается-отображается ? и 0,00 есть, и 5,00 есть.... только вот чем меньше знаков после запятой - тем больше угол поворота потенциометра ( диапазон изменения Uвх ) в пределах которого НЕТ изменения значения Uвх
>
if
(incomingByte>=
'0'
&& incomingByte<=
'6'
)Ndigit=incomingByte-
'0'
;
Спасибо ! :) суть понял - буду применять....
понял я давно Вашу логику !
у миня одеяло не достаёт и до ног, и до головы на 2mV....
Вы это устраняете растягиванием одеяла в 1024/1023 раз - и ноги прикрыты, и - голова.... но этим ходом привносится допольнительная ошибка измерения.... она мала - ДА ! для практики так удобнее.... а для теории ?
Sin малых углов равен углу ( если представлять его в радианах ) - в конкретной задаче можно использовать это упрощение, а можно и через Sin вычислить.... Кого как устраивает.... так и про тему 1023 - 1024.....
Вы это устраняете растягиванием одеяла в 1024/1023 раз - и ноги прикрыты, и - голова.... но этим ходом привносится допольнительная ошибка измерения.... она мала - ДА ! для практики так удобнее.... а для теории ?
И для теории - тоже. Вы верно сказали, что значение analogRead 1023 может означать что в реальности там 5v, и 5.495, и 5.496 и т.д.
То есть получив одно число, с точки зрения теории мы имеем "интервал". Мы знаем только что "напряжение лежит вот в таком интервале". И какую именно точку этого интервала мы выберем для отображение - дело нашего удобства. Но, в вашем случае, хотя 1023 МОЖЕТ означать и точно 5v, скетч ваш НИКОГДА не может этого отобразить. Точно так же как и ноль. В реальности он там ЯВНО может быть. А скетч ваш - НИКОГДА этого намереть не сможет.
Лично я считаю, что теории которые приводят к построению вольтметра которая не способен разглядет ноль - ошибочные. Когда там ПО ОПРЕДЕЛНИЮ НОЛЬ (замкнули на GND), а ваш вольтьметр показывает милливольты - это глюк. И приложении инструкции в виде "это теория такая" - отмазки.
И, опять-таки, по теории когда вы переводитите еденици измерения из одного в другое - вы НИЧЕГО не знаете о разрядности и точности измерительного инструмента. Ну как-бы вообще не знаете. Вы знаете только контрольные точки. Больше ничего. Вам, в качестве условия задачи поступает размер входного и выходного диапазона (или информация о том что соотносятся линейно и две известные точки). И с этими данными вы и должны оперировать.
И вот эта теория позволяет и линейные, и не линейные, и когда крайние точки известы, и когда только пара точек из середины диапазона (а ситуаций когда мы можем сделать только пару замеров где-то из середниы - пруд/пруди) обрабатывать корректно.
Скажем подключил я фоторезистор. Через внешний АЦП. Сделал два замера. Узнал что rawValue при 35% освещения равно 100, а при 60% равно 173. Все. Больше ничего не известно (и не требуется!).
И для теории - тоже. Вы верно сказали, что значение analogRead 1023 может означать что в реальности там 5v, и 5.495, и 5.496 и т.д.
ты че к нему пристал? ну нравиться ему делить на мильен, пусть делит. это его личные проблемы.. таких спецов вон пруд пруди, ты их всех не перевоспитаеш.. только нервный тик наживеш. книгу лучше напиши. только сразу не публикуй, пришлеш почитать, я нудятину выкину, пару анекдотов добавлю.. а то будет бестселер в классе "эти книги своим занудством доводят до самоубийства".
да, измприборы имеют погрешность измерения, и АЦП - тоже. АЦП к этой ошибке добавляет ошибку дискретизации.
зачем ещё программно добавлять ошибку ?
рисунок не грузится :( , словами....
диапазон 0 ... 5 V делим на три участка - получается шаг 1,67 V
и
диапазон 0 ... 5 V делим на четыре участка - получается шаг 1,25 V
уровни переключения компараторов АЦП
00 -> 01 1,25
01 -> 10 2,50
10 -> 11 3,75
и изменить эти уровни программно нельзя
сигнал 1,251 V , АЦП выдал 01 - отображаем 1,67 ?
сигнал 2,501 V , АЦП выдал 10 - отображаем 3,34 ?
сигнал 3,751 V , АЦП выдал 11 - отображаем 5,00 ?
получается подогнали масштабированием под 0 и 5 - но внесли ошибку дополнительную :(
> А скетч ваш - НИКОГДА этого намереть не сможет.
ну выводит же !!!!!! при точности отображения 0, 1, 2 цифры после запятой....
нахождение функции по нескольким точкам диапазона - это совершенно другой вопрос
дык, я давно предложил закончить :)
разместили бы свой скетч вольтметра с выводом в Сериал, а я бы поверил оба скетча.... есть В7-39
Робяты...
Неасилил все четыре страницы, поэтому, возможно, повторюсь - все копья поломаны до вас.
Вы бы в даташит заглянули, что-ли:
Соответственно, Vin=ADC*Vref/1024 - Atmel советует
Понеслась, пошел за попкорном.
попкорн - фуйня... и чипсы тоже.... 1024 !!!!!!!!!!!!!!!!!!!! :) вобла, чехонь и др. - лучшееееееее !!!!!!!!
Робяты...
Неасилил все четыре страницы, поэтому, возможно, повторюсь - все копья поломаны до вас.
Вы бы в даташит заглянули, что-ли:
Соответственно, Vin=ADC*Vref/1024 - Atmel советует
молчаливое перемирие уже чуть состоялось !!!!!!! :) и тут вы... :( опять всех на нервы.... :)-
ADC это что такое?
ADC это что такое?
это с выхода АЦП - 0 .... 1023
Вы бы в даташит заглянули, что-ли:
Вы взаправду думаете что за столько страниц я не заглянул в даташит (плюс методические материалы для ВУЗ-ов по этому поводу)?
Даташит вам описывает как устроен их ADC. И не более того. Как его применять - это уже самому думать нужно (ниже про это).
Соответственно, Vin=ADC*Vref/1024 - Atmel советует
А вот и не "соотсветсвенно". Потому как, хоть формула-то и из даташита, а все "думать нужно". Нельзя принимать на веру. А если подумать, то формула - явное упрощение реальности. Битность в учтена только частично. В реальности у вас будет формула типа:
ADC=round(Vin*1024/Vref) или ADC=floor(Vin*1024/Vref)
Вот из-за этих round и floor простое "соотвественно" у нас не оттанцуется. Для round/floor нет ОДОЗНАЧНОЙ обратной функции. Целое семество будет. И кого из них выбрать - это уже моя задача как разработчика. Оглядываясь на другие требования задачи. И вариант Vin=ADC*Vref/1024 - не самый лучший. Так как в итоге не дает на разрабатываемом вольтметре никогда отобразить исходный Vin. А в случае "вольтметра от su-27" там и ноля никогда не выходит.
Так же, этот вариант не дает отклибровать вольтметр просто по двум известным точкам (если скажем мы можем просто замерять "в какой-то момент", но не обязательно именно ноль и VIN).
Что-бы недостаток выбранного вами "соотвественно" был более явно виден, представте что ADC у нас вообще двух-битный (это те четеры страницы которые вы пропустили). А что-бы еще лучше было видно "чем это плохо". Представте что вам нужно сделать на ардуине 20-ть вольтметров. Причем только первым можно откалибровать по эталонному мультиметру, а остальные - каждый от предыдущего. Ну и прикинте насколько у вас будет не соотсветсвовать реальности последний в цепочке самодельный вольтметр в случае применения "соотвественно" и тем способом который я предлагаю.
> И кого из них выбрать - это уже моя задача как разработчика.
ВОТ ИМЕННО !!!!!!!!!!!!!!!!!!
предлагаю перемирие !!!!!!!!!!! .....по понятиям ( и что разработчик хочет увидеть на выходе ) - пусть каждый сам себе выбирает методу! :)
( но в плен моя не сдался :)- )