Bygga en MIDI-blockflöjt?
Re: Bygga en MIDI-blockflöjt?
Är det mycket som ska drivas då? Tycker inte det borde dra så mycket ström eller? Mät spänningen på väggvårtan innan du kopplar in den för säkerhets skull.
Re: Bygga en MIDI-blockflöjt?
10 reflexdetektorer. De har en IR-lysdiod och en IR-diod i sig vardera. en 16 port mux och så blåssensorn. Seriekommunikation (MIDI) Vet inte hur mycket det säger utan databladen/modelbeteckningar. Men det är i minimifallet.
Sedan är jag rätt sugen på att slänga in någraa potentiometrar för att kunna tweaka några parametrar under drift.
Sedan är jag rätt sugen på att slänga in någraa potentiometrar för att kunna tweaka några parametrar under drift.
Re: Bygga en MIDI-blockflöjt?
OK. Ja det är klart... men min MIDI-kontroller (Edirol PCR-30) drivs med USB och den har 16 potar, 16 LED, 7-segment display och säkert en del elektronik inuti för att sköta tangenterna m.m.
Re: Bygga en MIDI-blockflöjt?
Då kanske jag klarar mig ändå.
I dag har jag labbat mer och kommit fram till att LDR inte är så dumt trots allt.
Jag kopplade upp både reflexdetektor och LDR i liknande kretsar och gjorde "hålsimuleringar".
När Arduinon läser analoga signaler mellan 0 och 5V får man ett värde mellan 0 och 1023 i koden.
Med reflexdetektor fick jag först inget mätresultat alls, men efter att jag ökat från 10kOhm i serie med fotodioden till 30kOhm lyckades jag få värden mellan 0 och 5 i Arduinon. Då Arduinon egentligen vill hålla sig under 10kOhm impedans i analogmätningar är det väl inte helt optimalt. Det gick att få bättre resultat om man täckte över sensorn med vitt papper och ännu bättre med staniol (från chokladkakan jag åt medan jag funderade), men det blir ju inte speciellt praktiskt i verkligheten.
Med LDR (Electrokits 5-8kOhm med metalhölje) fick jag värden mellan 5 och 35, i mitt skumt upplysta vardagsrum.
--
Jag skall klura lite, kanske kan man få upp utfallet från reflexdetektorn med enkla medel på något sätt. Annars blir det LDR i första prototypen. De är i vilket fall enklare att ha att göra med, hälften så många lödningar, dvs hälften så många ställen att göra fel på.
I dag har jag labbat mer och kommit fram till att LDR inte är så dumt trots allt.
Jag kopplade upp både reflexdetektor och LDR i liknande kretsar och gjorde "hålsimuleringar".

När Arduinon läser analoga signaler mellan 0 och 5V får man ett värde mellan 0 och 1023 i koden.
Med reflexdetektor fick jag först inget mätresultat alls, men efter att jag ökat från 10kOhm i serie med fotodioden till 30kOhm lyckades jag få värden mellan 0 och 5 i Arduinon. Då Arduinon egentligen vill hålla sig under 10kOhm impedans i analogmätningar är det väl inte helt optimalt. Det gick att få bättre resultat om man täckte över sensorn med vitt papper och ännu bättre med staniol (från chokladkakan jag åt medan jag funderade), men det blir ju inte speciellt praktiskt i verkligheten.
Med LDR (Electrokits 5-8kOhm med metalhölje) fick jag värden mellan 5 och 35, i mitt skumt upplysta vardagsrum.
--
Jag skall klura lite, kanske kan man få upp utfallet från reflexdetektorn med enkla medel på något sätt. Annars blir det LDR i första prototypen. De är i vilket fall enklare att ha att göra med, hälften så många lödningar, dvs hälften så många ställen att göra fel på.
Re: Bygga en MIDI-blockflöjt?
Riktigt kul att min idé verkar funka! Då är jag inte så dum som jag ser ut 

