Está en la página 1de 40

Robot seguidor de lneas

con NAND

Introduccin
a PICC de CCS
Programacin de un
dispositivo EEPROM

Prctica:
ADC y DAC.

Ao 1 - Noviembre 2008 - Nmero 1


La revista tiene como finalidad publicar
artculos hechos por la comunidad
estudiantildelaFacultaddeCienciasdela

Electrnica de la Benemrita Universidad


Autnoma de Puebla, para apoyar a
ProgramacindeundispositivoEEPROM.4
nuestroscompaerosdifundiendounpoco
delacreatividaddesarrolladayaplicadaen
RobotSeguidordeLneas..9
el rea de la electrnica, el lector podr
Detectordenmerosprimos14
construiryprobarlosdiferentesproyectos
y prcticas descritas en esta publicacin
IntroduccinaPICCdeCCS18
teniendo la certeza de que funcionarn al
cienporciento,todoslosartculoshansido
Prctica.ConvertidoresADCyDAC.30
diseados, innovados y probados en los
Cuestionario.MecnicaClsica.LaFuerza
laboratoriosdenuestrauniversidadyotros
deGravedad...36
varios en casa o lugares especficos de
diseoenpasatiempodealgunosautores.

ndice.

En este nmero 1 de nuestra revista nos


aventuramos en el diseo y mejora de un
robot seguidor de lneas construido con
componentes baratos y lgica digital,
despus nos introducimos a algunos
conceptos fundamentales para el diseo
con
el
lenguaje
C
de
los
microcontroladores PIC, incluimos dos
prcticas bsicas, una de programacin de
una memoria y otra del armado de un
circuito digital con compuertas, una
prctica de laboratorio tpica de
convertidores analgico a digital y de
digital a analgico, y finalizamos con un
cuestionario que nos hace reflexionar
sobrecuestionesdenuestromundofsico.

Publicacindelgrupoestudiantil
BlastedRobotics,delaFCE,BUAP,Puebla,
Pue.
Mxico.
Noviembrede2008.
email:
blastedrobotics@yahoo.com.mx

Edicin:

Esperamos disfruten de los artculos y


esperamos que les sea de utilidad, de
antemanogracias.

GarcaChetlaRal.
SanPabloJurezMiguelngel.

ElgrupoestudiantilBlastedRobotics.
GonzalesVellanoPablo.

PROGRAMACINDEUNDISPOSITIVO
EEPROM(AT28HC64)

Aprender a programar un dispositivo

Figura1.DecodificadordeBCDa7Segmentos.

EEPROM, con un respectivo cdigo en

basehexadecimalessumamentefcil,en

Deacuerdoaldiseoquesevaatomaren

este caso una memoria EEPROM

cuenta es necesario ver la relacin que se

AT28C64, de 64k (8k x 8), un bus de 13

necesita para la implementacin del

lneasdedirecciny8dedatos.Paraesta

decodificador de 7 segmentos, es decir,

prctica se toma como diseo un

ahorasepresentaeldiagramadepinesde

decodificadordeBCDa7segmentos.

un display ctodo comn, para hacer la

relacin de leds que encendern de


acuerdoalcdigobinario.

Materialnecesario:

1EEPROMAT28C64de64k(8kx8)de

Eldiagramadeldisplayeselsiguiente:

Atmel(equivalente)
1ProgramadorChipmaster7000
1programadorChipmaster
(Quemador)
1Displayde7segmentosctodo
comn

1Protoboard

8Resistenciasde330ohm

Dondeahastagrepresentanunapartedel

Cablesparaelprotoboard

nmero mientras que h representa el

Fuentedealimentacina5V

punto que trae el dislpay, el cual se

Caimanes

mantendrencendidotodoeltiempo.

Los nmeros a decodificar son del 0 al 15

Tenemoselcasodehacerundecodificador

decimal. Entonces hacemos una tabla de

connuestraEEPROMdeBCDa7

relacin del cdigo binario de estos

segmentoscomosemuestraenlafigura:

nmeros y luego de los leds que


encendern en nuestro display, por
4

ejemplo, para encender el 5dec= 0101bin

slo con los bits A3, A2, A1, y A0 donde

debemosencenderlossegmentosa,c,dfy

A12 al A4 debern estar conectados a 0

g y apagar los otros, entonces la relacin

ya que la tabla anterior funciona cuando

sera: a=1, b=0, c=1, d=1, e=0,

estos bits son precisamente 0 lgicos ya

f=1, g=1 h=1, donde los nmeros

que si no es as estaremos trabajando en

entre comillas son niveles lgicos. Y as

otra direccin y nuestro decodificador nos

sucesivamente se llena la tabla para

arrojar1lgicos.

despus transformar lo que nos queda a

Ahorabien,solamenterestaingresarestos

basehexadecimal,estosehaceagrupando

datos en hexadecimal que obtuvimos en

de cuatro en cuatro bits y despus

nuestra tabla a nuestra EEPROM, para

transformarasuequivalentehexadecimal,

hacer esto usamos el programa de

dondeelejemploanteriorquedara:

computadora llamado Chipmaster 7000,

resaltando que esto se puede hacer en

510=01012=>101101112=B716

cualquierotroprogramadorcomoIcprogo

inclusodesdeC++.

Entoncesnosquedalasiguientetabla.

Paraelprogramadoabrimoselchipmaster

7000quedebeestarpreviamenteinstalado

De
c

He
x

en nuestra PC, en caso contrario lo

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

1
0
1
1
0
1
1
1
1
1
1
0
1
0
1
1

1
1
1
1
1
0
0
1
1
1
1
0
0
1
0
0

1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0

1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
0

1
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1

1
0
0
0
1
1
1
0
1
1
1
1
1
0
1
1

0
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

FD
61
DB
F3
67
B7
BF
E1
FF
F7
EF
3F
9D
7B
9F
8F

instalamos primero ya que lo podemos


descargardesdeInternet.
Elambientedelprogramaeselsiguiente:

Para los nmeros 16, 17, 18, ,8191 no


decodificaremos nada, en una memoria

EPROM eso quiere decir que dejaremos

Hacemos clic en Select, y desde ah

slo 1 lgicos programados. Esto

seleccionamos en este caso AT28C64 y

tambin quiere decir que trabajaremos

damosclicenok.

como lo fue en este caso; abrir el archivo


dandoclicenloadyprogramarlo.

Finalmente con nuestro dispositivo ya


programado hay que probarlo, se arma el
circuito que se muestra al inicio de este
reporte y se alimenta con 5VDC que es lo

que marca la hoja de especificacin. De

acuerdo a la hoja de especificacin el

DespusclicenEditeingresamoselcdigo

diagramadepineseselsiguiente:

hexadecimal que tenemos de izquierda a


derecha en la tabla que aparece y damos
clicenclose.

