Untitled
unknown
plain_text
22 days ago
1.7 kB
3
Indexable
#include <Servo.h> const int numberOfStations = 3; int channel; Servo servos[numberOfServos] = {}; int angles[numberOfServos] = {}; int currentAngles[numberOfServos] = {}; char inputLine[64]; int currentPosition = 0; int reading = false; char first; char last; int parsed; bool changeAngles = false; long time = millis(); void setup() { // put your setup code here, to run once: for(int i = 2; i < numberOfServos+2; i++){ pinMode(i, OUTPUT); servos[i-2].attach(i); } Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: inputFunction(); timeFunction(); } void inputFunction(){ while(Serial.available()){ char letter = Serial.read(); if (letter == 'S'){ currentPosition = 0; inputLine[currentPosition++] = letter; reading = true; } else if(reading){ if(letter == 'X'){ inputLine[currentPosition] = letter; reading = false; changeAngles = true; } else inputLine[currentPosition++] = letter; } } } void encodingInputLine(){ message = Serial.readString(); parsed = sscanf(message.c_str(), "%c %d %d %d %d %d %d %c", &first, &channel, &angles[0], &angles[1], &angles[2], &angles[3], &angles[4], &last); if(parsed == 8 && first == 'S' && last == 'X' && channel == 1){ for(int i = 0; i < numberOfServos; i++) servos[i].write(angles[i]); Serial.println("Radi"); } } void motorFunction(){ if(millis() > time+6){ for(int i = 0; i < 5; i++){ } } } void timeFunction(){ if(millis() < 0 && time > 0){ time = millis(); } }
Editor is loading...
Leave a Comment