Show Posts
Pages: 1 ... 9 10 [11]
151  Using Arduino / Project Guidance / Re: Gas powered soldering irons?? on: January 31, 2011, 06:37:36 am
Probably not the right forum to be posting this in, but I would advise not to get a gas powered soldering iron, they're not easily temperature controlled. get a good soldering station instead.
152  Using Arduino / Project Guidance / Re: Sailing Box Timer V1.0 on: January 31, 2011, 06:25:46 am
Your code at first glance seems fine, the amplifier seems to be good, im not sure what input voltages and such it needs, you may need to investigate that, and the regulator and battery seem to be good. I am not understanding the issue with the sketch not saving, are you uploading it to the correct port? Please elaborate on the steps you make.
153  Using Arduino / Project Guidance / Re: Help to choice a right board on: January 31, 2011, 06:15:51 am
A few thoughts, I'll start with the bluetooth.
Bluetooth is not as easy as it seems, especially if you have little to no experience with electronics. If you use a board like this: http://iteadstudio.com/store/index.php?main_page=product_info&cPath=18&products_id=179 or similar, you will need to have use a serial connection to communicate with it. that is digital pins 0 and 1 spoken for there. You will, if, as you said, need two bluetooth units, you will use pins 2 and 3 for the second unit. You will then need an LCD, I would suggest a simple Serially accessible one, http://www.sparkfun.com/products/9393, that takes another two pins. Then you will need to write a buttload of code and somehow use two lots of standard digital pins as software serial ports, not an easy task, but doable. You may then run into issues where the Arduino just isn't fast enough to run three serial streams at once, but I don't know how that works as i have never tried. If you are serious about this project, then please, by all means, do it, I, for one, want to know if its possible.
154  Using Arduino / Project Guidance / Re: Video and control over rf on: January 31, 2011, 05:59:29 am
If you are interested,

http://www.nghobbies.com/cart/index.php?main_page=product_info&cPath=50&products_id=102

That is a 2.4ghz radio transmitter designed for long range (1000m) video sends and receiver to suit, I have not got one of these, but you might be able to use the uart onboard to get some telemetry over them. Or, get one of the 900mhz radio modems from Digi (the maker of the Xbee). These WILL get the job done as they are what the people who build UAV setups use for their groundlinks, they are field proven. They are, on the other hand about double the price.
155  Using Arduino / Project Guidance / Re: New to Arduino, but not electronics. Therefore, which board? on: January 31, 2011, 05:51:37 am
The mega has been out for nearly as long as the standard format Arduinos (Diecemielia, Uno). It is more expensive, larger and not as easy to use due to sheer size. It is faster, more capable and uses more power too, but these trade offs are what make less people want it for their projects. The main Arduino crowd are happy to make smaller projects and just make do with the cheaper one, and this is why there are more options for the smaller ones. It is all about market share and popularity. Therefore I do not think that there will be a similar following to the mega as there has been with the standard ones. The real question is "What do you want to make with the board?" This question is the important one, if you want to make something complex, then chances are you will need more than just standard shields and will want to make your own.  If you are comfortable coding, maybe you should get a Uno, and challenge yourself with making hardware that, when coupled with clever code, can make what seems limited by physical limitations become much more flexible and functional. Things like using Two Wire serial connections to address devices, make inputs attach to shift registers etc. Other things you may want to try, make a shield that converts a mega into a two shield Uno carrier. The options are endless.
156  Forum 2005-2010 (read only) / Syntax & Programs / Re: BlinkM Color from analog inputs. on: January 23, 2011, 09:19:43 am
if I use a simple setup of this(intermediate values removed)
PWY
WWW
RWB

P = Purple
W = White
R = Red
B = Blue
Y = Yellow

then i can do linear in four sections. I think
157  Forum 2005-2010 (read only) / Syntax & Programs / BlinkM Color from analog inputs. on: January 22, 2011, 01:20:17 am
Hi, I have an interesting issue here, I have a touchscreen, from which I can get two values, one X position, one Y position. I wish to use these two values to manipulate a BlinkM I2C RGB LED to make it produce some colours. The colours are (int rgb hex color values):

Red (0xFF,0x00,0x00)
Purple (0x66,0x33,0xFF)
Yellow (0xFF,0xFF,0x00)
Blue (0x00,0x00,0xFF)
White (0xFF,0xFF,0xFF)

I wish to have each of the first colors acutated to their full values at the four corners of the pad, and as you move your finger between corners, I wish to morph the colors  in the space between the corners, possibly using white as the vale of having your finger at the dead center of the screen.

I believe I will need to design an algorithim or three to use the two input values and to produce each channel of color, which I will send to the I2C bus. I am perfectly comfortable using the I2C setup, I just need to work out how to get to work on the algorithim. Can anyone point me in the right direction?
158  Forum 2005-2010 (read only) / Development / Re: Help- using an arduino to make a midi controller on: January 23, 2011, 05:41:30 pm
When you say fsm are you referring to a Finite State Machine? Also, I thought the program change command needed a controller number as well as a command number?
159  Forum 2005-2010 (read only) / Development / Re: Help- using an arduino to make a midi controller on: January 23, 2011, 09:29:42 am
Oh, and if you guys use Fritzing, heres my pics. Based on a Arduino Pro Mini, with hold button (on interrupt pin) rotary encoder(on interrupt) and two other non interrupt based buttons for no defined use yet.



