Está en la página 1de 7

Leccin6:Introduccinalassalidasanalgicas

EnleccionesanterioresvimosquenuestroequipoArduinoeracapazdecontrolardiferentesdispositivosenfuncindela
lgicadesuprograma.Parahacerloutilizbamoslassalidasdigitales.Cuandoqueramosencenderunled,activbamos
unasalidadigitalycuandoloqueramosapagar,ladesactivbamos.
Aligualquesucedaconlasentradas,elmundodelassalidasnoacabaenlomeramentedigital.Cuandonecesitamos
gobernarundeterminadodispositivonosolocontrolandoqueestactivadoodesactivado,sinoquedeseamosmanejar
elgradomayoromenordeunadeterminadamagnitud,utilizamoslassalidasanalgicas.Algunosejemplosdeutilizacin
delassalidasanalgicassonvariarlaintensidadluminosaparaqueunfocodmsomenosluz,controlarelcaudalde
slidadeunlquidovariandoelniveldeaperturadeunaelectrovlvulaomodificarlavelocidaddeunmotor.
Cuandovimosenlaleccinanterorlasentradasanalgicas,vimosqueelmicroprocesadorleaelvalordetensinquese
generabaenunodesuspines(dentrodeunrangoqueoscilabaentre0y5V)ylotraducaavaloresentre0y1023.En
muchosmicroprocesadores,elprocedimientoparagenerarsalidasdigitalesesexactamenteelcontrario.Escribimosen
undeterminadoregistrounvalorentre0y1023yelmicroprocesadorseencargadeponerunodesuspinesaunvalor
detensincorrespondienteentreelrango0y5V.
SinembargonuestroqueridoArduinonodisponedepinesdesalidaanalogca.Asquetienequeutilizarotratcnica
diferentedenominadamodulacindeanchodepulso(PWMpulsewidthmodulation).Conestatcnicasepuedeutilizar
unpindesalidadigitalhacindolefuncionarcomounasalidaanalgica.Latcnicaconsisteengenerarenelpindesalida
untrendepulsosdefrecuenciaconstante(490Hz)ydetensinigualacincovoltiosenelcicloaltoy0voltiosenelciclo
bajo(losnicosposiblesenunpindigital).

Paraobtenerlosdiferentesvaloresanalgicossemodificaelciclodetrabajodelasealperidica.Sihacemosqueel0%
deltiempolasealestenelnivelbajoyel100%enelnivelalto,obtendremosunasealde5V.Sihacemosqueel25%
deltiempoestenelnivelbajoyel75%enelnivelalto,obtendremosunasealde3,75V.Conlasealal50%denivel
altoybajo,tendremosunasealde2,5V.Conlasealal75%denivelbajoy25%denivelalto,tendremosunasealde
1,25V.Ysilasealestel100%deltiempoanivelalto,lasealdesalidaserde0V.


Ejemplodesealconel75%delcicloennivelaltoquegeneraunasalidade3,75V.

Ejemplodesealconel25%delcicloennivelaltoquegeneraunasalidade1,25V.

UtilizandolatcnicaPWMpodemostenersalidasanalgicasennuestroArduinoutilizandoalgunosdesuspines
digitales.Porejemplo,elATmega8habilitalafuncinPWMparalospines9,10y11.ElATmega168yelATmega328Pnos
permiteusarPWMconlospines3,5,6,9,10y11.
ParacontrolarelciclodetrabajodenuestrasealPWMpodemosutilizarlafuncinanalogWrite().Elformatodeesta
funcines:
analogWrite(<nmeropin>,<valor>)
Donde<nmeropin>seutilizarparaseleccionarelpinenelquevamosagenerarnuestrasealpwmy<valor>esun
nmerocomprendidoentre0y255.
Comoeshabitualennuestrocurso,vamosarealizarejemplosprcticosquenospermitanaprenderelfuncionamiento
delassalidasanalgicas.Utilizaremoselsiguientecircuito:


HemosutilizadoenestaocasinelinstrumentovirtualosciloscopioquenosproporcionaProteus.Conesteinstrumento
virtualpodemosusarennuestrasimulacinunosciloscopiocomoloharamosenlavidareal.Hemosconectadoelpin
IO3alprimerodeloscuatrocanalesdisponiblesennuestroosciloscopio.
Nuestroprimerprogramavaasermuysencillo.Simplementecrearemosunavariableentera,leasignaremoselvalor
100yutilizaremoslafuncinanalogWrite()queacabamosdever.Elcdigocompletoeselsiguiente:


Yelresultadodeejecutarnuestrasimulacinsemuestraenlasiguienteimagen.


Practiquemoscambiandoelvalordelavariablevalor_salidaenelrango0a254ycompruebeelefectoobtenidoenla
salidadenuestroarduinoconayudadenuestroosciloscopiovirtual.Paraunvalor200,lasealledapornuestro
osciloscopiovirtualeslasiguiente.

Comomodificarnuestroprogramacadavez,paravariarlasalidapvmesunpocotedioso,vamosacambiarunpoco
nuestroprogramaparavariarnuestrasalidaanalgicaenfuncindelalecturadeunaentradaanalgicaqueiremos
manipulandoconayudadenuestropotencimetro.Elnuevocdigosera:

Observecomoasignamoselvalordelaentradaanalgicaalavariablevalor_salida.Comolosvaloresdelectura
analgicaabarcanunrangode0a1023ylassalidasutilizanelrangode0a254,dividimoselvalordeentradaentre4
paraobtenervaloresproporcionalesenlasalida.
Elresultadodelasimulacincontresvalorsposiblesdenuestropotencimetrosemuestranenlassiguientesimgenes:

Enprximasleccionesahondaremosenelusodelassalidasdigitales.

También podría gustarte