// // hello.RP204-XIAO.blink-echo-2.ino // // Seeed XIAO RP2040 blink and echo dual-core hello-world // // Neil Gershenfeld 2/19/23 // // This work may be reproduced, modified, distributed, // performed, and displayed for any purpose, but must // acknowledge this project. Copyright is retained and // must be preserved. The work is provided as is; no // warranty is provided, and users accept all liability. // #include // // globals // #define numpixels 1 #define pixelpower 11 #define pixelpin 12 #define bufsize 25 #define redledpin 17 #define greenledpin 16 #define blueledpin 25 char buf[bufsize]; int count=0; char final = '\n'; // // setup cores // Adafruit_NeoPixel pixel(numpixels,pixelpin,NEO_GRB+NEO_KHZ800); void setup() { Serial.begin(); pixel.begin(); pinMode(pixelpower,OUTPUT); digitalWrite(pixelpower,HIGH); } // void setup1() { pinMode(redledpin,OUTPUT); pinMode(greenledpin,OUTPUT); pinMode(blueledpin,OUTPUT); } // // main loops // void loop() { char chr; // // check for a char // if (Serial.available()) { // // read, save, and send char // chr = Serial.read(); buf[count] = chr; count += 1; buf[count] = 0; if (count == (bufsize-1)) count = 0; Serial.print("hello.RP2040-XIAO.blink-echo-2.ino: you typed "); Serial.println(buf); // // blink LED red blue red blue red if reaching the end of the string // if (chr == final) { pixel.setPixelColor(0,pixel.Color(255,0,0)); pixel.show(); delay(100); // pixel.setPixelColor(0,pixel.Color(0,0,255)); pixel.show(); delay(100); // pixel.setPixelColor(0,pixel.Color(255,0,0)); pixel.show(); delay(100); // pixel.setPixelColor(0,pixel.Color(0,0,255)); pixel.show(); delay(100); // pixel.setPixelColor(0,pixel.Color(255,0,0)); pixel.show(); pixel.clear(); pixel.show(); } else { // else blink pink purple pink purple pink pixel.setPixelColor(0,pixel.Color(255,192,203)); pixel.show(); delay(100); pixel.setPixelColor(0,pixel.Color(255, 0, 255)); pixel.show(); delay(100); pixel.setPixelColor(0,pixel.Color(255,192,203)); pixel.show(); delay(100); pixel.setPixelColor(0,pixel.Color(255, 0, 255)); pixel.show(); delay(100); pixel.setPixelColor(0,pixel.Color(255,192,203)); pixel.show(); pixel.clear(); pixel.show(); } } } // void loop1() { digitalWriteFast(redledpin,HIGH); digitalWriteFast(greenledpin,HIGH); digitalWriteFast(blueledpin,HIGH); delay(500); digitalWriteFast(redledpin,LOW); digitalWriteFast(greenledpin,LOW); digitalWriteFast(blueledpin,LOW); delay(500); }