Sure, it is a proof-of-concept, not a product. I'm quite sure that 100, maybe
500 bytes per second are possible, but the firmware needs to use a diferent
approach.
This list is about libraries, and what you need is not easily or efficiently
realised as a library, it's a project. I have some ideas how the coding and
decoding could be done efficiently, but I presume I wouldn't use any library
for that at all. So it wouldn't even make a good example for jallib ;-)
Let me think a bit about designing the 8 pin encoder and decoder...
Greets,Kiste
Am Sonntag, 27. Februar 2022, 10:43:06 MEZ hat hans
<[email protected]> Folgendes geschrieben:
HI Kiste
Unfortunately that is way too slow. I need to send and read a set of at least 9
bytes with an interval of no more than 3 seconds.
regards
Hans
Op zondag 27 februari 2022 om 08:45:40 UTC+1 schreef Kiste:
Hi Hans,
sorry for chiming in again with another warning: Rob called the set of programs
a "proof of concept", that is, it is not fit yet for your original idea. The
design of the receiving program is *guaranteed*not*to*work* at a speed faster
than 5 baud. I'd estimate, you could have serial data at 1 or 2 baud. That is
five to ten seconds for one byte.
Good thing is: You don't have to worry about mp3 at such a speed. The
compression will not interfere with data sent that slow.
Greets,Kiste
Am Samstag, 26. Februar 2022, 19:32:09 MEZ hat hans
<[email protected]> Folgendes geschrieben:
Hi Kiste, Rob,I did en compiled the programs. Now`the next days ( inspite of
carnaval) at work hans. Great
Op zaterdag 26 februari 2022 om 17:22:57 UTC+1 schreef Kiste:
Hi Hans,
of course you can try, and it will work up to a certain speed.
The 12F683 should work quite the same, but the oscillator speed setting is
different. So you would have to...
- include the correct device file.
- comment out the line "pragma target IOSCFS F8MHZ ..."- add a line
"OSCCON_IRCF=0b111"
Then, the input of Timer1 needs a voltage that goes higher than 2/3 of the
supply voltage. With audio equipment, you'll need a speaker output to reach
such levels. Use a resistor (about 1k to 10k) between (+) of the speaker output
and the chip's input pin. (-) of the speaker output must be connected to GND of
the PIC. Be careful *NOT* to power the amplifier and the PIC from the same
power supply device! The amplifier must be linear, a class-D amp will not work.
Greets,Kiste
Am Samstag, 26. Februar 2022, 16:39:20 MEZ hat hans
<[email protected]> Folgendes geschrieben:
Hi,I can try it right? Otherwise I can also take another player that can
handle WAV.
Unfortunately I only have some 12F683 lying around, the 12f615 which Rob used
I do not know..regardshans
Op zaterdag 26 februari 2022 om 15:43:26 UTC+1 schreef Kiste:
Oh... MP3 is terrible for digital data. If you can't use wav or another
lossless format, make sure to use the highest possible bitrate. Also, that's
another point not to record square waves, sine waves go through mp3 far better.
However, crosstalk is less of a problem then :-)
Greets,Kiste
Am Samstag, 26. Februar 2022, 15:30:03 MEZ hat hans
<[email protected]> Folgendes geschrieben:
Here I am again. I don't use a cassette deck. After I have finished the
audio/command files I just put them in MP3 on the well-known player.
Wow, now trying Rob's test, but it will take me some time. Anyway fantastic
again!!
regards
Hans
Op zaterdag 26 februari 2022 om 12:02:49 UTC+1 schreef [email protected]:
Hi Hans,
I tested my proof of concept. I also attached the programs I used. In the given
video you see the results.
This is how it works and what the video shows:
- The PIC on the left is the transmitter. It uses two inputs (via the wires
that I connect to VCC or GND). One input enables the transmitter (orange wire),
that is it starts sending a tone. With the second input (green wire) I can
switch between a low tone and a high tone.
- The PWM output of the transmitter (PIC on the left) is connected to the
timer/counter input of timer 1 of the receiver PIC (PIC on the right).
- The PIC on the right resets timer 1 then it starts a measurement for 100
ms after which it stops the measurement. Then it checks the value of timer 1
(which in fact counts the number of 'ticks' generated by the PWM frequency on
its input) within a certain range. If this range is within the range of the low
frequency, it will light up the yellow LED. If this range is within the range
of the high frequence it will light up the green LED. If the counter value is
outside these ranges (e.g. when there is no signal) both LEDs will be off.
I am not sure if this is what you are looking for. I do not know if it also
works if you would record the transmitted signal to a casette tape.
Link to video: https://youtu.be/49DAT0BQuAc
| | Data via ToneFor more information on JAL, visit:
http://justanotherlanguage.org/youtu.be |
Kind regards,
RobVan: [email protected] <[email protected]> namens hans
<[email protected]>
Verzonden: zaterdag 26 februari 2022 11:37
Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] PWM serial audio transmissionHi, I'm using a 16f1827
with 8 ADC inputs that transmits the position of the elements with the help of
a potentiometer via the uart and performs the movements. The audio track is
recorded first and plays normally. At the same time, the control signals on the
other track are sent via the ???????????? included. Afterwards I combine both
tracks into a stereo signal, moving the playback position of the signals
forward a bit to compensate for my reaction slowness. When played afterwards,
the normal audio track goes to the amplifier and the other track to the
??????????? which then performs the movements.
Op zaterdag 26 februari 2022 om 09:34:33 UTC+1 schreef Kiste:
Hi Hans,
that's about what I thought. I'm quite sure it can be done with a pic, one or
two capacitors and three to five resistors (or two resistors and
potentiometers). I'm just not sure yet what the best way would be.
To keep things simple, you would probably want to build a transmitter with
manual controls, and a receiver which controls the actual "show". That way, you
can connect both modules to the tape recorder, and really see what the output
does from tape, while recording the show.
Greets,Kiste
Am Samstag, 26. Februar 2022, 09:04:29 MEZ hat hans <[email protected]>
Folgendes geschrieben:
Hey,
I get the impression that my question has not come across properly. I will use
a regular stereo audio signal. One track contains music, speech and other
normal sounds. The other track I want to use to record commands with which I
can move servos, lights, etc. At first I thought to do this with DTMF but the
MT8880 has died. Then I fiddled with the TCM3105, an old-fashioned modem chip,
but that didn't work either. I then read something about PW application and
hence my question.
I've been messing around with PICs for a long time, but because I'm purely
mechanical by nature, I have to limit myself to what I called LEGO work. You
make the stones and I make grateful use of them.
regards
Hans
Op zaterdag 26 februari 2022 om 07:41:46 UTC+1 schreef vasile:
Rob, obviously will work. :) But it would be weird to use a bunch of external
analog electronics.BTW, with a PIC you can do a class D amplifier... what
perhaps Hans wanted is not far away: sampling and then digitizing via PWM.Other
choices are possible as well. Success on any variant you'll choose!
On Fri, Feb 25, 2022 at 7:58 PM Rob CJ <[email protected]> wrote:
Hi Kiste,
The reason that I think it still might work is because - what I mentioned
previously - is that my Apple II I had built in the past also just worked with
tones to store data (at that time only games🙂).
I copied a pice of the casette interface of the Apple II schematic diagram I
found on the internet. What you see is that with an opamp the audio is input
signal is converted to a digital signal and the rest of the processing is done
in software. There is no special chip on the board to process this data stream.
Also the data out is just a direct output of a flip-flop with some resistors to
reduce the signal outpt but not even a low pass filter.
The variations in cassette speed will result in a variation of the tone so if I
use a tone range to detect the right tone it might work.
Kind regards,
Rob
Van:[email protected] <[email protected]> namens hans
<[email protected]>
Verzonden: vrijdag 25 februari 2022 16:20
Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] PWM serial audio transmission
Hi Vasile,
In my time a birth was still followed by a placenta, nowadays an iphone comes
after.
A long time ago I was infected by Wouter, Jal is even more persistent than
corona, seehttp://www.voti.nl/setalk/n_index.html
regards Hans
Op vrijdag 25 februari 2022 om 13:34:14 UTC+1 schreef vasile:
Hi Hans. Congratulations for your young mind! There aren't many people
programming at your age.You are a great example!
On Fri, Feb 25, 2022 at 10:16 AM hans <[email protected]> wrote:
Hi Vasiele and others.
I was born before the last world war and I suspect most of you after it. I hope
it stays that way!!
Great, I can study today again. Thank you.
Op vrijdag 25 februari 2022 om 06:58:52 UTC+1 schreef vasile:
Kiste, not only the ZX81 but Sinclair Spectrum and most of it's clones did the
same.The biggest problem was the tape speed variation (among the volume
variation which was corrected in romanian clones -and we had more than any, I
recall 5 different types).
Hans, on the actual PIC18 series on which JAL works ( presuming you will do
with JAL) you might have some sampling speed issues. You need at least 7.5us
for an ADC sample and according to Nyquist theorem you need not 2x ( which is
pure theoretical) but at least 4x faster sampling than maximum frequency you
are recording.After your AD is sampled, the PWM is not an issue, but you might
experience a small delay between real recorded speech and the PWM filtered
one.If you plan to add voice for your puppet, then limiting to 4KHz may be a
good choice.
best wishes,
hopefully not WW III, but in pace for playing nice...
On Thu, Feb 24, 2022 at 10:38 PM 'Oliver Seitz' via jallib
<[email protected]> wrote:
Hi Rob,
connecting two PICs is not like an audio recording. Better connect the pic to
your soundcard to record and then playback, that way you'll get something
similar to a tape recorder.
The difficulties when using audio equipment are (at least):
- only alternating current is transmitted- the volume is never exactly the
same- the frequency range is limited to like 100Hz-10kHz- the line level
voltage is less than 1V
Reading should be possible by most PICs which have comparators. Only a
resistor is needed, then you can detect zero crossings.
The Sinclair ZX81 used audio equipment as storage. A burst of three
oscillations coded a zero, five coded a one. The output was low-pass filtered.
You usually had to try loading a program several times, slightly adjusting the
volume, until you got lucky.
Greets,Kiste
Am Donnerstag, 24. Februar 2022, 19:56:01 MEZ hat Rob CJ <[email protected]>
Folgendes geschrieben:
Hi Hans,
If I understand you right the only thing you want to do is to record a signal
or a sequence of signals on a casette player that can be used to trigger
something when the recording is played back right?
If my initial suggestion would work - which may work since I have the idea that
my Apple II did more ore less the same thing - I could give it a try to do a
proof of concept.
I may have a the problem that I do not have a casette recorder but I could fake
it by just connecting two PICs to see if that works. The final test could then
be done by you.
Which PIC type are you using?
Kind regards,
Rob
Van:[email protected] <[email protected]> namens hans
<[email protected]>
Verzonden: donderdag 24 februari 2022 17:07
Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] PWM serial audio transmission Another piece of text:
So far I've done everything with MIDI. I used one midi channel for the actions
with a general command type. Then 2 data, one for the device nr (16) and one
for the command. (0-128)
This has worked well for years, but it does require a complete MIDI sound
package.
Op donderdag 24 februari 2022 om 16:55:46 UTC+1 schreef hans:
Hey ,
I have tried a circuit with an MT8880 but the ICI has failed. I did hear the 16
tones, but when I wanted to receive them, the chip gave up the ghost.
In theory I understand your suggestions well, but developing something like
this is not easy for me. I'm just a LEGO builder.regardsHans
Op woensdag 23 februari 2022 om 19:30:37 UTC+1 schreef [email protected]:
Hi Hans, Kiste,
You can still by DTMF decoders and I assume also DTMF encoders. Just look at
for example Aliexpress and type DTMF.
But another suggestion. Many, many years ago I had built an Apple II and I
used cassette tapes to store and load games which was using tones generated by
the Apple II itself using two tones, one for high, one for low and one as a
lead-in tone (not sure in the lead-in tone was another tone) to synchronze the
start of the recorded program. You would not need this lead-in tone in your case
So I think it may not be that complex:-) For recording on casette, generate
this dual tone by the PIC via PWM or maybe it is also sufficient to generate
one tone in case of a 1 and no tone in case of a 0 but I think this will be
less reliable.-) For playback, measure the length of the recorded PWM tone. If
is is within a certain range you accept it as a one and in case of two tones
the lower tone could be zero and the higher tone is one.
As long as the tone frequency is not too high, I think this could work.
A more advanced solution would be to use a phase locked loop (PLL) but I am not
sure if it will work. The PLL locks to the input signal so the voltage that
controls the oscillator goes up and down to follow (lock on to) the input
signal and this oscillator voltage signal could then be used by a comparator of
the PIC to detect a high or low tone. You can also use the oscillator of the IC
to generate the two tones by controlling the oscillator voltage by the PIC. A
typical IC for that is the HEF4046. I have used this IC many many years ago
too. This solution may be bit over the top since you only want a kind of
trigger signal
But maybe the first solution is more doable. Just give it a try.
Kind regards,
Rob
Van: 'Oliver Seitz' via jallib <[email protected]>
Verzonden: woensdag 23 februari 2022 09:58
Aan: [email protected] <[email protected]>
Onderwerp: Re: [jallib] PWM serial audio transmission Hi Hans,
20 years ago I would have suggested using DTMF, but the decoder chips are rare
these days...
PIC controllers include various peripherals which can be used to encode and
decode DC-free signals (which, apart from the frequency below, say, 10kHz, is
the requirement to be recorded as audio). On/off keying or frequency shift
keying are the easiest, I think. Which chips are you going to use?
Greets,Kiste
Am Mittwoch, 23. Februar 2022, 09:15:43 MEZ hat hans <[email protected]>
Folgendes geschrieben:
Hello everyone,
I have been trying for a long time to place a serial signal on one track of an
audio recording which I can read afterwards. To make all kinds of things happen
at the same time as the audio is played. I have now tried to do this with the
old modem system ( TCM3105) but it failed hopelessly. I read that there are
also systems to do this using PWM. Does anyone have an idea?
regardsHans
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/773ca37b-9bed-4349-a8eb-32a5d8973df6n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/201142693.752814.1645606718467%40mail.yahoo.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/d4803c41-505a-4297-81d5-7be0ef06b112n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/DB6P195MB018301D93CBE73C8A9C74FF0E63D9%40DB6P195MB0183.EURP195.PROD.OUTLOOK.COM.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/1712343432.941652.1645735109957%40mail.yahoo.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/f8c9ab42-0f79-4899-8974-bab64a1785c4n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/068d3769-e491-4f55-9daa-7a2d1e612df8n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/DB6P195MB01832EBF0D9FB18F67DA4BFFE63E9%40DB6P195MB0183.EURP195.PROD.OUTLOOK.COM.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/ee4cce04-b58c-499a-acc0-7f43953ee042n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/ca7dfe38-7c9b-459c-a6d6-fe65fe956a04n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/e8f19d16-fc85-4083-a042-d8bc0964ce87n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/23553571-8a43-4bff-852f-e73b36a96dban%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/b768014a-d232-4be2-a1f5-05723a9aa545n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/dd445521-ca88-4669-8059-59cd460a2273n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/443322645.1528878.1645956996015%40mail.yahoo.com.