Finalmente clic en Prog y ya est. Cabe


mencionar

que

el

programador

(quemador) chipmaster debe de estar ya


conectadoyencendidoenlamismaPCque

utilizamos, con nuestra EEPROM ya


colocada en l, el quemador es un poco

Estoquieredecirqueparaleerlamemoria

caro pero podemos guardar nuestro

los pines 20, 22 y 14 (GND) se conectan a

archivodandoclicenfileyluegosaveeira

tierra(0VDC);elpin1y26noseconectan,

algn lugar donde lo tengan como una

el pin 28 y el 27 se conecta a 5 VDC. Y

tienda de electrnica o una universidad

comosehabapensadolospines2,3,4,5,

6, 25, 24, 23, 21 que son A12A4 van

que podemos hacer decodificaciones ms

conectadosaGND.Luegolospines7,8,9,

grandes, y no nada ms con este modelo,

10quesonA3A0sernlasdireccionesque

podemosusarotroscomolosdelafamilia

ocupemos para ingresar nuestro nmero

de AM27CXXX, o los de la familia

en binario. Y los pines 11, 12, 13, 15, 16,

AT28CXXX AT28HCXXX. Esto ya depende

17,18,19sernnuestrassalidash,g,f,e,

delusoquelequeramosdar.

d, c, b, a respectivamente ya que en la

Una observacin importante es que si no

tabla podemos ver que el menos

se conectan a cero las direcciones que no

significativoeshyelmsesa;estassalidas

usamos los datos de salida sern siempre

las conectamos a una resistencia de

todos unos, es tambin importante

330ohms cada una y el otro extremo al

apreciar que en algunos dispositivos el

display que al inicio del reporte puede

diagrama de pines es parecido pero no es

mostrar sudiagrama de pines, donde com

igual, ya que en algunos traen ciertos

eselctodocomnyvaconectadoaGND.

habilitadores y en otros no, hay que ver

Todo esto es montado en un protoboard

bien la hoja de especificacin en la parte

haciendolospuentesconcabletelefnico.

que dice READ para ver cmo conectar el

Eldiagramadelcircuitofinaleseste

chip con sus respectivos habilitadores, ya


que si es conectado mal el dispositivo no
funcionar.

Programar un dispositivo de este tipo


como lo es una EPROM EEPROM, es

demasiado fcil, pero se torna difcil

Observaciones

cuando no se tiene el conocimiento y la


prctica de cmo hacerlo, claro que

LaprogramacindeestaEEPROMslofue

tambinsetornadifcilcuandonotenemos

para aprender a programar este tipo de

la tecnologa adecuada para hacerlo, pero

dispositivos, por ello slo usamos pocas

de ah en fuera el proceso es mucho muy

direcciones pero el potencial de un

fcil como lo anteriormente detallado, no

dispositivocomoesteesmuypoderosoya

estancostosoyreduceunagrancantidad
7

de circuitera cuando hacemos lgica

nosotros todos los minitrminos que se

Referencias:
Hoja de especificaciones
de la AT28C64
Manual NTE (para el
display de 7 segmentos)

puedan generar y despus ingresarlos a

grande, la desventaja de este tipo de


implementacin es que debemos obtener

manoenelprogramador,peroalfinalnos
percatamosdequeenrealidadnoestanto
trabajo, a diferencia de hacerlo con
compuertas.

El dispositivo funcion correctamente al


probarloentodassusdecodificaciones,por
tanto se aprendi cmo programar el
dispositivoEEPROMAT28C64.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

implementar nuestro circuito con un


FlipFlop RS, y para que nuestro
circuito sea an ms sencillo, lo
armaremoscondoscompuertasNAND,
de acuerdo a la tabla de verdad que
implementamos.Elestadodememoria
se dar slo cuando las entradas sean
un 1 lgico, si ambas entradas son
0 lgico las dos salidas del FlipFlop
sern uno, (a este estado se le puede
llamar estado prohibido) si SET lo
llevamosprimeroa1Qser0yQ
ser 1, si a continuacin RESET se
llevaa1lasalidaseconservarypor
lotanto,elestadodememoriasedar.

Si realizamos lo anterior pero


empezando por RESET, y luego
pasamosporSET,losestadosdesalida
serninvertidos,porlotantoelestado
de memoria depender de cual sensor
salga primero de la lnea. Un FlipFlop
implementado con dos NAND tiene la
peculiaridaddequelaactivacinseda
por los niveles bajos, razn por la cual
el estado inicial permitido a las
entradas deba ser 1lgico, esto para
nocausarconfusinenelanlisisdela
tabladelafigura1.

Figura1:

Set Reset Q Q

0
0
1 1

1
0
0 1

1
1
0 1

0
0
1 1

0
1
1 0

1
1
1 0

RobotSeguidordeLneas.

Usemos una metodologa simple y


ordenada,primerodebemosdefinirlas
funciones que realizar nuestro mvil
para establecer las condiciones del
funcionamiento, as ser mucho ms
sencillo llegar al circuito idneo.
Establezcamos esta condicin como
parte del comportamiento del mvil,
cuando salgan de la lnea totalmente,
los sensores que viren hasta que la
encuentre de nuevo. Es decir, si los
sensores salen hacia la derecha o
izquierda, que tan slo detenga el
movimientodelaruedarespectivayas
retornaralcaminoaseguirdemanera
normal, esta funcin es muy til
cuando las curvas son muy cerradas o
quealgunodelosmotoresseaunpoco
rpido y se salga del camino, como
comnmentepasaenunmvildeeste
tipoporsusencillez.

Lo anterior nos indica que si salen


hacialaderechaohacialaizquierda,el
mvil intentar buscar la lnea hacia el
lado contrario de donde se sali, es
decir que si sale a la derecha
totalmente que vire hacia la izquierda,
si lo hace a la izquierda que vire a la
derecha, esto depender del orden en
los cuales los sensores, en este caso
dos,salgandelalnea.Comocondicin
inicialesqueinicieelrecorridoconlos
sensoressobrelalnea,deesamanera
nuestro simple circuito estar en
condiciones de operar, de lo anterior
deducimos que debe tener memoria
para recordar cul de los dos sensores
salidelalneaprimero,deesamanera
si el mvil sale de la lnea y los dos
sensores no lo detectan, recuerde
haciadndedebeir.Comoessimpley
con
dos
entradas,
podemos

TabladeverdadparaelFlipFlop
ImplementadoconNAND

FlipFlop

1estdelladoopuestodelmotor1yel
sensor2delladocontrarioalmotor2.

Los emisores deben colocarse al


centro y los receptores a los lados, los
sensores deben ser colocados de tal
manera que no sobresalgan del ancho
deunacintadeaislarplstica.

Por lo tanto, para que se d la


