Show Posts
Pages: [1] 2 3 ... 6
1  Using Arduino / Audio / Re: transducers and LONG distance wires on: April 13, 2014, 02:55:10 pm
Either way, digitize it and send the data out using RS485 driver.

I think I need an arduino per sensor, consider distances I'll have..
that way, I can read data with sensor/arduino, then send data with rj45 to the computer. ethernet cat7 is already set up there.
2  Using Arduino / Audio / Re: transducers and LONG distance wires on: April 07, 2014, 02:59:10 pm
What kind of transducers ? just a bare piezo element ? You can only use short wires with that. Perhaps a conditioned signal and coax.
What frequency range would you want ?

low frequencies captation. I have to experiment, but I wouldn't have things greater than 200Hz, imho.
anyway, I would use something different than arduino. I'd need a bigger sampling rate.
3  Using Arduino / Audio / transducers and LONG distance wires on: April 06, 2014, 05:00:15 pm
hi there,

I'd like to know the constraints of long distance wires when we use transducers (I mean piezo).

I'd like to capture vibrations of some parts of a (small) building and I'd need LONG wires.
How can we handle this ?


all infos could be interesting,
4  Forum 2005-2010 (read only) / Syntax & Programs / Re: monome protocol on: May 31, 2008, 04:04:55 pm
melka, do you use RGB leds ?
5  Forum 2005-2010 (read only) / Syntax & Programs / Re: Multiplex MAX72xx Code on: May 31, 2008, 12:54:05 pm
hello Steffensen & BroHogan,

I add the same result for 2 colors without ISR, for only 3x2 matrix.
Code:
int sizeX = 3;
int sizeY = 2;
 
int bitTable[8]={ 128, 64, 32, 16, 8, 4, 2, 1 };
 
int dataIn = 5;
int load = 6;
int clock = 7;
 
int maxInUse = 3;    //change this variable to set how many MAX7219's you'll use
 
int e = 0;           // just a varialble
 
                    // define max7219 registers
byte max7219_reg_noop        = 0x00;
byte max7219_reg_digit0      = 0x01;
byte max7219_reg_digit1      = 0x02;
byte max7219_reg_digit2      = 0x03;
byte max7219_reg_digit3      = 0x04;
byte max7219_reg_digit4      = 0x05;
byte max7219_reg_digit5      = 0x06;
byte max7219_reg_digit6      = 0x07;
byte max7219_reg_digit7      = 0x08;
byte max7219_reg_decodeMode  = 0x09;
byte max7219_reg_intensity   = 0x0a;
byte max7219_reg_scanLimit   = 0x0b;
byte max7219_reg_shutdown    = 0x0c;
byte max7219_reg_displayTest = 0x0f;
 
void putByte(byte data) {
  byte i = 8;
  byte mask;
  while(i > 0) {
    mask = 0x01 << (i - 1);      // get bitmask
    digitalWrite( clock, LOW);   // tick
    if (data & mask){            // choose bit
     digitalWrite(dataIn, HIGH);// send 1
    }else{
     digitalWrite(dataIn, LOW); // send 0
    }
    digitalWrite(clock, HIGH);   // tock
    --i;                         // move to lesser bit
  }
}
 
void maxSingle( byte reg, byte col) {    
//maxSingle is the "easy"  function to use for a     //single max7219
 
  digitalWrite(load, LOW);       // begin    
  putByte(reg);                  // specify register
  putByte(col);//((data & 0x01) * 256) + data >> 1); // put data  
  digitalWrite(load, LOW);       // and load da nuts
  digitalWrite(load,HIGH);
}
 
void maxAll (byte reg, byte col) {    // initialize  all  MAX7219's in the system
  int c = 0;
  digitalWrite(load, LOW);  // begin    
  for ( c =1; c<= maxInUse; c++) {
  putByte(reg);  // specify register
  putByte(col);//((data & 0x01) * 256) + data >> 1); // put data
    }
  digitalWrite(load, LOW);
  digitalWrite(load,HIGH);
}
 
