Quisiera saber si hay algo de malo en este sketch porque cuando lo carga me sale: tamaño del sketch: 9.172 byte de {1} byte máximo. Supongo que esto es lo que hace que me tarde mucho en cargar a la placa.
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
#define SERVOMIN 150
#define SERVOMAX 600
uint8_t servonum = 0;
char val;
void setup() {
Serial.begin(9600);
Serial.println("16 channel Servo test!");
pwm.begin();
pwm.setPWMFreq(60);
}
void setServoPulse(uint8_t n, double pulse) {
double pulselength;
pulselength = 1000000; // 1,000,000 us per second
pulselength /= 60; // 60 Hz
Serial.print(pulselength); Serial.println(" us per period");
pulselength /= 4096; // 12 bits of resolution
Serial.print(pulselength); Serial.println(" us per bit");
pulse *= 1000;
pulse /= pulselength;
Serial.println(pulse);
pwm.setPWM(n, 0, pulse);
}
void loop() {
loop:
pwm.setPWM(7, 0, map(180, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(1, 0, map(0, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(2, 0, map(70, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(3, 0, map(110, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(4, 0, map(120, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(5, 0, map(55, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(6, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(0, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
if( Serial.available() ) // if data is available to read
{;}
val = Serial.read(); // read it and store it in 'val'
if( val == '0' ){
pwm.setPWM(7, 0, map(180, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(1, 0, map(0, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(2, 0, map(70, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(3, 0, map(110, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(4, 0, map(120, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(5, 0, map(55, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(6, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(0, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
delay (1500);
pwm.setPWM(7, 0, map(180, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(1, 0, map(0, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(2, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(3, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(4, 0, map(85, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(5, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(6, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
pwm.setPWM(0, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
delay (1500);
}
}