condicin para que avance hacia
delante, es que las entradas R y S
deben ser 0 que es cuando los
sensoresestndetectandolalnea,que
en este caso ser blanca sobre fondo
negro,yusandoelcircuitodelafigura2
tendremosqueenelresistorde10k
(R2 y R5) que est como salida del
fotodiodo infrarrojo una cada de
voltaje que interpretaremos como 1
lgico,ytenemosqueinvertirelestado
colocandounsimpleinversor.

AhoralassalidasdelFlipFlopsernun
1lgicoconlocualpodemosllevara
saturacin a un transistor y as poner
enmarchacadamotor.

Diagramadeconexiones.

Sensores.

Paraestediseoutilizamossensoresde
tipoCNY70quesondossensores
infrarrojospticosreflectivosconsalida
atransistordelamarcaVishay
Telefunken,cuyoempaquetadoes
cuadradoconlasuperficieempotraday
esmostradoacontinuacin.

Figura3.Colocacindesensoresrespectoalosmotores.

Si alguno de los sensores sale de la


lnea,elresistorde10kentregarun
0lgico,quepasandoporelinversor
ser un 1 lgico y el funcionamiento
sercomoeldescritoparaelFlipFlop.

De esta manera se detendr el motor


respectivo para que nuestro mvil
puedaregresaralalnea,recordando
haciadndepodrvirar.

La colocacin de los sensores con


respecto a los motores en nuestro
pequeomvil,debeserqueelsensor

FormadelCNY70.

10

Diagramadepines.

As,cuandoleamosunalneablancao
negralasalidanosentregarun1
lgicoconeltransistorensaturacin
un0lgicoconeltransistorencorte.

Motores.

Encuantoalasalidadelacompuerta,
tenemosqueesconectadoaun
transistor2N2222unodemejor
calidadparaconectarahoralos
motoresenelcolectoryVCC,estoes
suficientesiutilizamosmotores
pequeosde3volts,perosiusamos
otrosmspotentescomolosde5volts
ounTwincomoenestecaso,debemos
agregarunaresistenciadecolector
paraatenuarlacorrienteyaqueeste
tipodemotoresdemandanunpoco
msdecorriente,usaremosuna
resistenciade10a2Wensucaso
unarregloenseriededosparesde
configuracionesderesistenciasen
paralelotodasde10a1/4W,yaque
funcionarigualmenteyserms
econmicoelprecio.

Conestoelrobotestarlistopara
probaryfuncionar,elarmadofinal
dependedelosmaterialesqueusemos.

ParaestediseoseusanmotoresTwin
consuadicionalarregloderesistencias
enelcolector.

Estossensoresconstandeunemisor
infrarrojoyunfotoreceptor,queson
slounfotodiodoyunfototransistor
separadosporunapared,estapared
impidequehayacensadosno
deseados;cuandoelemisorest
funcionando,elrayoinfrarrojopuede
rebotarenlasuperficieacensaryluego
elfototransistorsepolarizarensu
regindecorteodesaturacin
dependiendodelestadolgicodel
rebote.

Ilustracindelprocedimientodeemisinyrecepcinpara
elsensor.

Paraestediseoseutilizauna
polarizacinclsicadeestetipode
sensoresqueesllevaralfotodiodoa
emitirconectndoloaunaresistencia
de1Kyaseaenelnodooelctodoy
elfototransistorsepolarizaencolector
comnconunaresistenciade100kal
emisor,tomandolasalidaenelemisor
mismo.

MotoresTwinGearbox.

Eldiagramafinalarmadoyprobadoes
elsiguiente:

ConfiguracindeconexinbsicadelCNY70.

11

Diagramafinal.

entradas,yelimplementarlocondos
NANDnosfacilitaelestablecerlalgica
defuncionamientodeacuerdoa
nuestrasnecesidades,yporqueson
necesariastambindosinversoresy
puedenimplementarsefcilmenteal
cortocircuitarlasdosentradasdeuna
NAND.

Adems,deesamanerausounsolo
integrado.

PuedousarlgicaTTLparaeste
circuito?

No,eldiseoesparaimplementarlo
conCMOSyaqueastendremosla
libertaddeusarvoltajesde
alimentacinde3a6Voltsconel
mismocircuito,asnotendremos
sorpresasaldisminuirunpocoelnivel
debaterasypodemosutilizar
cualquieraentreesterango,adems
quelosniveleslgicosenesta
tecnologaseadecuanalosnivelesde
voltajedealimentacin,ypodemos
activarconrelativafacilidadlaetapade
transistores.

Porquaqunoseutilizan
amplificadoresoperacionalesparael
ajustedeumbral?

Paraacoplarlasalidadelossensores
conelFlipFlopseusuninversor
implementadoconNAND.AlusarelC.I.
4093tienelacaractersticadeser4con
entradaSchmittTrigger,locual
internamenteestableceumbralesde
cambio,yasuvezminimizaerroresde
funcionamientoporruidoademsde
quealteneralaentradaunresistorde
10katerrizadolointerpretacomoun
0lgicoalnohaberprcticamente
corrientecirculanteatravsdel.

Eldiseopuedehacersesimplemente
enunabaseDIPounPCBcomoelque
diseamos:

PCBdeelbloquedelgica.

Elseguidorarmado.

PorquenvezdeunFlipFlop
integradoseutilizandoscompuertas
NAND?

PrimeroporquealgunosFlipFlop
establecenalgunosestadosprohibidos
alaplicarelmismoestadolgicoalas
12

Esposiblecambiarlaetapade
potenciadelmotorporalgodemayor
capacidad?

Siusamostransistores2N2222,espor
quelosmecanismosqueseutilizaron
tienenmotoresmuyeficientesqueno
consumengrancorrienteyson
pequeitosinclusoeldiseosoporta
motoresTwin.Sisedeseanutilizar
motoresdemayorcapacidadtendrn
queutilizarunaetapaDarlington.

LossensoresdebenserCNY70?

Paraestediseoseproponen,pero
comoeldiseoserealizaabloques
podemosusartansolodossensores
infrarrojosinterruptivosquesepueden
conseguirconmuchafacilidad,el
emisoryelreceptorestnpareadosy
secolocanunoaladodelotro,
emulandoelCNY70,claroquedeben
respetarladistanciaconlasuperficie
paraquenoseamayora3mm.Encaso
deconseguirelCNY70,familiasQRDo
equivalentespuedenusarlosyel
resultadoserelmismo.

Porquahoraseusalneablancaen
fondonegro?

Masquenadaesporcuestintcnica,
yaquealgunoseventosestablecen
comopistaparalapruebaesas
caractersticas,sideseanquefuncione
conunalneanegraenfondoblanco,es
sencillo,slodebenadicionarotro
inversorantesdecadaentradadelFlip
Flop.Tambinsepodraeliminar
simplementeelinversoryusarsloel
FlipFlop,locualnoseaconsejaporla
posibilidaddeerroresyaqueelprimer
inversoresparaacoplarelsensordela
etapalgica.

