#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/gpio.h"
#include "pico/time.h"
#define LED_PIN 17
#define BUTTON_PIN 21
int count=0;
void LED_BLINK(int blink_count, int blink_interval_ms)
{
for (int i = 0; i < blink_count; i++)
{
gpio_put(LED_PIN, 1);
sleep_ms(blink_interval_ms);
gpio_put(LED_PIN, 0);
sleep_ms(blink_interval_ms);
count++;
}
}
int main() {
stdio_init_all();
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
gpio_init(BUTTON_PIN);
gpio_set_dir(BUTTON_PIN, GPIO_IN);
gpio_pull_up(BUTTON_PIN);
bool Button_pressed = false;
while (true) {
if (!gpio_get(BUTTON_PIN)) {
Button_pressed = !Button_pressed;
sleep_ms(100);
}
if (Button_pressed) {
printf("LED blinks 30 times in a minute\n");
LED_BLINK(30, 1000);
printf("Count: %d\n", count);
printf("LED blinks 20 times in a minute\n");
count=0;
LED_BLINK(20, 1500);
printf("Count: %d\n", count);
printf("LED blinks 10 times in a minute\n");
count=0;
LED_BLINK(10, 3000);
printf("Count: %d\n", count);
sleep_ms(10000);
} else {
printf("LED blinks 10 times in a minute\n");
LED_BLINK(10, 3000);
printf("Count: %d\n", count);
printf("LED blinks 20 times in a minute\n");
count=0;
LED_BLINK(20, 1500);
printf("Count: %d\n", count);
printf("LED blinks 30 times in a minute\n");
count=0;
LED_BLINK(30, 3000);
printf("Count: %d\n", count);
sleep_ms(10000);
}
sleep_ms(10000);
}
return 0;
}