160  Forum 2005-2010 (read only) / Development / Re: Help- using an arduino to make a midi controller on: January 23, 2011, 09:24:54 am
OK, I am building one of these devices, I designed and coded 90% of it before looking at this thread.  ill share my code here and see what you think so far.  I am having trouble with the code for the BlinkM, but thats in another thread so ill skip it.

Code:
//Touchpad
#define TouchX 0 // X axis
#define TouchY 1 // Y Axis
//Rotary Encoder
#define RotorA 3 //Interrupt pin 1
#define RotorB 6 //Digital IO 6
//Hold button
#define HoldButton 2 //Interrupt 0
//Switches
#define S1 4 //GP button 1
#define S2 5 //GP Button 2
#define debounce 10 //Debounce value
//Led
#define LED 13 // LED Pin

//Touchpad Variables
int touchX = 0;
int touchY = 0;

//Hold Flag
volatile int holdflag = LOW; //Hold Flag

//Rotary encoder
int currVal = 1; //Value of rotation

void setup()
{
      //Serial Setup for output of MIDI
      Serial.begin(31250);//midi=31250 baud
      
      pinMode(LED, OUTPUT);
      
      attachInterrupt(0, hold, HIGH);//Hold Button interrupt pin
      attachInterrupt(1, rotate, HIGH);//Rotary Encoder interrupt pin
      //Blinkm I2C setup
      Wire.begin();                // set up I2C on 4 and 5 analog
      Wire.beginTransmission(0x09);// join I2C, talk to BlinkM 0x09
      Wire.send('c');              // 'c' == fade to color
      Wire.send(0xff);             // value for red channel
      Wire.send(0xff);             // value for blue channel
      Wire.send(0xff);             // value for green channel
      Wire.endTransmission();      // leave I2C bus
}

void loop() {
      if (touched())
      {
            midiCC(0xB0,92,127); //Touchpad down command
            midiX = map(touchX,0,1016,0,127);  // maps the value range of the axis to midi 0->127
            midiCC(0xB0, 12, midix);  // sends midi control change for touch pad X axis

            midiy = map(touchy,0,1016,0,127);  // maps the value range of the axis to midi 0->127
            midiCC(0xB0, 13, midiy);  // sends midi control change for touch pad y axis
            
      }
      else
      {
            if(holdflag)
            {
                  digitalWrite(LED, HIGH);
            }
            else
            {
                  midiCC(0xB0,92,0) //Touchpad off
                  digitalWrite(LED, LOW);
            }
      }

      // return TRUE if touched, and coords in touchX and touchY
      boolean touched()
      {
            boolean touch = false;

            // wait a bit, then read from Top
            delay(10);
            touchX = analogRead(TouchchX);

            // wait a bit, then read from Right
            delay(10);
            touchY = analogRead(TouchchY);

            // Only if coords are below 1000 and above 0
            //TODO set up calibration for not touching.
            if(0 < touchX < 1000 and 0 < touchY < 1000)
            touch = true;

            return touch;
      }

      //Toggles hold on interrupt 0 goes high
      void hold()
      {
            delay(debounce) //Wait a bit
            if(digitalRead(HoldButton) == HIGH) //Check if its still toggled.
            {
                  holdflag = !holdflag; //Set flag
            }
      }
      
      //Interrupt called by rotary encoder interrupt
      void rotate()
      {      

            if(digitalRead(RotorB) == HIGH) //Interrupt is called, means RotorA has changed, direction can be found by lookign at RotorB
            currVal++; //If High, ++
            if(digitalRead(RotorB) == LOW)
            currVal--; //If low, --
            
            //sanitise output and wrap to 127 programs.
            if(currVal > 127)
            currVal = currVal - 127;
            if(currVal < 0)
            currVal = currVal + 127;
            
            midiCC(0xB0,0xC0,currVal); //0xC0 is the Program change cc so send midi command.

            //Send MIDI command
            void midiCC(char command, char value1, char value2){
                  Serial.print(command, BYTE);
                  Serial.print(value1, BYTE);
                  Serial.print(value2, BYTE);
            }


Ideas and comments please.
161  Forum 2005-2010 (read only) / Exhibition / Re: Arduino-Controlled RC Transmitter on: April 06, 2010, 02:50:03 am
Hi all, i know this is an old thread, but its still relevant.
I saw this today and ive just ripped out the transmitter board out of a HobbyKing HK-T6A and attempted to interface it with an arduino. it has 4 interfae pins, VCC_+5v , GND, SW1 and PPM. interfacing is simple using the code mentioned previously, connect PPM pin to pin 10 on arduino, connect power and gnd up to +5v and gnd respectively and leave SW1 alone, its essentially just used to bind the transmitter when grounded.
So far it looks promising, but i have yet to connect it to a proper serial setup so i can control it using my PC.
Pages: 1 ... 9 10 [11]