Преобразуване на аналогов в цифров (аналогов сериен четец) - Основи на Arduino

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази основа на Arduino се опитваме да разберем процедурата за внедряване на кода, при която външен аналогов сигнал се подава към аналоговия вход на Arduino и се превежда или преобразува в съответно пропорционално цифрово отчитане. Тук използваме променливо съпротивление под формата на гърне като източник на аналогов сигнал.

Аналогово четене сериен

В този пример научаваме метода за четене на аналогов вход от външно устройство, такъв потенциометър, който е n електромеханично устройство, предназначено за прилагане на различно съпротивление във верига чрез ръчна работа.



Arduino може да се използва за измерване на величината на напрежението, излизащо от потенциометър, за да се отчете и идентифицира съответно вариращото му съпротивление. Това може да стане чрез подаване на напрежение в аналоговия входен порт на Arduino като аналогова стойност.

Тук ще видим как се прилага горепосоченото след установяване на серийна комуникация през Arduino и свързания компютър.



Необходим хардуер

Дъска Arduino

10-килоомов потенциометър

Операция на веригата

Както е показано на диаграмата по-горе, закачете трите проводника, излизащи от пота към вашите портове Arduino.

Тел от един от външните изводи на пота се определя със земята или отрицателната линия на дъската.

Другият свободен екстремен външен краен кабел се свързва с + 5V на платката.

Това, което остава, е централният олово на пота, който се прекратява към аналоговия вход на платката Arduino.

Когато валът на гърнето се завърти, съпротивлението през централния проводник и външния извод се измества от по-високо към по-ниско и обратно в зависимост от това към коя страна плъзгачът се приближава.

Например, когато плъзгащото рамо се завърти към + 5V проводник, централният кабел се приближава до 5V и има тенденция да придобива цялата стойност, когато докосне назначения 5V кабел. По същия начин, когато плъзгащият вал е преместен към оловото на земната тенджера, централният отвод има тенденция да постигне нулев потенциал.

Горното линейно променящо се захранващо напрежение над централния проводник на гърнето се отчита от аналоговия вход на arduino, за да се интерпретира в съответно вариращо съпротивление на гърнето.

Arduino включва вътрешна схема за преобразуване на аналогов в цифров преобразувател, която ефективно интерпретира горното движение на гърнето и го преобразува в числа между 0 и 1023.

Определена позиция над шахтния вал води до пропорционално число между 0 и 1023, което се превежда от Arduino, а за крайните стойности от 5V и нула волта интерпретациите очевидно са 0 и 1023.

В посочената програма функцията за настройка трябва само да се задейства за иницииране на серийни комуникации, като скоростта е 9600 бита данни в секунда, през вашата платка Arduino и компютъра.

Очакваната команда е във формата:

Serial.begin (9600)

Впоследствие, в основния цикъл на вашия код, ние налагаме променлива, за да фиксираме стойността на съпротивлението (която би била, както е обсъдено между 0 и 1023, точно подходяща за тип данни int), получена от пот водещите:

int sensorValue = analogRead (A0)

В заключение отпечатайте тази информация във вашия сериен прозорец като десетична (DEC) стойност. Можете да използвате командата Serial.println () за изпълнение на това в последния ред на кода:

Serial.println (SensValue, DEC)

След това, всеки път, когато Serial Monitor се стартира в домейна за разработка на Arduino (това става чрез щракване върху бутона, който се намира веднага в дясната страна на бутона „Качване“ в заглавката на програмата).

бихме могли да видим последователна верига от цифри, започващи от 0-1023, съответстващи на променящото се положение на въртене на вала на гърнето.

Ако спрем въртенето на вала на гърнето в даден момент, съответният мигновено число ще се покаже на екрана на Arduino, това отново ще се промени пропорционално, докато продължаваме да променяме позицията на вала на гърнето.

Кодът

/ *
AnalogReadSerial
Чете аналогов вход на щифт 0, отпечатва резултата на серийния монитор.
Прикрепете централния щифт на потенциометъра към щифт A0, а външните щифтове към + 5V и заземете.

Този примерен код е в публичното достояние.
* /

// рутинната настройка се изпълнява веднъж, когато натиснете reset:
void setup () {
// инициализиране на серийната комуникация при 9600 бита в секунда:
Serial.begin (9600)
}

// цикличната рутина работи отново и отново завинаги:
цикъл void () {
// прочетете входа на аналогов щифт 0:
int sensorValue = analogRead (A0)
// разпечатваме прочетената стойност:
Serial.println (sensorValue)
delay (1) // закъснение между четенията за стабилност
}




Предишна: Мониторинг на състоянието на комутатор (цифров сериен четец) - Основи на Arduino Напред: 1.25V до 120V верига за регулиране на напрежението в мрежата