<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Helvetica;
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
span.apple-converted-space
{mso-style-name:apple-converted-space;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=FR-CA link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Hi Ben,<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-CA style='mso-fareast-language:EN-US'>I like your suggestion about using cheap microcontrollers on a SPI bus.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='mso-fareast-language:EN-US'>Thanks !<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=FR>De :</span></b><span lang=FR> Ben Stuyts <ben@stuyts.nl> <br><b>Envoyé :</b> 16 août 2022 07:47<br><b>À :</b> Jean-Pierre Desrochers <jpdesroc@oricom.ca><br><b>Cc :</b> Synth-diy Mailing List <synth-diy@synth-diy.org><br><b>Objet :</b> Re: [sdiy] Reading IR phototransistors in a 8X8 matrix<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Ok, I thought I’d mention the PlaySK project in case you missed it.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>About your plan with a matrix of phototransistors, how about this variation: You will <span style='color:black'>basically</span> have 90 phototransistors in a long row. So you will need a long pcb anyway. Why not get some 8-bit or 16-bit shift registers (parallel -> serial) and put them on the pcb? That way you have easier routing, and you can latch every phototransistor at exactly the same time. So no timing/jitter worries. Another variation would be using a bunch of (cheap) microcontrollers, bus them through SPI bus, and connect each phototransistor to and ADC input. That would also be great for calibrating the response curve.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Ben<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal><br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On 16 Aug 2022, at 01:57, Jean-Pierre Desrochers <<a href="mailto:jpdesroc@oricom.ca">jpdesroc@oricom.ca</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span lang=EN-CA>Yes I know that project..<br>But I want a self running unit (no PC needed).<br>Stuff that I’ll use:</span><o:p></o:p></p></div><div><p class=MsoNormal><b><span lang=EN-CA>Microchip uPC</span></b><o:p></o:p></p></div><div><p class=MsoNormal><b><span lang=EN-CA>MP3 player to play the paper roll notes (88 playable ‘Honkytonk piano’ wavefiles) on stereo audio outputs</span></b><o:p></o:p></p></div><div><p class=MsoNormal><b><span lang=EN-CA>MIDI output for any external device.. like a synth for instance !</span></b><span lang=EN-CA><br><br><br></span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA>I think so far the matrix way to read the notes could be the easiest way<br>with the less components used.</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA> </span><o:p></o:p></p></div><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><div><p class=MsoNormal><b><span lang=FR>De :</span></b><span class=apple-converted-space><span lang=FR> </span></span><span lang=FR>Ben Stuyts <<a href="mailto:ben@stuyts.nl">ben@stuyts.nl</a>><span class=apple-converted-space> </span><br><b>Envoyé :</b><span class=apple-converted-space> </span>15 août 2022 19:05<br><b>À :</b><span class=apple-converted-space> </span>Jean-Pierre Desrochers <<a href="mailto:jpdesroc@oricom.ca">jpdesroc@oricom.ca</a>><br><b>Cc :</b><span class=apple-converted-space> </span><a href="mailto:Synth-diy@synth-diy.org">Synth-diy@synth-diy.org</a><br><b>Objet :</b><span class=apple-converted-space> </span>Re: [sdiy] Reading IR phototransistors in a 8X8 matrix</span><o:p></o:p></p></div></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Have you seen this project? It uses a webcam to read the piano roll:<o:p></o:p></p></div><div><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><p class=MsoNormal><a href="https://github.com/nai-kon/PlaySK-Piano-Roll-Reader">https://github.com/nai-kon/PlaySK-Piano-Roll-Reader</a><o:p></o:p></p></div></div><div><div><p class=MsoNormal><a href="https://www.youtube.com/watch?v=8lkMRsoG9cg">https://www.youtube.com/watch?v=8lkMRsoG9cg</a><o:p></o:p></p></div></div><div><div><p class=MsoNormal> <o:p></o:p></p></div></div><div><div><p class=MsoNormal>Ben<o:p></o:p></p></div></div><div><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><p class=MsoNormal><br><br><br><o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><div><p class=MsoNormal>On 15 Aug 2022, at 21:00, Jean-Pierre Desrochers <<a href="mailto:jpdesroc@oricom.ca">jpdesroc@oricom.ca</a>> wrote:<o:p></o:p></p></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><div><p class=MsoNormal><span lang=EN-CA>I'm designing a piano Roll reader/player (yes antique paper piano rolls !)<br>that will read holes on a scrolling paper and play the actual musical notes<br>using MIDI standards..<br>This has already been done in the past but with very few documentations left<br>for DIYers like me.</span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA>So.. I'm thinking of using IR (940nm) LEDs, phototransistors and aligned short optical fibers<br>to read the actual scrolling holes. 90 phototransistors will be used as 'bit' readers.<br>I would use IR because paper is mostly opaque to 940nm wavelength<br>compared to visible light that could get through it.</span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA>Because of that high quantity of PT’s to be read I was thinking of using<br>rows/columns matrix of switches like keyboards in synths like this:</span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA> </span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA><image004.png></span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA>But instead of switches like in this circuit I would use 2 pins phototransistors like this one:<br><image001.png><br><br><br><br></span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA>The resistors could be around 10K and this configuration would use only 2 x 8 bits ports.</span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA>But I was wondering about using PT’s in a matrix like that would bring glitches or noise</span><o:p></o:p></p></div></div><div><div><p class=MsoNormal><span lang=EN-CA>In the CPU readings..<span class=apple-converted-space> </span><br>Has anybody used PT’s in such a circuit ?</span><o:p></o:p></p></div></div><div><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Helvetica",sans-serif'>_______________________________________________<br>Synth-diy mailing list<br></span><a href="mailto:Synth-diy@synth-diy.org"><span style='font-size:10.5pt;font-family:"Helvetica",sans-serif'>Synth-diy@synth-diy.org</span></a><span style='font-size:10.5pt;font-family:"Helvetica",sans-serif'><br></span><a href="http://synth-diy.org/mailman/listinfo/synth-diy"><span style='font-size:10.5pt;font-family:"Helvetica",sans-serif'>http://synth-diy.org/mailman/listinfo/synth-diy</span></a><span style='font-size:10.5pt;font-family:"Helvetica",sans-serif'><br>Selling or trading? Use<span class=apple-converted-space> </span></span><a href="mailto:marketplace@synth-diy.org"><span style='font-size:10.5pt;font-family:"Helvetica",sans-serif'>marketplace@synth-diy.org</span></a><o:p></o:p></p></div></div></blockquote></div></div></div></div></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></body></html>