ElRobotSeguidordeLneas.

VistaInferior.

Referencias:

RevistaSaberElectrnica.
www.jameco.com
DatasheetdelintegradoCNY70.

13

NTIFICAD
DOR DE NUMEROS PRIMOS CON
C
COM
MPUERTAS LGICA
AS
IDEN
El obbjetivo de esta prctica es crearr un
circuuito que identifique
i
los nmeeros
prim
mos, de unn rango coomprendido de
entree el nmeroo 1 hasta ell 15, utilizaando
las compuertas
c
s lgicas, los mapas de
Karnnaugh y la reduccin de funcioones,
mediiante lgebrra Booleanaa.

Diagrama lgico
l

SN74LS088 AND

c
n haremo
os una brreve
A continuaci
expliicacin de las
l configurraciones dee las
comppuertas quue vamos a utilizar en
nuesttro circuito..

SN74LS
S04 INVE
ERSOR

X
0
0
1
1

Tabla de verdad
Y
0
1
0
1

Diagrama lgico
l

Tab
bla de verda
ad
X
Y
0
1
1
0

14

Z
0
0
0
1

Despus de
d planteaddo el prob
blema y
explicado las
l configuuraciones bsicas de
las compueertas lgicass a vamos a utilizar,
procedemoos a resolverr nuestro pro
oblema.

SN774LS32 OR
O

Lo primeroo ser hacer nuestra tabla de


verdad, de la cual exttraeremos todos
t
los
v
datos tantoo de las enttradas (las variables
que vamoss a controllar), como el de la
salida que tendremos.
t
Sabemos que tendreemos 16 distintas
a 2.^4, laas cuales
e
entradas, equivalente
sern los nmeros
n
en los que haaremos la
comparacin y tenddremos doss nicas
salidas, ciierto o fallso, y staas son las
que determ
minarn ccuando el nmero
introducido
o es primo o no.

X
0
0
1
1

Tab
bla de verda
ad
Y
0
1
0
1

Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Z
0
1
1
1

Diaggrama lgicoo

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
0
1
1
1
0
1
0
1
0
0
0
1
0
1
0
0

En nuestra tabla tomaaremos los nmeros


c
el nnmero sea primo, y
de f en 1 cuando
ser cero si el nmeroo de la com
mbinacin
introducidaa no es prim
mo (lgica positiva);
p
as, los quee tengan el nmero 1, sern los
mintrminoos en nuestro
n
m
mapa
de
Karnaugh.
15

El material requerido para el armado de


nuestra prctica fue el siguiente:

A continuacin, haremos nuestro mapa de


Karnaugh de cuatro variables, tomando
los mintrmimos como los nmeros que
son primos de la tabla de verdad.

El mapa queda como a continuacin:

2 compuertas AND (74LS08)


1 compuerta INV (74LS04)
1 compuerta OR (74LS32)
1 protoboard
1 interruptor de cuatro entradas
1 resistencia de 100
1 led
cable para protoboard
1 fuente de voltaje

Despus de disear nuestro circuito


lgico, procedemos a armarlo. Una vez
armado, lo alimentamos con una fuente
de dc y con el dip switch haremos las
combinaciones resultantes, tomando en
cuenta, que es de cuatro entradas, el
nmero de bits que sern introducidos
tambin. El circuito encender el led
cuando la combinacin introducida sea un
nmero primo; y no tendr reaccin
alguna (se mantendr apagado), cuando el
nmero de la combinacin no sea un
nmero primo.

Y la reduccin de mintrminos,
queda:
m (1, 2, 3, 5, 7, 11, 13) =
_
__
_
_
AD+ABC+BCD+BCD
Y nuestro diagrama lgico:

Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

16

Combinacin del
interruptor
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1

LED
Apagado
Encendido
Encendido
Encendido
Apagado
Encendido
Apagado
Encendido
Apagado
Apagado
Apagado
Encendido
Apagado
Encendido
Apagado
Apagado

La tabla anterior muestra, de acuerdo a la


combinacin introducida, e identifica si
se trata o no de un nmero primo.
Al haber realizado esta prctica, y
despus de haber probado todas las
combinaciones de nuestro circuito, para
averiguar cules de esos son nmeros
primos, el circuito ha tenido xito, ya que
en ninguna combinacin hubo algn
error, y en ninguno de los casos hubo
alguna anomala. Esto es demostrable
tambin por que en caso de que hubiese
existido algn error, tal vez hubiesen
fallado alguna, o algunas de las
combinaciones de identificacin de los
nmeros introducidos.
Puedo agregar tambin, que los mapas de
Karnaugh nos hicieron el trabajo de
reduccin de funciones bastante sencillo,
mediante lgebra Booleana. El diagrama
lgico fue sencillo de realizar una vez
teniendo la reduccin final de nuestro
circuito.

Bibliografa.

Anlisis y diseo de circuitos


lgicos digitales
Nelson, Nagle, Carroll, Irwin
Editorial Prentice Hall

TTL Logic (Data book)


Texas instruments

SGS Thomson
(CD-Room Datasheets)

Autor:
Ral Garca Chetla.
17

IntroduccinaPICCdeCCS.

En el mundo de los microcontroladores,


encontramos
siempre
opciones
econmicas,eficaces,rpidas,eficientesy
tiles para disear, tal es el caso de los
microntroladores
PIC
(Peripheral
Interface Controller /Controlador de
InterfazPerifrico)delamarcaMicrochip
TechnologyInc.,loscualeshoyendason
encontrados en un sin nmero de
versionesycaractersticasespeciales.

desarrollaron compiladores en lenguajes


como C y BASIC se han vuelto famosas.
Por tal motivo en este artculo
retomamos la programacin de los
microcontroladores PIC con el lenguaje
dealtonivelC,conelcompiladorPICCde
la empresa CCS (Custom Computer
Services Inc.) en su versin 4.038, que
tratndoloessumamenteamigableyfcil
deusar.

Estos microcontroladores usan un juego


de instrucciones tipo RISC, cuyo nmero
puedevariardesde35paraPICsdegama
baja a 70 para los de gama alta. Las
instrucciones se clasifican entre las que
realizanoperacionesentreelacumulador
y una constante, entre el acumulador y
una posicin de memoria, instrucciones
de condicionamiento y de salto/retorno,
implementacin de interrupciones y una
para pasar a modo de bajo consumo
llamadasleep.

El compilador PICC tiene tres


compiladoresintegradosPCB,PCMyPCH,
cadaunoparalasversionesdecdigode
PICsde12,14y16bitsrespectivamente,
siendo editadas las instrucciones en la
ventana del command window llamada
PCW, donde la apariencia de este
compilador tiene un formato estndar
ANSI. Este compilador es capaz de crear
el archivo .HEX, .COF, y otros tantos
archivos que son generados al crear
nuestro proyecto, tales archivos con su
respectiva funcin se pueden ver en el
cuadro. La instalacin del programa es
sumamentesencillayslohayqueseguir
los pasos del fabricante para instalarlo.
Existe una versin trial o demo en la
pginadelfabricante.