void maxOne(byte maxNr, byte reg, byte col) {    
//maxOne is for adressing different MAX7219's,
//whilele having a couple of them cascaded
 
  int c = 0;
  digitalWrite(load, LOW);  // begin    
 
  for ( c = maxInUse; c > maxNr; c--) {
    putByte(0);    // means no operation
    putByte(0);    // means no operation
  }
 
  putByte(reg);  // specify register
  putByte(col);//((data & 0x01) * 256) + data >> 1); // put data
 
  for ( c =maxNr-1; c >= 1; c--) {
    putByte(0);    // means no operation
    putByte(0);    // means no operation
  }
 
  digitalWrite(load, LOW); // and load da nuts
  digitalWrite(load,HIGH);
}
 
 
void setup () {
  pinMode(dataIn, OUTPUT);
  pinMode(clock,  OUTPUT);
  pinMode(load,   OUTPUT);
 
//initiation of the max 7219
  maxAll(max7219_reg_scanLimit, 0x07);      
  maxAll(max7219_reg_decodeMode, 0x00);  // using an led matrix (not digits)
  maxAll(max7219_reg_shutdown, 0x00);    // not in shutdown mode
  maxAll(max7219_reg_displayTest, 0x00); // no display test
   for (e=1; e<=8; e++) {    // empty registers, turn all LEDs off
    maxAll(e,0);
  }
  maxAll(max7219_reg_intensity, 0x0f & 0x0f);    // the first 0x0f is the value you can set
                                               // range: 0x00 to 0x0f
 //Reset();
}  
 
void loop () {

// a little pattern very ugly
// it will be replace by a big function to update the matrix from serial messages sent from Max/msp to the board!
maxOne(1,1,128);
maxOne(1,2,64);
maxOne(2,1,32);
maxOne(2,2,190);

 
WakeUpR();
ShutdownR();
WakeUpB();
ShutdownB();
 
}
 
void ShutdownR()
{
  maxOne(1,max7219_reg_shutdown, 0x00);
}
 
void ShutdownB()
{
  maxOne(2,max7219_reg_shutdown, 0x00);
}
 
 
void WakeUpR()
{
  maxOne(1,max7219_reg_shutdown, 0x01);
}
 
void WakeUpB()
{
  maxOne(2,max7219_reg_shutdown, 0x01);
}

I'm sure ISR would be cleaner and more efficient.
But I DON'T have any flicker or very bad effects
It works fine

But the target is 8x8.
Do you think the fact the matrix is greater could create problems?


I tested this code with 3 colors... doesn't work  :o :o probably my messsssy breadboard  ;D
6  Forum 2005-2010 (read only) / Interfacing / Re: arduino simulator on: April 22, 2008, 03:29:35 pm
Quote
Check this project: http://www.fritzing.org/
it isn't a simulator
only a circuit designer ... but very very powerful, export pcb etc
VERY nice project

but not a simulator  :'(
7  Forum 2005-2010 (read only) / Development / new project/architecture questions on: January 15, 2011, 03:58:04 pm
hello,
I begin a project of sound machine.
I'd need to target the optimal micro-controller for this.
I'd probably build my PCB.

The project requires few buttons, few leds, 1 LCD and severa potentiometers. I/O aren't the main constraint ; I can use mux/demux too.

The main constraint is I want to use 2 sound creation mode:
- based on digital synthesis (algorithms making sounds rock !)
- based on audio samples stored inside a memory (?) and which could be replaced through an interface offered with the machine (interface would be a Max5 patch probably)

any ideas? thoughts?

all the best,
julien
8  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 19, 2008, 10:29:06 am
I probably disturbed people with my posts... I'm sorry  :'(
But I'm a little bit lost.

Of course I'm free, as everyone of us, to try what I want to smiley-wink
But if I share, ask, write, the reason is: I need some help.
I studied your answers. Of course, I'm not a specialist of this domain of knowledge. So, I probably asked the same kind of questions more than one times...
please, be indulgent  8-)

so, what do you think about the last solution with the wiring board?
Is it a way?
I ask that in order not to damage my board & to share my ideas too


Quote
to the embarrassing extent that I sound like I'm promoting it.
I don't understand
9  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 19, 2008, 09:18:17 am
Another idea.

as I own a Wiring Board which own itself: 48 ports DIN/DOUT.
let's read here
for one column in the sparkfun matrix PCB (the one with buttons..): 3 anodes.
for 8 columns: 3x8=24 anodes

for one line 1 pin with all the cathodes connected.
for 8 lines : 8 pins used.

8 + 24 = 32 pins needed.

Could it be possible to use only the board to drive the matrix ?
Digital Pins in "IN" mode for the DIG
Digital Pins in "OUT" mode for the SEG
 etc etc

Does it mean something?
I may have too much current to the DIN...

10  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 19, 2008, 08:08:15 am
BroHogan,

1 case (in my little head)
I use 3 max7221, one for each color.
in a column: all the same color are connected (PCB) and for one color, SEGDP to SEGA for the respective max are connected... ok.
in a line, all the ground are connected and for that line, all the max are connected on DIG0 to DIG7.
it means all the DIG are shared.
does it work ?
do I have to use cycling of the max in order to power off cyclicly one max at a time ?
(your tips about extern word works but the lib requires wiring.h... strange!)

