Как изменить значение переменной с помощью математики?
Я дошел до урока 11 в руководстве TopTechBoy: https://www.youtube.com/watch?v=afurKLOqqSg
Урок 11: http://www.toptechboy.com/arduino/lesson-11-arduino-circuit-to-dim-led-with-potentiometer/
Я могу использовать analogRead() для заполнения переменной значением и Serial.printld, но я хочу иметь возможность увеличить это целое число на × 4,887585533
int pinV; // Эта пустая переменная будет заполнена целым значением от 0 до 1023.
int receiverPin=0; // Это вывод RX, «приемник», который подключается к интерфейсу USB-Serial.
int ResultsPerSec=500; // Arduino считывает и выводит результат каждые полсекунды.
float printingValue; // Еще одна пустая переменная, которой присваивается значение pinV для умножения и печати.
void setup() {
Serial.begin(9600);
pinMode(receiverPin,INPUT);
}
void loop() {
pinV=analogRead(receiverPin);
// Каждый вольт имеет значение 204,6 (4,88 мВ на целое число из 1023 доступных)
printingValue = (pinV *4.887585533);
// 5000 мВ делим на 1023 возможных значения = 4,887585533 мВ на целое число
// Arduino может считать от 0 до 5 Вольт с шагом 4,887585533 мВ.
// 1000 мВ делим на 4,887585533 мВ = 204,599999989 целых чисел из 1023 доступных, равных 1 В
// Каждое целое число из 1023 возможных значений, которые выводит analogRead(), можно увеличить на 4,887585533
// Здесь показано реальное напряжение в милливольтах (мВ).
Serial.println(printingValue);
delay(ResultsPerSec);
}
Это на самом деле приемлемо с точки зрения IDE, но это не работает так, как задумано. Я получаю выходные данные в тысячах, когда он должен выводить 0 в последовательном мониторе. Как мне сделать это правильно?
@Maitland, 👍-1
1 ответ
Лучший ответ:
Я только что получил ответ от кого-то из одной из веток на https://8ch.net/tech/catalog.html
Оказывается, цифровые выводы (0,1,2,3,4,5,6,7,8,9,10,11,12,13) не способны считывать аналоговые напряжения. Вместо этого нужно использовать выводы A0–A5. Кроме того, если напряжение не подается, Arduino будет выводить случайные числа в Serial Monitor.
- Избегайте математических вычислений с плавающей запятой, чтобы ускорить Arduino
- Float печатается только 2 десятичных знака после запятой
- Отправка и получение различных типов данных через I2C в Arduino
- Как добавить гистерезис к пороговым значениям?
- Как вывести истинное аналоговое напряжение на выходной контакт
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Как именно работает двойной выход 5В и 3,3В на Uno R3?
- Реализовать связь Visible Light с помощью Arduino