Show Posts
Pages: 1 ... 6 7 [8] 9 10 ... 23
106  Community / Gigs and Collaborations / Re: Seeking Design and Prototype development for BBQ Temperature Controller on: June 09, 2014, 02:26:10 pm
OK so firstly you are in the right place for Arduino experts.

Next is the question of what you want and what you are offering if it is a gig.

If you are hoping to simply emulate what you refer to in this link then why re you looking for help. If however you are only using this as a references what does your requirement need that is different from the example you posted.

Try giving us a bit more of a clue as to your exact requirement.

Cheers Pete.
107  Community / Gigs and Collaborations / Re: I'll admit it, I need help on: June 07, 2014, 03:58:14 am
Hello Ben,

I dont live in the USA but most of my clients are from there. I would love to say that I have the skills you are looking for but I have no idea what they are. Obviously I am well versed in Arduino, Electronics and writing Firmware. I have no idea what other skills you might be looking for. Perhaps if you where a little more specific about your requirments I could give you a definitive answer.

Take a look at my website WWW.EmbeddedAT.com and decide if I have what you need. Then please feel free to get in touch for a chat about your project.

I work with quite a few start-up companies getting idea off the ground and into production ready designs. I also like having long term relationships with my clients and since the payment is long term that sounds most likely.

Cheers Pete.
108  Community / Gigs and Collaborations / Re: Job Offer- Arduino Design and Prototype development on: June 06, 2014, 02:01:34 am
Hi,

I have all the skills and the resources to do this for you . I have sent you , as requested, an email with my contact details and references to some of my other work.

Cheers Pete.
109  Community / Gigs and Collaborations / Re: Time Lapse Project on: June 05, 2014, 10:07:05 am
OK I see now.

Well you are right smart device control gives you a nice rich user interface to work with.

There is a new kid on the block called the bleduino. It is a BLE BT4.0 device set up as a UART on the Arduino side.

BUT currently this is only supported by (cr)Apple and a few non iOS devices at the moment.

If you are looking for iOS developers try freelancer.com

Cheers Pete.
110  Community / Gigs and Collaborations / Re: Time Lapse Project on: June 04, 2014, 11:18:21 am
Perhaps if you give us a bit more of a clue as to what it is you are seeking help with exactly. Hardware/firmware a combination of both related to the Keypad and LCD.

Have you already chosen your hardware as different LCD/Keyboards have different interfaces.

Have you also considered using a touch LCD interface so that the screen becomes you input devices instead of  a keyboard as well.

Cheers Pete.
111  Community / Gigs and Collaborations / Re: Help with a basic code on: June 04, 2014, 07:05:36 am
Sure whenever ... you know where to find me.
112  Community / Gigs and Collaborations / Re: Help with a basic code on: June 04, 2014, 03:40:39 am
HI Wayne ... is this now doing what you wanted it to ?

Cheers Pete
113  Community / Gigs and Collaborations / Re: Needed - Engineering/Programming for small paying projects on: June 04, 2014, 03:31:32 am
Hello Gary,

As requested I have sent you a PM.

Cheers Pete.
114  Community / Gigs and Collaborations / Re: Build us a cell-communication device that monitors a cabinet door on: June 04, 2014, 03:28:34 am
OK so I can design and build this system for you if you like.

BUT ! even though most of my clients are USA based I work and live in France. This is not proving to be a problem now or in the past.

  • You can see my portfolio of work on my website WWW.EmbeddedAT.com
  • I cannot give you a cost at this point as the design is not cast in stone.
  • I would suggest the use of a GSM modem card. This can be integrated with an Atmel  ATMEGA328 (Arduino uno) chip and built into a custom PCB.
  • As for cell service .. depending on what you are wanting to do a simple PAYG data plan will work for you. Also depending on the amount of data you want to send a few $ per month will suffice.
  • I cannot see a meeting taking place unless you want to fly me over and back. I am happy to have a Skype interview through if that helps you.
  • NDA is not a problem, I have a big pile of them from my other clients.

Please feel free to contact me for a chat about your requirement.

You say that this is for a small production run ... now many would that be ?

CHeers Pete.
115  Community / Gigs and Collaborations / Re: Help with a basic code on: June 03, 2014, 07:43:56 am
Hello Wayne,

