Analogā konvertēšana uz digitālo (analogā lasāmā sērija) - Arduino pamati

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā Arduino pamatos mēs cenšamies izprast koda ieviešanas procedūru, kurā ārējs analogais signāls tiek ievadīts Arduino analogajā ieejā un tiek pārveidots vai pārveidots attiecīgi proporcionālā digitālā nolasījumā. Šeit mēs izmantojam mainīgu pretestību katla formā kā analogā signāla avotu.

Analog lasīt sēriju

Šajā piemērā mēs apgūstam analogās ievades nolasīšanas metodi no ārējas ierīces, piemēram, potenciometra, kas ir n elektromehāniska ierīce, kas paredzēta mainīgas pretestības ieviešanai ķēdē, izmantojot manuālu darbību.



Arduino var izmantot, lai mērītu sprieguma lielumu, kas iziet no potenciometra, lai nolasītu un identificētu tā attiecīgi mainīgo pretestību. To var izdarīt, ievadot spriegumu Arduino analogās ievades portā kā analogo vērtību.

Šeit mēs redzēsim, kā tiek izpildīts iepriekšminētais pēc sērijveida sakaru izveidošanas visā Arduino un saistītajā datorā.



Nepieciešama aparatūra

Arduino dēlis

10 kilohm potenciometrs

Ķēdes darbība

Kā parādīts iepriekš redzamajā diagrammā, piestipriniet trīs vadus, kas iziet no katla uz jūsu Arduino portiem.

Vadi no viena no katla ārējiem vadiem piešķir ar zemi vai dēļa negatīvo līniju.

Otrs ārējā galējā ārējā gala vads tiek savienots ar plāksnes + 5V.

Atstājies katla centrālais vads, kas tiek izbeigts līdzīgai Arduino dēļa analogajai ieejai.

Pagriežot katla vārpstu, pretestība pāri centrālajam vadam un ārējam terminālim pāriet no augstākas uz apakšējo un otrādi atkarībā no tā, kurai pusei bīdāmā roka tuvojas.

Piemēram, kad bīdāmo sviru pagriež pret + 5V vadu, centrālais vads tuvojas 5V un mēdz iegūt visu vērtību, pieskaroties 5V piešķirtajam svinam. Līdzīgi, kad bīdāmo vārpstu pārvieto uz zemes trauka vadu, centrālajam vadam ir tendence sasniegt nulles potenciālu.

Iepriekš norādīto lineāri mainīgo barošanas spriegumu pār katla centrālo vadu nolasa arduino analogā ieeja, lai to interpretētu attiecīgi mainīgā katla pretestībā.

Arduino ietver iekšēju analogo-ciparu pārveidotāju shēmu, kas efektīvi interpretē iepriekšminēto poda kustību un pārveido to skaitļos no 0 līdz 1023.

Konkrēta pozīcija pār katla vārpstu rada proporcionālo skaitli no 0 līdz 1023, ko Arduino tulko, un 5 V un nulles voltu gala vērtībām interpretācijas acīmredzami ir 0 un 1023.

Minētajā programmā iestatīšanas funkcija ir jāaktivizē tikai, lai sāktu sērijveida sakarus, ar ātrumu 9600 datu biti sekundē visā Arduino dēlī un datorā.

Paredzētā komanda ir šādā formā:

Seriālais sākums (9600)

Pēc tam jūsu koda galvenajā cilpā mēs izpildām mainīgo, lai noteiktu pretestības vērtību (kas būtu apspriesta no 0 līdz 1023, piemērota int datu tipam), kas saņemta no pot potenciāliem:

int sensora vērtība = analogRead (A0)

Noslēgumā drukājiet šo informāciju sērijas logā kā decimāldaļu (DEC). Lai to ieviestu pēdējā koda rindā, varat izmantot komandu Serial.println ():

Serial.println (sensora vērtība, DEC)

Pēc tam, kad Serial Monitor tiek uzsākts Arduino izstrādes domēnā (tas tiek darīts, noklikšķinot uz pogas, kas atrodas tieši programmas galvenes pogas Augšupielādēt labajā pusē).

mēs redzētu konsekventu ciparu ķēdi, kas darbojas no 0 līdz 1023, kas atbilst katla vārpstas mainīgajai rotācijas pozīcijai.

Ja mēs kādā brīdī pārtrauksim katla vārpstas rotāciju, atbilstošais momentānais skaitlis tiks parādīts Arduino ekrānā, tas atkal mainīsies proporcionāli, mainot katla vārpstas stāvokli.

Kods

/ *
AnalogReadSerial
Nolasa analogo ieeju 0 tapā, izdrukā rezultātu seriālajā monitorā.
Piestipriniet potenciometra centrālo tapu pie tapas A0, bet ārējās tapas - pie + 5V un iezemējiet.

Šis koda piemērs ir publiski pieejams.
* /

// iestatīšanas rutīna darbojas vienreiz, nospiežot atiestatīšanu:
anulēt iestatīšanu () {
// inicializēt sērijveida sakarus ar ātrumu 9600 biti sekundē:
Seriālais sākums (9600)
}

// cilpa rutīna atkal un atkal darbojas uz visiem laikiem:
void loop () {
// lasiet ievadi 0 analogajā tapā:
int sensorsValue = analogRead (A0)
// izdrukājiet izlasīto vērtību:
Serial.println (sensorValue)
kavēšanās (1) // kavēšanās starp lasījumiem, lai nodrošinātu stabilitāti
}




Pāri: Slēdža stāvokļa monitorings (Digital Read Serial) - Arduino pamati Nākamais: 1,25 V līdz 120 V tīkla regulējama sprieguma regulatora ķēde