/*************************************************
This simulation mimics an electron jumping between energy
 levels and emitting light in the visible spectrum, with
  the emitted colors corresponding to specific wavelengths. 
  The serial output provides a visual explanation of what
   each LED
 represents.
arind patil 12/9/24 copywrite under MIT liscence
discussion  https://chatgpt.com/share/76dbcc0a-59bd-4bb5-a24c-f82a99152ae7


********************************************/

// Pin definitions for each LED color
int redLED = 2;      // Red LED pin
int greenLED = 3;    // Green LED pin
int yellowLED = 4;   // Yellow LED pin
int blueLED = 5;     // Blue LED pin
int violetLED = 6;   // Violet LED pin
int whiteLED = 7;    // White LED pin

// Time delay for showing each color (in milliseconds)
int delayTime = 2000; // 1 second delay for each transition

void setup() {
  // Initialize the serial communication
  Serial.begin(9600);

  // Set LED pins as OUTPUT
  pinMode(redLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(yellowLED, OUTPUT);
  pinMode(blueLED, OUTPUT);
  pinMode(violetLED, OUTPUT);
  pinMode(whiteLED, OUTPUT);
}

void loop() {
  // Display red LED
  digitalWrite(redLED, HIGH);
  Serial.println("Color: Red, Wavelength: 620-750 nm");
  delay(delayTime);
  digitalWrite(redLED, LOW);

  // Display green LED
  digitalWrite(greenLED, HIGH);
  Serial.println("Color: Green, Wavelength: 495-570 nm");
  delay(delayTime);
  digitalWrite(greenLED, LOW);

  // Display yellow LED
  digitalWrite(yellowLED, HIGH);
  Serial.println("Color: Yellow, Wavelength: 570-590 nm");
  delay(delayTime);
  digitalWrite(yellowLED, LOW);

  // Display blue LED
  digitalWrite(blueLED, HIGH);
  Serial.println("Color: Blue, Wavelength: 450-495 nm");
  delay(delayTime);
  digitalWrite(blueLED, LOW);

  // Display violet LED
  digitalWrite(violetLED, HIGH);
  Serial.println("Color: Violet, Wavelength: 380-450 nm");
  delay(delayTime);
  digitalWrite(violetLED, LOW);

  // Display white LED
  digitalWrite(whiteLED, HIGH);
  Serial.println("Color: White, Wavelength: Combination of all visible wavelengths");
  delay(delayTime);
  digitalWrite(whiteLED, LOW);

  // Add a brief pause between cycles
  delay(2000);
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
led7:A
led7:C
led8:A
led8:C
led9:A
led9:C
led10:A
led10:C