//#include <WiFi.h>
const int ledPin = 13; // Built-in LED on the R4 board
unsigned long startTime;
int primeCount = 0;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
startTime = millis();
}
void loop() {
for (int num = 2; num <= 10000; ++num) {
if (isPrime(num)) {
primeCount++;
Serial.print(num);
Serial.print(" ");
if (primeCount % 30 == 0) {
Serial.println();
}
digitalWrite(ledPin, HIGH); // Turn on the LED
delay(100); // LED on time (adjust as needed)
digitalWrite(ledPin, LOW); // Turn off the LED
}
}
unsigned long endTime = millis();
unsigned long elapsedTime = endTime - startTime;
unsigned long minutes = elapsedTime / 60000;
unsigned long seconds = (elapsedTime % 60000) / 1000;
Serial.print("\nPrimes found: ");
Serial.println(primeCount);
Serial.print("Time taken: ");
Serial.print(minutes);
Serial.print(" minutes ");
Serial.print(seconds);
Serial.println(" seconds");
plotPrimes(); // Call the function to plot primes
while (true) {} // Loop indefinitely after completion
}
bool isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; ++i) {
if (n % i == 0) return false;
}
return true;
}
void plotPrimes() {
// Implement your code here to plot primes in the serial plotter
// You can use the Serial.println() function to send data for plotting
// Example: Serial.println(primeCount);
}