Microchip proporciona un entorno de


desarrollo freeware llamado MPLAB que
incluye un simulador software y un
ensamblador.Otrasempresasdesarrollan
compiladores C y BASIC. Microchip
tambin vende compiladores para los
PICsdegamaalta("C18"paralaserieF18
y "C30" para los dsPICs) y se puede
descargar una edicin para estudiantes
del C18 que inhabilita algunas opciones
despusdeuntiempodeevaluacin.
Enlaactualidadloquelosprogramadores
de estos dispositivos buscamos es un
entorno ms amigable de programacin,
mas rpido y ms fcil de usar, sin tener
que estar horas creando rutinas en
lenguaje ensamblador, es por ello que
actualmente estas empresas que
18

.C

ThisisthesourcefilecontaininguserCsourcecode.

.H

Thesearestandardorcustomheaderfilesusedtodefinepins,register,register
bits,functionsandpreprocessordirectives.
Thisistheprojectfilewhichcontainsinformationrelatedtotheproject.
ThisisthelistingfilewhichshowseachCsourcelineandtheassociatedassembly
codegeneratedforthatline.
Thisisthesymbolmapwhichshowseachregisterlocationandwhatprogram
variablesarestoredineachlocation.
ThestatisticsfileshowstheRAM,ROM,andSTACKusage. Itprovidesinformation
onthesourcecodesstructuralandtextualcomplexitiesusingHalsteadand
McCabemetrics.
Thetreefileshowsthecalltree. itdetailseachfunctionandwhatfunctionsit
callsalongwiththeROMandRAMusageforeachfunction.
ThecompilergeneratesstandardHEXfilesthatarecompatiblewithall
programmers.
Thisisabinarycontainingmachinecodeanddebugginginformation.
Thisisabinaryfilecontainingdebuginformation.
TheoutputoftheDocumentationGeneratorisexportedinaRichTextFileformat
whichcanbeviewedusingtheRTFeditororwordpad.
TheRichViewFormatisusedbytheRTFEditorwithintheIDEtoviewtheRich
TextFile.
The.DGRfileistheoutputoftheflowchartmaker.
ThisfileisgeneratedfortheIDEusers. ThefilecontainsIdentifiersandComment
information.Thisdatacanbeusedforautomaticdocumentationgenerationand
fortheIDEhelpers.
Thisfileisgeneratedwhenthecompilerissettoexportarelocatableobjectfile.
Thisfilecontainsalistofsymbolsforthatobject.

.PJT
.LST
.SYM
.STA

.TRE
.HEX
.COF
.COD
.RTF
.RVF
.DGR
.ESYM

.OSYM

CuadroconlosarchivesgeneradosparaunproyectoenPICC.

Paracomenzarautilizar
este compilador qu
mejor que practicando,
y para ello haremos un
programa para una
aplicacin tpica, el
encendidoyapagadode
LEDs, y para ms
familiaridadeneldiseo
utilizaremos un viejo
amigo, el PIC16F877A,
que por susencillez nos
ser apto para este
sencillo diseo, ms
adelante veremos que
podemos
programar
microcontroladores de
este tipo y ms

avanzados de la misma
forma.
El
objetivo
ser
encender y apagar 8
LEDs conectados a el
puertoBdelPic16F877A
enformadecorrimiento
(Tipo auto increble);
cuando conectemos el
dispositivo los 8 LEDs
estarn encendidos y
cuando oprimamos un
pushbutton conectado
al pin A0 entonces
comenzar
el
corrimientodeunbiten
un sentido y regresar

19

en sentido contrario en
forma de circuito de
corrimiento,estoledar
maseleganciaanuestro
diseo que podemos
implementar
en
juguetes o iluminacin,
slo cuando oprimamos
el
pushbutton
conectado al pin A0 el
corrimiento
se
efectuar.
El diagrama de flujo de
nuestro programa se
muestraenlafugura.

Como paso inicial para crear el cdigo fuente .C donde


podemoseditarnuestroprograma,procedemosaindicarla
secuencia clsica de apertura del programa, en Windows,
estoes,hacemosclicenInicio>Todoslosprogramas>PIC
C>PICCCompiler.

SecuenciaparaabrirelPICC.

Diagrama de flujo para


nuestroprograma.

SeabrirlasiguienteventanaconelcompiladorPCW.

Ambientedelcompilador.

20

En l encontramos la clsica barra de


mens Archivo, Proyecto, Edicin,
Buscar, Opciones, Ver, Herramientas,
etc.

Archivo,quetieneunconodecarpeta
amarilla. Despus un clic en Nuevo y
despusenArchivofuenteoSourceFile
comoseveenlafigura.

Para iniciar y escribir nuestro primer


programa hacemos un clic en el men

Secuenciaparacrearunnuevoarchivodecdigofuente.

Inmediatamenteapareceuncuadrode
dilogo para indicar dnde y con qu
nombreguardarnuestrocdigofuente,

en este caso lo guardamos en la


carpeta Blasted con el nombre de
introduccin.c

Figuraquemuestralacarpetadestinodenuestroarchivodecdigofuente.

21

Hecho esto tendremos


