51. 64-nano-Seconds Pulse Detection

Design a task using Arduino UNO with the following requirements

  • Detect a pulse generated by another Arduino UNO (or similar device).
  • Upon detecting the pulse, toggle the LED. 

Note: No pulses should be missed, and the LED state must be updated immediately

Code for generating pulse (another Arduino UNO)

  • This code generates a pulse of width 64 nanoseconds for every 5000 ms
  • The pulse is generated on pin no. 7
void setup() {
  Serial.begin(115200);        // Initialize serial communication at 115200 baud rate
  pinMode(7, OUTPUT);          // Set pin 7 as an output pin
  digitalWrite(7, LOW);        // Set pin 7 to LOW (initial state)
}

void loop() {
  PORTD = 0x80;                // Set the 7th bit of PORTD to HIGH (binary 10000000), turning on pin 7
  PORTD = 0x00;                // Set all bits of PORTD to LOW (binary 00000000), turning off pin 7
  Serial.println("Pulse Generated");  // Print "Pulse Generated" to the Serial Monitor
  delay(5000);                 // Wait for 5000 milliseconds (5 seconds) before repeating the process
}

 

Generated output pulse:

The below pulse is generated by the Pulse Generator after every 5 seconds.

The width of the pulse is around 64 nano-seconds.

 

 

Submit Your Solution