Program works only with USB and not direct connection
hi i'm new arduino, i've dumped program arduino , removed usb connection , used 7.5 v adapter power board , seems program doesnt work when power through adapter or using usb adapter(not system connection)
program works when board connected system, not if usb connected usb adapter or 7.5v adapter pin
this program:
#include <servo.h>
servo frontservo;
servo rearservo;
/* servo motors - global variables */
int centerpos = 90;
int frontrightup = 72;
int frontleftup = 108;
int backrightforward = 75;
int backleftforward = 105;
int walkspeed = 150; // how long wait between steps in milliseconds
int centerturnpos = 81;
int frontturnrightup = 63;
int frontturnleftup = 117;
int backturnrightforward = 66;
int backturnleftforward = 96;
/* ping distance measurement - global variables */
int pingpin = 4;
long int duration, distanceinches;
long distancefront=0; //cm
int startavoidancedistance=20; //cm
long microsecondstoinches(long microseconds)
{
return microseconds / 148 / 2;
}
long microsecondstocentimeters(long microseconds)
{
return microseconds / 58 / 2;
}
long distancecm(){
pinmode(pingpin, output);
digitalwrite(pingpin, low);
delaymicroseconds(2);
digitalwrite(pingpin, high);
delaymicroseconds(5);
digitalwrite(pingpin, low);
pinmode(pingpin, input);
duration = pulsein(pingpin, high);
distanceinches = microsecondstoinches(duration);
return microsecondstocentimeters(duration);
}
void center()
{
frontservo.write(centerpos);
rearservo.write(centerpos);
}
void moveforward()
{
frontservo.write(frontrightup);
rearservo.write(backleftforward);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos);
delay(65);
frontservo.write(frontleftup);
rearservo.write(backrightforward);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos);
delay(65);
}
void movebackright()
{
frontservo.write(frontrightup);
rearservo.write(backrightforward-6);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos-6);
delay(65);
frontservo.write(frontleftup+9);
rearservo.write(backleftforward-6);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos);
delay(65);
}
void moveturnleft()
{
frontservo.write(frontturnrightup);
rearservo.write(backturnleftforward);
delay(125);
frontservo.write(centerturnpos);
rearservo.write(centerturnpos);
delay(65);
frontservo.write(frontturnleftup);
rearservo.write(backturnrightforward);
delay(125);
frontservo.write(centerturnpos);
rearservo.write(centerturnpos);
delay(65);
}
void setup()
{
frontservo.attach(2);
rearservo.attach(3);
pinmode(pingpin, output);
}
void loop()
{
distancefront=distancecm();
if (distancefront > 1){ // filters out stray 0.00 error readings 7
if (distancefront<startavoidancedistance) {
for(int i=0; i<=8; i++) {
movebackright();
delay(walkspeed);
}
for(int i=0; i<=10; i++) {
moveturnleft();
delay(walkspeed);
}
} else {
moveforward();
delay(walkspeed);
}
}
}
program works when board connected system, not if usb connected usb adapter or 7.5v adapter pin
this program:
#include <servo.h>
servo frontservo;
servo rearservo;
/* servo motors - global variables */
int centerpos = 90;
int frontrightup = 72;
int frontleftup = 108;
int backrightforward = 75;
int backleftforward = 105;
int walkspeed = 150; // how long wait between steps in milliseconds
int centerturnpos = 81;
int frontturnrightup = 63;
int frontturnleftup = 117;
int backturnrightforward = 66;
int backturnleftforward = 96;
/* ping distance measurement - global variables */
int pingpin = 4;
long int duration, distanceinches;
long distancefront=0; //cm
int startavoidancedistance=20; //cm
long microsecondstoinches(long microseconds)
{
return microseconds / 148 / 2;
}
long microsecondstocentimeters(long microseconds)
{
return microseconds / 58 / 2;
}
long distancecm(){
pinmode(pingpin, output);
digitalwrite(pingpin, low);
delaymicroseconds(2);
digitalwrite(pingpin, high);
delaymicroseconds(5);
digitalwrite(pingpin, low);
pinmode(pingpin, input);
duration = pulsein(pingpin, high);
distanceinches = microsecondstoinches(duration);
return microsecondstocentimeters(duration);
}
void center()
{
frontservo.write(centerpos);
rearservo.write(centerpos);
}
void moveforward()
{
frontservo.write(frontrightup);
rearservo.write(backleftforward);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos);
delay(65);
frontservo.write(frontleftup);
rearservo.write(backrightforward);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos);
delay(65);
}
void movebackright()
{
frontservo.write(frontrightup);
rearservo.write(backrightforward-6);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos-6);
delay(65);
frontservo.write(frontleftup+9);
rearservo.write(backleftforward-6);
delay(125);
frontservo.write(centerpos);
rearservo.write(centerpos);
delay(65);
}
void moveturnleft()
{
frontservo.write(frontturnrightup);
rearservo.write(backturnleftforward);
delay(125);
frontservo.write(centerturnpos);
rearservo.write(centerturnpos);
delay(65);
frontservo.write(frontturnleftup);
rearservo.write(backturnrightforward);
delay(125);
frontservo.write(centerturnpos);
rearservo.write(centerturnpos);
delay(65);
}
void setup()
{
frontservo.attach(2);
rearservo.attach(3);
pinmode(pingpin, output);
}
void loop()
{
distancefront=distancecm();
if (distancefront > 1){ // filters out stray 0.00 error readings 7
if (distancefront<startavoidancedistance) {
for(int i=0; i<=8; i++) {
movebackright();
delay(walkspeed);
}
for(int i=0; i<=10; i++) {
moveturnleft();
delay(walkspeed);
}
} else {
moveforward();
delay(walkspeed);
}
}
}
is tab key broken?
Arduino Forum > Using Arduino > Programming Questions > Program works only with USB and not direct connection
arduino
Comments
Post a Comment