Hallo zusammen, ich suche eine Lösung, um ausgewählte Parameter aus einem Code auszulesen, über den Serial Monitor, diese sollen dann angepasst, wieder in den Code an die gleichen Stellen zurückgegeben werden.
Die Ausgabe funktioniert schon, jedoch weiß ich nicht wie editiert werden kann und die Rückgabe an die gleiche Stelle erfolgen kann.
Das ist der Code:
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x40);
//Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver(0x41);
int flicker_speed1[32];
int flicker_duration1[32];
int brightness1[32];
int flicker_speed2[32];
int flicker_duration2[32];
int brightness2[32];
void setup() {
Serial.begin(9600);
Serial.println("32 channel PWM test!");
pwm1.begin();
// pwm2.begin();
pwm1.setPWMFreq(1600);
// pwm2.setPWMFreq(1600);
for (int i = 0; i < 32; i++) {
brightness1[i] = random(0, 4096);
flicker_speed1[i] = random(1, 10);
flicker_duration1[i] = random(1, 10);
brightness2[i] = random(0, 4096);
flicker_speed2[i] = random(1, 10);
flicker_duration2[i] = random(1, 5);
}
}
void loop() {
for (uint16_t i = 0; i < 4096; i += 8) {
for (uint8_t pwm_num = 0; pwm_num < 32; pwm_num++) {
int pwm_channel = pwm_num % 16;
if (pwm_num < 16) {
pwm1.setPWM(pwm_channel, 0, brightness1[pwm_num]);
Serial.print("Module 1, Channel ");
} else {
// pwm2.setPWM(pwm_channel, 0, brightness2[pwm_num - 16]);
Serial.print("Module 2, Channel ");
}
Serial.print(pwm_num);
Serial.print(": ");
Serial.print(pwm_channel);
Serial.print(": ");
if (pwm_num < 16) {
Serial.print(brightness1[pwm_num]);
Serial.print(": ");
Serial.print(flicker_speed1[pwm_num]);
Serial.print(": ");
Serial.println(flicker_duration1[pwm_num]);
delay(flicker_speed1[pwm_num]);
} else {
Serial.print(brightness2[pwm_num - 16]);
Serial.print(": ");
Serial.print(flicker_speed2[pwm_num - 16]);
Serial.print(": ");
Serial.println(flicker_duration2[pwm_num - 16]);
delay(flicker_speed2[pwm_num - 16]);
}
}
delay(flicker_duration1[0]);
}
}
void serialEvent() {
while (Serial.available()) {
int incomingValue = Serial.read();
Serial.print("Received: ");
Serial.println(incomingValue);
}
}