2nd case (in my still little head  smiley-razz ) : the case steffensen and I has discussed:
I use 3 max7221, one for each color.
in a column: all the same color are connected (PCB) and for one color, SEGDP to SEGA for the respective max are connected... ok, all the same as in the first case!
in a line, all the ground are connected ; for each line: only one max is connected on DIG0 to DIG7....
does it work ? I guess it is impossible.

others cases: transistor to avoid DIG/dink sharing
no schematics in my head
but unsped may know more about that smiley
it is a thing like that: transistor are remoted by a max or the arduino to shutdown and power on the DIGs cyclically
11  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 19, 2008, 06:21:52 am
steffensen,

2 hypothesis:
- as i described: only one max is connected to the lines (I guess it is impossible to drive the color on the other lines)
- as you describe: all the max are connected to lines (DIG0 for R linked to DIG0 for G and for B .... the whole connected to line 0 (seems impossible as the guys wrote=> they use cycling or other method)

...
asap, i'll test it at home!!!


Quote
I dont see why 3 chips cant share the same GND row?
Do you mean the row would take too much incoming current?

probably too much current...

transistors could help
or
cycling


I guess... not sure!
12  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 18, 2008, 03:30:22 pm
Hi BroHogan,
I'll test it asap.

A guy has suggested another way...
I (and probably he) just would like to know your opinions about that:

3 MAX7221, one for each color R G & B.
on a line : all the GND (cathode leg of leds) are connected.
seg connections:
SEG1 for maxR connects the R legs of leds on a column
SEG2 for maxR etc etc... ... ...
same things for the G and B on the maxG and maxB
dig connections:
first line, gnd is connected to only one of the max7221 on the DIG0 (the maxR for instance)
second line, to DIG1 on the maxR
etc etc til DIG7 for 8th line!

does it be a way? I guess it is impossible..
because how could we "close" the circuit with only one max connected via DIG0 to DIG7  to lines 1 to 8 ....


Am I wrong?
13  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 18, 2008, 03:46:07 am
Quote
OK Bro, have got the blues up and running and have been poking around with Frequency lib. Results are encouraging but not perfect. Key facts:
  • The interrupts seem to interfere with the update cycle to the matrix which seems to be causing the glitches.
  • Turning off the interrupts during updates kills glitches but means a noticeable dead space/flicker during matrix update. I will see in the next couple of days if a clock boost transistor cures this.
  • Otherwise the interrupt seems to work fine and flickerfree the rest of the time as long as the matrix update doesn't happen too often.
  • RGBFTW!
  • FrequencyTimer2 throws a compile error in the Ard 11 environment. Something about the interrupt function being prev. declared as C++.

Next I'm gonna try the clock boost and adding a decent power rail to eliminate that as a factor but it may be the update takes too long to ever work. Pertinent code below:


the error compilation with frequency2 stucks me!
can someone help me ?

other question:
is there another solution with the sparkfun PCB + RGB Leds + MAX7221 ??

it seems a lot of guys did that, but not share their knowledge  :'( :'( :'(
bouhhh.. I'm really crying!
14  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 11, 2008, 03:16:04 pm
other ideas, schematic here:
http://forum.sparkfun.com/viewtopic.php?t=10617
15  Forum 2005-2010 (read only) / Interfacing / Re: ArDeci -> MAX7219 (x3) -> RGB 8x8 LED Matrix p on: May 09, 2008, 05:19:20 pm
Quote
julienb

What I was describing in my last post here is the 2nd option that "unsped" mentions - "the more advanced option . . ."
For that option you do not need the 24 transistors.

I suggest you start with 1 MAX7221 and connect it to 1 color of the leds on your keypad. Use the LedControl library (only because I'm familiar with it, and to me, it seems cleaner than the other.)

There is lots of info in the Playground on this set up.

Once you understand that, try 2 colors and then 3 - you already have the chips. Use the last code example above to run the 2 color setup. (For 3 colors you are on your own smiley-wink)

You may want to stop after 2 colors and get the rest of your project working - just to test how the led and keypad get along together.

If you don't mind me saying, you seem to be all over the place with this project, so a pick a battle and complete it.

Hope this helps.

hello smiley
thanks a lot for your answer!
I'm all over the place  :-[ sorry!
But after that, there will be a tuto/doc about that for everyone who wants to build a thing like this smiley
it would be helpful,useful and Open :-)

ciao ciao  smiley-wink
Pages: [1] 2 3 ... 6