una nueva pestaa en el
command
window
llamada introduccin, en
la cual ya podemos
comenzar a escribir
nuestro
cdigo
del
programa.
Este compilador tiene las
mismas reglas de sintaxis
del lenguaje C, los
comentarios estndar se
escribirn iniciando en //
yotrosglobalescomo//*
como/*.
Podemos incluir las
tpicas libreras de C,
utilizar
las
clsicas
estructuras if, ciclos
while, for, etc., las
definiciones bsicas de
nmeros como int, int8,
char,short,long,etc.
Entonces sabiendo todo
esto podemos compilar
#FUSES
#FUSES
#FUSES
#FUSES

NOWDT
XT
NOPROTECT
NOLVP

#FUSES NOCPD

fcilmente
programa.

cualquier

Como primer paso en C


para la programacin
deberamos incluir las
libreras que nos son
tiles, en C clsico
incluimos por ejemplo
#include<stdio.h> , aqu
podemos incluir libreras
de este tipo, una de
mucha utilidad es la
librera que nos define
cada pin de cada puerto
de nuestro PIC, y por lo
general llevan el nombre
delPIC.Paraesteejemplo
anotaremos
#include<16F877A.h>que
esporelmirocontrolador
que vamos a utilizar. As
pudimoshaberincluidola
definicin para el PIC de
nuestro agrado como
#include <18F452.h> u
otra que contenga el

compilador.Alhaceresto
entonces ya tenemos
definido el puerto A en
los pines 2 al 7, B en los
pines del 33 al 40, como
lodebeestarindicadoen
eldatasheetdelPIC.
Algo nuevo en este
compilador
es
que
podemos ordenar desde
cdigo al el quemador
dePICslasopcionescon
las que debe quemar
nuestro dispositivo, por
ejemplo el Watchdog, el
famosoLVP,laproteccin
a cdigo, el MCLR, el
oscilador, la proteccin
decdigoyotros.
Para hacer esto lo
indicamoscomo#FUSESy
la palabra que indica qu
settings
necesitamos,
aqu configuraremos los
siguientes:

//Deshabilitar el watchdog
//Oscilador de cuarzo <= 4mhz (HS para >4MHz)
//Sin proteccin de cdigo de lectura
//Sin low voltage prgming,
// B3(PIC16) o B5(PIC18) usado para I/O
//Sin proteccin EE

Despus una parte


importantsima, que es

la
frecuencia
del
osciladoryestosehace

con #use, de
siguientemanera:

la

#use delay(clock=4000000) //Usar un oscilador de cuarzo de 4 MHz

Notequeestaesunade
las partes que nos
necesitamos aprender

ya que en cualquier
programa
debemos
incluir esta parte,
22

dondeelnmeroindica
el nmero de Hertz del
oscilador,
entonces,

podemoscambiarloanuestrocriterioa
20000000 por ejemplo para un
Finalmentellegamosalapartefamiliar
delC,dondeescribimoslasrutinas,los
objetos,etc.,aquescribimoselfamoso
void main(){}, que es la rutina
principal que har que nuestro
programafuncione.

osciladorde20MHz.
pushbutton es presionado se debe
hacer el corrimiento de tipo auto
fantstico.
Dentro del programa principal
necesitamosdeclararunavariablelocal,
que ser el valor ledo del pin A0 para
saber qu hacer, si seguir mostrando
todo el puerto B en alto o hacer el
corrimiento de un bit a la derecha y
luego a la izquierda, todo esto dentro
deunaestructuradowhile,paraqueel
programaseejecuteinfinitamente.

Entre las llaves {} escribiremos el


programa que tomaremos de nuestro
diagramadeflujo.
Para ello necesitamos encender por
default los 8 bits del puerto B, y si el

Escribimosentonces:
void main()

//El clsico Void main de C.

//Inicio del programa

do{

//Ciclo Do/While
int valor;

//Variable local entera

valor=input(PIN_A0);

//el valor de la variable se lee en el PIN_A0

}
//Aqu va el resto del cdigo que necesitamos.
while(TRUE);

//Condicin de bucle infinito

//Fin del Programa. Gracias!!!

Dondelavariablelocallallamamosvaloryesdetipoenteroenterode8bits.Ahora
bienparaleerestavariableusaremosotrainstruccinmuyimportantequepodemos
ver en el cdigo escrito y es la instruccin input(valor_a_ser_leido); entonces la
variablevalorlaigualamosalaentradaquehayenA0,esdecir:
valor=input(PIN_A0);

Ahoraelprogramaestleyendocontinuamentelaentradadelpushbutton,restahacer
quecuandoleaun1lgicotodoslosLEDsestnencendidosycuandoleaun0se
hagaelcorrimientounavez.
Esosehacetanfcilagregandounsimpleif.
23

if(valor==0)
{ }
else{ }

Entonces de acuerdo a nuestra condicin agregaremos una salida de 11111111b


cuando leamos un 1, en la parte else con el comando
output_puerto(valor_en_hexadecimal); en este caso ser el puerto B y la salida ser
0xFFh
if(valor==0)
{ }
else{
output_b(0xFF);
}

Y para la parte del otro valor escribiremos muchos output_b(); con las diferentes
salidasdelcorrimiento,claramentesenotaqueparaquelopodamosvernecesitamos
colocar retardos entre cada salida, aqu los retardos son hechos con el comando
delay_us(retardo); ,delay_ms (retardo); delay_cycles(retardo); , para retardos de
microsegundos,milisegundospersonalizadosrespectivamente.Comoqueremosque
sean visibles, entonces colocaremos retardos en milisegundos, con 70 milisegundos
sonsuficientes.Notequeenlenguajeensambladorestonosllevaraahacerrutinasde
retardosanidadosmuygrandesyllamarlosacadarato.

Escribimosentoncesdentrodelif
output_b(0x00);

//Salida del dato hexadecimal en el puerto B

delay_ms (70);

//Esperar retardo de 70 milisegundos

Yassucesivamenteparacadavalordelcorrimientocomosifueraunamemoriaconsu
respectivoretardo.
Comoenlaparteinicialde#FUSESnoincluimosladeMCLR,estaopcinfuncionaryesta
terminadonuestroprogramaquemostramoseneldiagramadeflujo.

Elprogramaenterosemuestraacontinuacin.

//Comentarios=//
//Primer programa en PICC compiler CCS
//Blasted Robotics
//Revista nmero 1. Noviembre 2008. FCE BUAP.
//////////////////////////////////////////////////////////////////////////////
//

24

///
Libreras
///
//////////////////////////////////////////////////////////////////////////////
//
#include <16F877A.h>
//Incluimos las definiciones para el pic
//Podemos usar cualquier librera disponible
//////////////////////////////////////////////////////////////////////////////
//
///
Opciones de quemado
///
//////////////////////////////////////////////////////////////////////////////
//
#FUSES NOWDT
//Deshabilitar el watchdog
#FUSES XT
//Oscilador de cuarzo <= 4mhz (HS para >4MHz)
#FUSES NOPROTECT
//Sin proteccin de cdigo de lectura
#FUSES NOLVP
//Sin low voltage prgming,
// B3(PIC16) o B5(PIC18) usado para I/O
#FUSES NOCPD
//Sin proteccin EE
//////////////////////////////////////////////////////////////////////////////
//
///
Oscilador
///
//////////////////////////////////////////////////////////////////////////////
//
#use delay(clock=4000000)
//Usar un oscilador de cuarzo de 4 MHz
//////////////////////////////////////////////////////////////////////////////
//
void main()
{

//El clsico Void main de C.


//Inicio del programa

do{
int valor;
valor=input(PIN_A0);

//Ciclo Do/While
//Variable local entera
//el valor de la variable se lee en el PIN_A0

if(valor==0){
output_b(0x00);
delay_ms (70);
output_b(0x01);
delay_ms (70);
output_b(0x02);
delay_ms (70);
output_b(0x04);
delay_ms (70);
output_b(0x08);
delay_ms (70);
output_b(0x10);
delay_ms (70);
output_b(0x20);
delay_ms (70);
output_b(0x40);
delay_ms (70);
output_b(0x80);
delay_ms (70);
output_b(0x40);
delay_ms (70);
output_b(0x20);
delay_ms (70);
output_b(0x010);
delay_ms (70);
output_b(0x08);
delay_ms (70);
output_b(0x04);
delay_ms (70);
output_b(0x02);
delay_ms (70);
output_b(0x01);
delay_ms (70);

//Salida del dato hexadecimal en el puerto B


//Esperar retardo de 70 milisegundos

25

}
else{
output_b(0xFF);
}
}
while(TRUE);
}

//Condicin de bucle infinito


//Fin del Programa. Gracias!!!

ElprogramaescritoenC.

elmenProject>Create,yaparecerel
siguiente cuadro de dilogo que nos
pedir una ruta para abrir, tenemos
que abrir el cdigo que acabamos de
generar,elintroduccin.c,lobuscamos
donde lo guardamos, recordemos que
lo guardamos en la carpeta Blasted, y
hacemosunclicenabrir.

Tenemosyaelcdigofuente,entonces
necesitamos compilarlo y generar por
lomenoselcdigoparaprogramarloal
PIC, es decir, el .hex, pero para
generarlo es necesario crear un nuevo
proyecto, para hacerlo seleccionamos

26

Inmediatamenteotrocuadrode
dilogonospreguntarquPIC
utilizaremos,paraestediseohemos
elegidoelPIC16F877A,sihubisemos

elegidoelpic18f452igualtendramos
queanotarese,loanotamosyhacemos
clicenApply.

Una vez creado nuestro proyecto ya


podemos compilar nuestro cdigo
hecho. Hacemos n clic en el men
Compile, y luego un clic en Compile o
presionemos F9. Automticamente el

programa se compilar con su


compilador respectivo de la pestaa
Lookup Part y nos marcar si tenemos
errores, nos generar traducciones al
asmyotrosvariosarchivostiles.
27


BotnCompilar.

Elprogramacompilndose,consuversinPCMparael877,generael.err,.hex,etc.Ynosmuestrala
cantidaddememoriaqueestamosutilizandoeneldispositivo.

Enestecasotenemos0erroresy0advertencias,queriendodecirqueelprogramaya
puedeserquemadoenunPIC.

28

El esquema del circuito se muestra a continuacin y puede ser simulado en Proteus


7.1 y funciona correctamente, una buena opcin cuando no contamos con recursos
paracomprarunPIC.

Esquemtico.

El PIC16f877A contiene el cdigo


introduccin.hex programado, para
programar el PIC utilizamos el
quemador
Winpic800
con
el
GTP_USB_Lite pero pueden usar
cualquier otro programador como el
incluido en PICC que es el ICD cuya
informacin la encuentran fcilmente
en la red. Y podemos usar cualquier
otroconel.hexel.cof.

de datasheets, convertidor de
nmeros, editor de macros y una muy
buena ayuda que podemos leer y
continuar aprendiendo a usar este
programa y sus dems funciones que
nosonexplicadasenesteartculo.:)
R.D.

Autor: Miguel ngel San Pablo J.


blastedrobotics@yahoo.com.mx

Finalmente comentamos que este


compilador tiene opciones de Wizard
paraPICsmssofisticadosyengeneral
para cualquier PIC, tiene libreras HID,
USB,tieneunmonitordepuertoserial,
convertidores de cdigo a C, buscador

Referencias:
www.ccsinfo.com/ El demo del picc
lopuedesdescargaraqu.

29

CONVERTIDORES
ADCYDAC

INTRODUCCION

ADC0804tienelacapacidaddeconvertirunamuestra
analgicadeentre0y5voltiosysuresolucines:

En la actualidad existen diversos sistemas


electrnicos que van desde la aplicacin de la ley de
ohm hasta sistemas desarrollados para las
comunicaciones, aplicados en la electrnica de
potencia, bioelectrnica, robtica en sistemas
digitalescomosonlasmicrocomputadorasyhaciendo
una interfaz con el mundo real pasndolo por un
sistemaanalgicoyllevndoloalossistemasdigitales.
El espectacular desarrollo de la microelectrnica ha
intensificadolatendenciageneralizada,aaumentarla
complejidaddelsistemafsico(hardware)paraelevar
lavelocidaddelosprocesadoresdigitalesyampliarde
esaformasucampodeaplicacin.
Esto hace que como estudiantes nos veamos
obligados a cambiar nuestros mtodos de diseo y a
elevarlacapacidaddesntesisdeestructurasdigitales
complejas.
En esta ocasin el desarrollo de esta prctica esta
fundamentadaenlosconvertidoresanalgicodigitaly
digitalanalgico veremos su estructura, su
funcionamientoylaaplicacinqueledamos.

CONVERTIDORANALGICODIGITAL(ADC)

Resolucin=valoranalgico/(2^8)1

Resolucin=5V/255
Resolucin=0.0196vo19.6mv.

Lo anterior quiere decir que por cada 19.6


milivoltios que aumente el nivel de tensin entre las
entradas nomencladas como "Vref+" y "Vref" que
ofician de entrada al conversor, ste aumentar en
una unidad su salida (siempre sumando en forma
binariabitabit).

CONVERTIDORDIGITALANALGICO(DAC)
Caractersticas

Un conversor analgicodigital es un
dispositivo electrnico capaz de convertir un voltaje
determinado en un valor binario, en otras palabras,
este se encarga de transformar seales anlogas a
digitales(0'sy1's).

Las seales son convertidas a formato


discreto (digital) para facilitar su transmisin
oalmacenamiento.
Es posible realizar mediante procesamiento
digital acciones imposibles de obtener
mediante el procesamiento analgico (por
ejemplo, filtros con respuesta de frecuencia
arbitraria).

Laconversinsehaceenformadigitalporque
sta es usualmente ms simple de realizar y ms
barato de implementar que en la conversin
analgica. Adems las seales digitales requieren
usualmente menos ancho de banda y pueden ser
comprimidas. Sin embargo, hay una prdida
inherente de informacin al convertir la informacin
continuaendiscreta.

Cmofunciona?

PoseendossealesdeentradallamadasVref+
yVrefydeterminanelrangoenelcualseconvertir
unasealdeentrada.

El dispositivo establece una relacin entre su


entrada (seal analgica) y su salida (Digital)
dependiendo de su resolucin. Esta resolucin se
pude saber, siempre y cuando conozcamos el valor
mximo que la entrada de informacin utiliza y la
cantidad mxima de la salida en dgitos binarios. A
manera de ejemplo, el convertidor anlogo digital

APLICACIONES

30

ProcesamientoDigitaldeSonido
ProcesamientoDigitaldeVoz
ProcesamientoDigitaldeImgenes
ProcesamientoDigitaldeVideo


Laconversindedigitalanalgicoseutilizaen
el procesamiento de msica (por ejemplo MP3), de
voz, telfonos celulares, transmisin de imgenes y
video.

Uno de los beneficios principales del DAC es


quelastransformacionesdesealessonmssencillas
de realizar. Una de las ms importantes
transformadaseslaTransformadadeFourierdiscreta
(TFD). Esta transformada convierte la seal del
dominio del tiempo al dominio de la frecuencia. La
TDFpermiteunanlisismssencilloyeficazsobrela
frecuencia,sobretodoenaplicacionesdeeliminacin
deruidoyenotrostiposdefiltrado.

OBJETIVO

1. Un valor aleatorio, como consecuencia de la


conversinencurso
2. Elresultadodelaltimaconversin

Crear primeramente un Convertidor Digital


Analgico (DAC) a base de transistores PNP, en este
casousaremoseltransistorBC557,comonuestroDAC
queremosqueseade8bits,entoncesnecesitamos8
transistores BC557. Ya estando funcionando el DAC,
procederemos a conectar estas salidas analgicas a
un Convertidor AnalgicoDigital (ADC), este ADC
siendo creado tambin por componente a
componente; al conectar el DAC con el ADC
necesitaremos Buffers, contadores y una latch,
obteniendoasienlasalidaunasealdetipoRAMPA.

CONVERTIDORANALGICODIGITAL(ADC)

Una conversin analgicadigital consiste en


la trascripcin de seales analgicas en seales
digitales, con el propsito de facilitar su
procesamiento (encriptacin, compresin, etc.) y
hacer la seal resultante (la digital) ms inmune al
ruido y otras interferencias a las que son ms
sensibleslassealesanalgicas.

MATERIAL:

TIEMPODECONVERSIN:

Eseltiempoquetardaenrealizarunamedida
el convertidor en concreto, y depender de la
tecnologa de medida empleada. Evidentemente nos
da una cota mxima de la frecuencia de la seal a
medir.

Sinorespetamoseltiempodeconversin,en
lasalidatendremosunvalor,quedependiendodela
constitucindelconvertidorser:

TransistoresBC557
Contadores(74LS293)
Amplificadoresoperacionales(OP_AMPs)
Resistenciasde1KOhm
Resistenciasvariables
leds
capacitaresceramicos
Protoboards
cableparalasconexiones
Buffer(CD4049)
Latch(74LS374)
Comparador(LM339)
CLK(LM555)

configuracin astable como se presenta a

DESARROLLO

1. Como primera parte se implemento una


etapa de oscilacin con un CI 555 en

continuacin:

31

madeun
Diagram
oscilado
orcon555

2. Comosegundaetaapaseimplementaron
contad
dorespatam
mandarunosycerosa
nuestrrostransistores.

Diaggramadecontador

32

3. Enlatterceraetapaaconectamo
oslasalidade
loscon
ntadoresab
buffersestosparatener
unam
mejorsealparalostranssistores,yas

tenemo
osnuestroC
Convertidor
Digital//Analgico(D
DAC)comple
etocomolo
mostraamosenlafiggura.

4.
u
etapaa mostramo
os
En esta ultima
nuestrro Converrtidor Analgico/Digitaal
(ADC),, a la cual see le agrego amplificacin
en mo
odo inversor para que la seal sea
positivva y de all a un compaarador la cuaal

noscomparanuestrasealdeentradadel
DACy nuestrovolttajedeentraada,lasalidaa
del com
mparador ess la que noss da el pulso
o
de actiivacin a la LATCH y esta es la quee
da
nuesstra
nos
salid
da
digital.

DiaagramaparaelDA
AC.

33

DiaagramaparaelAD
DC.

34


IM
MPLEMENTA
ACION

Acontinuacin
npresentam
moselcircuito
oimplentado
o
paaraestaprcctica.

REESULTADOS

os
Aconttinuacinpreesentamoslosresultado
btenidos en esta prcticca. Se obserrva la ramp
pa
ob
ob
btenidaporn
nuestroDAC
C.

BIBLIOGRAFIA

1. RUMSEEY,FrancisyMcCORMICK
K,Tim.
Sonidoygrabacin
n.Introducci
nalas
tcnica
assonoras.2
2004.
2. WATKINSON,J.Ela
artedelaudiodigital.
IORTV,Madrid,199
93
3. RoberttF.Coughlin,,Frederick.D
Driscoll,
Amplifi
ficadoresopeeracionalesyycircuito
integra
adoslineales,
s,quintaediccion.
4. http:///www.enteraate.unam.mxx/Articulos/
dos/ab
bril/audiodig.htm
5. http:///www2.canalaudiovisual..com/ezine/
books//acjirINFORM
MATICA/3info
o01.htm

Autor:

Pab
bloGonzalessVellano.

35

Cuestionario.

Tema:MecnicaClsica.LaFuerzadeGravedad.

Para Newton la gravedad es un caso

tiempo curvo. As, los cuerpos, bajo la

particular de la fuerza que al actuar

accin

sobre la masa inercial de un cuerpo lo

esttico, sin gravitones y velocidad,

acelera. La fuerza de gravedad, que al

inercialmente

menos obra entre dos cuerpos, acta

aceleracin

sobre

gravitacionales

geodesias de la curvatura del espacio-

instantnea y a distancia, en un espacio

tiempo de una regin local, que los

tridimensional

tiende a unir en su centro de masas.

sus

masas

plano

absoluto

de

un

campo

se

uniforme,

gravitatorio

mueven,
dentro

con
de

las

independiente de un tiempo absoluto


uniforme

hace

que

los

cuerpos

aceleren hacia cada otro.

Para los fsicos cunticos la gravedad es


la fuerza de interaccin, entre cuerpos,
que

acta

gravitatorio

travs

esttico,

del

campo

compuesto

de

gravitones virtuales, emitidos de su


masa-energa y viajan cerrados a c.

En la Relatividad General la inercia, del


espacio plano, se generaliza al espacio-

Acontinuacinpresentamosunasseriedepreguntasparaquelasmeditesypiensesun
poco,resulvelasyverasqueserentretenido.
Noesnecesariohaceroperaciones,slotienesquepensaryrazonarsinestresarte.
Suerte!

36


Pregunta1:QusucederasiustedhoradaraunhuecodesdeelPoloNortehastael
PoloSur,ydejaracaerunaboladentrodelhueco?

37


Pregunta2:Siusteddispararaunaboladirectamentehaciaarriba(a90gradosdel
horizonte),yunabalaaunngulode45gradosdelhorizonte,cultocaraelsuelo
primero?

38


Pregunta3:SiustedpudierahacergirarlaTierracincovecesmsdeprisaquesu
rotacinactualdeunavueltadiaria,aumentaranotablementelagravedad?

39

Pregunta 4: Si usted dejara caer una


bola desde una altura de 3 metros, y
simultneamente disparara una bala
paralela al horizonte, cul llegara
antesalsuelo?

40

También podría gustarte