Another version of the code with the last step in the sequence sweeping into and from the last step in 10 seconds attached and inline for you.

Code:
// ===================================================================================
// = library includes              =
// ===================================================================================
#include <avr/eeprom.h>
#include <Servo.h>
#include <Time.h> 

// ===================================================================================
// = Servo object instatiation              =
// ===================================================================================
Servo oServo; 

// ===================================================================================
// = Global variable to hold time and interval =
// ===================================================================================
time_t NextEvent;

#define Interval 1 //this is 600 seconds or 10 minutes

// ===================================================================================
// = Array to hold servo positions              =
// =   these are the servo PWM signals that you will need to tune to your servo      =
// ===================================================================================
int ServoPos[] = {1000,1080,1160,1240,1320};

// ===================================================================================
// = Structure to hold state              =
// ===================================================================================
struct ServoParams_t
{
int Position;
int Direction;
} ServoParams;


// ===================================================================================
// = Setup code              =
// ===================================================================================
void setup()
{

Serial.begin(9600);
oServo.attach(9); // Attach the oServo object to use pin 9
LoadSettings(); // Read from the EEPORM

if(ServoParams.Position > 4) ServoParams.Position = 4; // just a bit of safety in the case of the EEPROM value being out of range
if(ServoParams.Position < 0) ServoParams.Position = 0; // just a bit of safety in the case of the EEPROM value being out of range
if(ServoParams.Direction > 1) ServoParams.Direction = 1; // just a bit of safety in the case of the EEPROM value being out of range
if(ServoParams.Direction < -1) ServoParams.Direction = -1; // just a bit of safety in the case of the EEPROM value being out of range

NextEvent = now() + (Interval); // Set the first interval time

}
 
 
// ===================================================================================
// = Main Program loop              =
// ===================================================================================
void loop()
{
if(now() >= NextEvent)
{
SaveSettings();  // Store state in EEPROM
ServoParams.Position += ServoParams.Direction; // Increment or decrement the servo posistion array pointer
if (ServoParams.Position == 4 )
{
Serial.println(ServoPos[ServoParams.Position]);
int CurrentPos = ServoPos[3];
int DestPos = ServoPos[4];
int msSteps = 10000/ (DestPos - CurrentPos);
for(int SweepPos = CurrentPos;SweepPos < DestPos;SweepPos++ )
{
oServo.write(SweepPos);  // Write value to oServer Object
delay(msSteps/2);
}

for(int SweepPos = DestPos;SweepPos > CurrentPos;SweepPos-- )
{
oServo.write(SweepPos);  // Write value to oServer Object
delay(msSteps/2);
}
ServoParams.Direction = -ServoParams.Direction;
}
else
{
if (ServoParams.Position <= 0) ServoParams.Direction = -ServoParams.Direction; // check for range end and swap direction
oServo.write(ServoPos[ServoParams.Position]);  // Write value to oServer Object
Serial.println(ServoPos[ServoParams.Position]);
}
NextEvent = now() + (Interval);
}
}


// ===================================================================================
// = EEPROM Storage Handlers              =
// ===================================================================================

void LoadSettings(void)
{
eeprom_read_block((void*)&ServoParams, (void*)(sizeof(ServoParams)), sizeof(ServoParams));
}

void SaveSettings(void)
{
eeprom_write_block((const void*)&ServoParams, (void*)(sizeof(ServoParams)), sizeof(ServoParams));
}


Cheers Pete.
116  Community / Gigs and Collaborations / Re: MIDI input to PWM output on: June 03, 2014, 02:46:15 am
OK ... there is some confusion on your part going on here.

A motor cannot be used to play tones, at least not the way you are planning to using a variable frequency drive. You could get it to spin at different speeds and that would create a series of tones.

Why a motor for the OP device (unless you really are hacking a vibrator in which case i understand and require no further information)

Also what is you end goal on this. I am not sure i understand what the application is (again unless it really is a vibrator)

Cheers Pete.
117  Community / Gigs and Collaborations / Re: Help with a basic code on: June 02, 2014, 10:53:57 am
Hi Wayne,

OK so here is the code again tested against my Futaba RC servo that I use in my camera gimbal on my quatcopter.

Attached and in the thread.

It is running a full 90 deg rotation.

If you only want 45 deg then divide the values in the array by 2

 I.E. int ServoPos[] = {1000,1080,1160,1240,1320};

It is currently moving every second using the timing variable that you have already worked out how to adjust.

Have Fun

Cheers Pete.

Code:
// ===================================================================================
// = library includes             =
// ===================================================================================
#include <avr/eeprom.h>
#include <Servo.h>
#include <Time.h>  

// ===================================================================================
// = Servo object instatiation             =
// ===================================================================================
Servo oServo;  

// ===================================================================================
// = Global variable to hold time and interval =
// ===================================================================================
time_t NextEvent;

#define Interval 1 //this is 600 seconds or 10 minutes

// ===================================================================================
// = Array to hold servo positions             =
// =   these are the servo PWM signals that you will need to tune to your servo      =
// ===================================================================================
int ServoPos[] = {1000,1160,1320,1480,1640};

// ===================================================================================
// = Structure to hold state             =
// ===================================================================================
struct ServoParams_t
{
int Position;
int Direction;
} ServoParams;


// ===================================================================================
// = Setup code             =
// ===================================================================================
void setup()
{

Serial.begin(9600);
oServo.attach(9); // Attach the oServo object to use pin 9
LoadSettings(); // Read from the EEPORM

if(ServoParams.Position > 4) ServoParams.Position = 4; // just a bit of safety in the case of the EEPROM value being out of range
if(ServoParams.Position < 0) ServoParams.Position = 0; // just a bit of safety in the case of the EEPROM value being out of range
if(ServoParams.Direction > 1) ServoParams.Direction = 1; // just a bit of safety in the case of the EEPROM value being out of range
if(ServoParams.Direction < -1) ServoParams.Direction = -1; // just a bit of safety in the case of the EEPROM value being out of range

NextEvent = now() + (Interval); // Set the first interval time

}
 
 
// ===================================================================================
// = Main Program loop             =
// ===================================================================================
void loop()
{
if(now() >= NextEvent)
{
SaveSettings();  // Store state in EEPROM
NextEvent = now() + (Interval); // Set the next interval time
ServoParams.Position += ServoParams.Direction; // Increment or decrement the servo posistion array pointer
if (ServoParams.Position >= 4 || ServoParams.Position <= 0) ServoParams.Direction = -ServoParams.Direction; // check for range end and swap direction
oServo.write(ServoPos[ServoParams.Position]);  // Write value to oServer Object
Serial.println(ServoPos[ServoParams.Position]);
}
}


// ===================================================================================
// = EEPROM Storage Handlers             =
// ===================================================================================

void LoadSettings(void)
{
eeprom_read_block((void*)&ServoParams, (void*)(sizeof(ServoParams)), sizeof(ServoParams));
}

void SaveSettings(void)
{
eeprom_write_block((const void*)&ServoParams, (void*)(sizeof(ServoParams)), sizeof(ServoParams));
}
118  Community / Gigs and Collaborations / Re: Help with a basic code on: June 02, 2014, 10:08:24 am
Hi Wayne,

Sure sorry i got caught up with the family on the weekend . I will get to it today for you.

Cheers Pete.
119  Community / Gigs and Collaborations / Re: MIDI input to PWM output on: June 01, 2014, 07:56:56 am
this sounds a little confusing...

MIDI to PWM ..

OK PWM is Pulse WIDTH modulation not Frequency modulation. The frequency of the square wave remains the same it is only the mark/space ratio that changes. where does "tone/frequency" come into this.

When you say drive a motor , what kind ? if it is a standard RC Servo that takes PWM 1-2 ms with a 20ms duty cycle then you are adjusting the mark/space ratio and not the frequency. If you are intending that it should approximate an analogue output to drive a motor a different speeds (also PWM not Frequency) then you really should be looking at an external motor driver or ESC like those found on RC  gear.

Cheers Pete.
120  Community / Gigs and Collaborations / Re: Help with a basic code on: June 01, 2014, 03:02:57 am
OK I tell you what i will set this up on my UNO with a servo and video it for you. I am not about today daytime but i will get to it this evening for you.

Cheers Pete.
Pages: 1 ... 6 7 [8] 9 10 ... 23