Re: Bygga en MIDI-blockflöjt?
I går kom de nya blåssensorerna från ELFA, och idag gjorde jag en första provuppkoppling med dem. Besvikelsen är stor.
Det är ju fullt möjligt att jag gör något handhavandefel, men ändå...
Det är 73-976-75 som det är frågan om.
Den har två pinnar som heter " exc " i pinouten på databladet på dem har jag kopplat i 0V och 5V.
Vidare har den två pinnar som heter "out -" och "out +", på en av dem har jag kopplat analogingången på Arduinon.
Arduinon mappar 0-5V som 0-1023 i A/D-omvandlaren i analogingången.
Blåser jag inte alls får jag 511, tar jag i för kung och fosterland får jag 513. (Att suga ger 508, så tydligen är jag bättre på undertryck än övertryck.)
Det funkar mao, typ. För att det skall bli användbart måste jag kunna få ut fler grader av blåsande.
Lite grova överslag i huvudet ger att jag påverkar spänningen med stoleksordningen 5mV eller i några Ohm hit eller dit.
Kan jag på något enkelt sätt omvandla det till större utslag?
Av bilden i databladet ser det ut som om om man skulle kunna använda sensorn som ett "blåsmotstånd" genom att koppla mellan en exc och en out. Om jag mäter mellan en sådan och en fast mindre resistor kanske man kan få lite större utslag.
Lyckas jag inte klura ut det får jag kanske krypa till korset och börja fundera i andra banor. Det kom ju några förslag på halvmekaniska lösningar för tryckläsningen. Problemet med dem är avsaknaden av verkstad och den mitt i handen placerade tummen.
Det är ju fullt möjligt att jag gör något handhavandefel, men ändå...
Det är 73-976-75 som det är frågan om.
Den har två pinnar som heter " exc " i pinouten på databladet på dem har jag kopplat i 0V och 5V.
Vidare har den två pinnar som heter "out -" och "out +", på en av dem har jag kopplat analogingången på Arduinon.
Arduinon mappar 0-5V som 0-1023 i A/D-omvandlaren i analogingången.
Blåser jag inte alls får jag 511, tar jag i för kung och fosterland får jag 513. (Att suga ger 508, så tydligen är jag bättre på undertryck än övertryck.)
Det funkar mao, typ. För att det skall bli användbart måste jag kunna få ut fler grader av blåsande.
Lite grova överslag i huvudet ger att jag påverkar spänningen med stoleksordningen 5mV eller i några Ohm hit eller dit.
Kan jag på något enkelt sätt omvandla det till större utslag?
Av bilden i databladet ser det ut som om om man skulle kunna använda sensorn som ett "blåsmotstånd" genom att koppla mellan en exc och en out. Om jag mäter mellan en sådan och en fast mindre resistor kanske man kan få lite större utslag.
Lyckas jag inte klura ut det får jag kanske krypa till korset och börja fundera i andra banor. Det kom ju några förslag på halvmekaniska lösningar för tryckläsningen. Problemet med dem är avsaknaden av verkstad och den mitt i handen placerade tummen.
- Klas-Kenny
- Inlägg: 11825
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Bygga en MIDI-blockflöjt?
Databladet säger att den ska ge ut mellan 70 och 130mV. Kan det vara så att du har 5v som referensvärde i din A/D-konvertering? I så fall borde det bli väldigt mycket noggrannare med t.ex. 150mV som referens.
Re: Bygga en MIDI-blockflöjt?
Det känns som att du kanske kommer att behöva förstärka skillnaden mellan out- och out+ för att få ut nåt bra.
Du kan prova mäta spänningsskillnaden mellan dom två i viloläge resp. full blås med multimeter om du har någon (vilket du borde!).
Du kan prova mäta spänningsskillnaden mellan dom två i viloläge resp. full blås med multimeter om du har någon (vilket du borde!).
Re: Bygga en MIDI-blockflöjt?
http://www.arduino.cc/en/Reference/AnalogReference
Minnsan, man kan ändra vad den använder som referens. Det måste jag testa nästa gång jag sätter mig och labbar.
Jo, jag har en multimeter, så jag skall testa att mäta mellan out + och out -. Nu körde jag mellan out + och 0V. Jag tänker mig att jag borde få dubbelt så stort utslag om jag gör på det förstnämnda sättet istället. Men om jag fattat det där med referensspänning rätt så utgör referensen "max" och 0V "min" och när man mäter så får man veta var man ligger mellan dessa två max och min värden. Om jag då skall mäta mellan out+ och out-, hur gör man för att flytta så att out- blir 0V?
Minnsan, man kan ändra vad den använder som referens. Det måste jag testa nästa gång jag sätter mig och labbar.
Jo, jag har en multimeter, så jag skall testa att mäta mellan out + och out -. Nu körde jag mellan out + och 0V. Jag tänker mig att jag borde få dubbelt så stort utslag om jag gör på det förstnämnda sättet istället. Men om jag fattat det där med referensspänning rätt så utgör referensen "max" och 0V "min" och när man mäter så får man veta var man ligger mellan dessa två max och min värden. Om jag då skall mäta mellan out+ och out-, hur gör man för att flytta så att out- blir 0V?
Re: Bygga en MIDI-blockflöjt?
Du kan använda en differentialförstärkare. Men prova sänk referensen först, det kanske räcker.
Re: Bygga en MIDI-blockflöjt?
Vissa processorer har differentiella ingångar och inbyggt förstärkarsteg, men det gäller bara Attiny, inte ATmega. Så att sänka referensspänningen här kanske inte funkar så jättebra.
Nu är jag tveksam till att processorn kan ha en lägre referensspänning än 1 volt... Vissa processorer är värre och klarar bara ner till ca 2.5 volt tror jag, innan konstiga fel uppstår. (gäller bara externa referenser). Det ska stå nånstans i slutet av databladet, under "elektriska egenskaper" tror jag.
Men man ska nog inte förvänta sig att man kan koppla vad som helst rakt in på en processorpinne och få bra mätresultat. Det krävs ofta lite analog elektronik emellan. I det här fallet lite förstärkning av signalen. Sätt dit en OP med VCC/2 som referens: Köp två motstånd på 10k och 0.1% tolerans, koppla mellan +5v och GND så du får ut 2.5 volt . minska brus med en keramisk kondensator på 330 nF. Sen fixar du lämplig förstärkning på din OP kanske 100 ggr. DU bör få ut ett värde mellan ca 512 och 700 när du blåser.
Nu är jag tveksam till att processorn kan ha en lägre referensspänning än 1 volt... Vissa processorer är värre och klarar bara ner till ca 2.5 volt tror jag, innan konstiga fel uppstår. (gäller bara externa referenser). Det ska stå nånstans i slutet av databladet, under "elektriska egenskaper" tror jag.
Men man ska nog inte förvänta sig att man kan koppla vad som helst rakt in på en processorpinne och få bra mätresultat. Det krävs ofta lite analog elektronik emellan. I det här fallet lite förstärkning av signalen. Sätt dit en OP med VCC/2 som referens: Köp två motstånd på 10k och 0.1% tolerans, koppla mellan +5v och GND så du får ut 2.5 volt . minska brus med en keramisk kondensator på 330 nF. Sen fixar du lämplig förstärkning på din OP kanske 100 ggr. DU bör få ut ett värde mellan ca 512 och 700 när du blåser.
Re: Bygga en MIDI-blockflöjt?
E85: Jag tog en sväng inom ELFA.se nu på morgonen, men kategorin differentialförstärkare är helt tom, misstänker något fel i deras webserver. Kollade dock upp differentialförstärkare i wikipedia, och det verkar ju som om de kan lösa mitt problem. Tack för tipset.
Re: Bygga en MIDI-blockflöjt?
jesse: Tack, det verkar ju också vara en tänkbar lösning. Var i kedjan stoppar man in kondensatorn för att bli av med bruset? (Jag är fullständig novis på elektronikområdet så en pekning till en bra sida eller möjligen bok där jag kan läsa på om ämnet uppskattas.)
Re: Bygga en MIDI-blockflöjt?
> Vissa processorer har differentiella ingångar och inbyggt förstärkarsteg, men det gäller bara Attiny, inte ATmega
Det finns på en del mega också. T.ex. ATMega164P-familjen
Det finns på en del mega också. T.ex. ATMega164P-familjen
eller mega128– 8-channel, 10-bit ADC
Differential mode with selectable gain at 1x, 10x or 200x
för att nämna några. Men tyvärr inte i mega168-familjen som används i Arduinos.– 8-channel, 10-bit ADC
8 Single-ended Channels
7 Differential Channels
2 Differential Channels with Programmable Gain at 1x, 10x, or 200x