#include SoftwareSerial Serial1(2, 3); // RX, TX #define SQUARES_ANIMATION_DELAY 1500 #define ALTERNATE_V_DELAY 1000 // SQUARES ANIMATION char* squares_frame_1 = "3003333333333003!"; char* squares_frame_2 = "0220000000000220!"; char* squares_frame_3 = "r00rrrrrrrrrr00r!"; char* squares_frame_4 = "0rr0000000000rr0!"; // ALTERNATING LINES VERTICALLY char* alternate_v_frame_1 = "r3r33r3rr3r33r3r!"; char* alternate_v_frame_2 = "3r3rr3r33r3rr3r3!"; // HOMING char* homing = "hhhhhhhhhhhhhhhh!"; char* reverse = "rrrrrrrrrrrrrrrr!"; void setup() { Serial1.begin(115200); homeAll(); } void loop() { squareAnimation(SQUARES_ANIMATION_DELAY); delay(1000); reverseToHome(); alternateVAnimation(ALTERNATE_V_DELAY); delay(1000); reverseToHome(); } void homeAll() { Serial1.print("*16#"); Serial1.print(homing); delay(20000); } void reverseToHome() { Serial1.print("*16#"); Serial1.print(reverse); delay(100); } void squareAnimation(int delayTime) { Serial1.print("*16#"); Serial1.print(squares_frame_1); delay(delayTime); Serial1.print("*16#"); Serial1.print(squares_frame_2); delay(delayTime); Serial1.print("*16#"); Serial1.print(squares_frame_3); delay(delayTime); Serial1.print("*16#"); Serial1.print(squares_frame_4); delay(delayTime); } void alternateVAnimation(int delayTime) { Serial1.print("*16#"); Serial1.print(alternate_v_frame_1); delay(delayTime); Serial1.print("*16#"); Serial1.print(alternate_v_frame_2); delay(delayTime); }