[TI-H] Re: [A83] new program


[Prev][Next][Index][Thread]

[TI-H] Re: [A83] new program




The part you are looking for is called a comparator, and you will need to
amplify the signal (with a transistor or op-amp) first. A comparator just
makes inputs below a certain threshold 0, and above that threshold +Vcc.
Outputs are just 1 or 0, nothing between.

However, it won't work. You'll get the funkiest sound imaginable out of this
system, because there will be no dynamic contrasts, just a mix of
frequencies cut off below a certain threshold. It will sound like the robot
from hell, all harmonics and distortion. Sound just wasn't made to be shaped
to a square wave. You will need an ADC, and you'll have to figure out a way
to interface it with the TI, either by straight wiring and software comm, or
some glue logic and a PIC to transmit data to the calc.

If you're using an op-amp, learn the negative feedback circuits used to
calibrate their gain. They're really simple -- the simplest use only two
resistors, nothing more.

--nick

-----Original Message-----
From: ti-hardware-bounce@lists.ticalc.org
[mailto:ti-hardware-bounce@lists.ticalc.org]On Behalf Of Ronald Teune
Sent: Sunday, May 05, 2002 1:10 PM
To: ti-hardware@lists.ticalc.org
Subject: [TI-H] Re: [A83] new program



On/at/with physics class, I learnt a bit electronics, and such an opamp
should amplify the difference with a factor 10000 or so. I thought this was
the way to make a 5V/0V block signal out of a mic input. But it didn't work
out. Rabidcow proposed a transistor, I guess I'll try that.

> Try using a small standalone ADC....i don't think amplification will be
> neessary.
>
> -----Original Message-----
> From: ti-hardware-bounce@lists.ticalc.org
> [mailto:ti-hardware-bounce@lists.ticalc.org] On Behalf Of Tijl Coosemans
> Sent: Saturday, May 04, 2002 2:01 PM
> To: assembly-83@lists.ticalc.org; ti-hardware@lists.ticalc.org
> Subject: [TI-H] Re: [A83] new program
>
>
>
> First guess. A microphone produces an analog signal and the calc's link
> port is a digital I/O.
>
> --
> NO ePATENTS! Freedom for Business, Freedom for Education, Freedom for
> Health! eSign NOW! (http://petition.eurolinux.org/)
>
> > From: "Ronald Teune" <rtwolf@gmx.net>
> >
> > Hi there!
> > Some time ago, someone wanted a microphone recorder thingy for on the
> calc.
> > I thought something like this would do it:
> >
> >    /-|\
> >   |  |+\____ calc
> > mic\ |-/
> >     -|/
> >
> > (a mic on the +/- of an opamp, and the OUT connected to a calc) But it
>
> > didn't work, maybe someone has suggestions. Anyway, while
> > experimenting a little more, this program came out (it's called a
> > graphic analyzer, isn't it?) (see below) It's not very speed
> > optimized, but it does show both the calc lines quite fast. Maybe
> > someone finds a use for it :)
> >
> > Greetings,
> >        Ronald Teune
> >        Illitterate?
> >        Write to us now for free help!
> >        http://zeekoe.cjb.net
> >        http://nietszeggend.cjb.net
> >
> > .nolist
> > #include "ion.inc"
> > .list
> > #ifdef TI83P
> >         .org    progstart-2
> >         .db     $BB,$6D
> > #else
> >         .org    progstart
> > #endif
> >         ret
> >         jr      nc,begin
> >
> >         .db     "Analyze!",0
> >
> > begin:
> >  ld b,0
> > loop:
> >  in a,(0)
> >  and 3
> >  cp 0
> >  call z,s0
> >  cp 1
> >  call z,s1
> >  cp 2
> >  call z,s2
> >  cp 3
> >  call z,s3
> >  push bc
> >  bcall(_GetCSC)
> >  pop bc
> >  cp $0F
> >  ret z
> >  inc b
> >  ld a,b
> >  cp 95
> >  call z,clrb
> >  jp loop
> >
> > s0:
> >  ld d,0
> >  ld c,10
> >  bcall(_IPoint)
> >  ld c,40
> >  bcall(_IPoint)
> >  ld d,1
> >  ld c,20
> >  bcall(_IPoint)
> >  ld c,50
> >  bcall(_IPoint)
> >  ret
> > s1:
> >  ld d,0
> >  ld c,20
> >  bcall(_IPoint)
> >  ld c,40
> >  bcall(_IPoint)
> >  ld d,1
> >  ld c,10
> >  bcall(_IPoint)
> >  ld c,50
> >  bcall(_IPoint)
> >  ret
> > s2:
> >  ld d,0
> >  ld c,10
> >  bcall(_IPoint)
> >  ld c,50
> >  bcall(_IPoint)
> >  ld d,1
> >  ld c,20
> >  bcall(_IPoint)
> >  ld c,40
> >  bcall(_IPoint)
> >  ret
> > s3:
> >  ld d,1
> >  ld c,10
> >  bcall(_IPoint)
> >  ld c,40
> >  bcall(_IPoint)
> >  ld d,0
> >  ld c,20
> >  bcall(_IPoint)
> >  ld c,50
> >  bcall(_IPoint)
> >  ret
> > clrb:
> >  ld b,0
> >  ret
> > .end
> > END
> >
> >
> >
>
>
>






Follow-Ups: References: