Need to make a Pulse Generator. $$

I am trying to create a pulse generator with my Arduino. I want to be able to control the frequency and pulse width with two separate potentiometers. I tried to do it and made the output blink off and on but can’t change pulse width. At this point I would be willing to pay someone to generate the code necessary for this. Thanks!

Creating a meaningless poll to attract attention to your post generally just pisses people of in here, and your chance of getting a good answer gets worse, not better.

Creating a meaningless poll to attract attention

And on the basis that it is not meaningless, even though it makes no sense,

can't change pulse width. At this point I would be willing to pay someone to generate the code

I don't think you need to pay anyone - the code should be fairly simple: For the frequency and pulse width, try something like this:

potVal = analogRead(potPin);
delayTime = map(potVal, 0, 255, 0, [maximum delay time]);

pulseWidthVal = analogRead(pulsePin);
highTime = map(pulseWidthVal, 0, 255, 0, [maximum delay time]);

onTime = highTime;
offTime = delayTime - highTime;
digitalWrite(outPutPin, HIGH);

delay(onTime);

digitalWrite(outPutPin, LOW);

delay(offTime);

Try and make somehing of it, then show us all what you managed after. I haven't actually tried it, but it should give you an idea...

Onions.

A specification would be useful.

Onions:I think

delayTime = map(potVal, 0, 255, 0, [maximum delay time]);

should be

delayTime = map(potVal, 0, 1023, 0, [maximum delay time]);

Remember that by default, the ADC is 10 bit while the PWM is 8 bit.

And it is also possble to use - delayMicroseconds() - if the pulses need to be shorter and faster -

I would add a button so the new potvalues are only read when the button is pressed, makes the pulseWidth and Freq a bit more stable.

loop()
{
  if (digitalRead(buttonPin) == HIGH)
  {
    potVal = analogRead(potPin);
    delayTime = map(potVal, 0, 1023, 0, [maximum delay time]);
    pulseWidthVal = analogRead(pulsePin);
    onTime = map(pulseWidthVal, 0, 1023, 0, [maximum delay time]);  
    offTime = delayTime - onTime ;
  }

  digitalWrite(outPutPin, HIGH);
  delay(onTime);
  digitalWrite(outPutPin, LOW);
  delay(offTime);
}

Another addition is to add a third potmeter so you have one for a rough frequency and the second for finetuning.

loop()
{
  if (digitalRead(buttonPin) == HIGH)
  {
    rough = analogRead(roughPotPin);    
    fine = analogRead(finePotPin);

    // maybe finetuning should overlap a few rough steps ==> use 300 * rough + fine
    // and use an appropiate value for max 
    val = 1024L * rough + fine;               
    max = 1048575L;  // = 1024 * 1024 -1 ; note the L

    delayTime = map(val, 0, max, 0, 1000000L);           // maxtime in microseconds ?
    pulseWidthVal = analogRead(pulsePin);
    onTime = map(pulseWidthVal, 0, 1023, 0, 1000000L);  
    offTime = delayTime - onTime ;
  }
  digitalWrite(outPutPin, HIGH);
  delayMicroseconds(onTime);
  digitalWrite(outPutPin, LOW);
  delayMicroseconds(offTime);
}