TCS Pune

Arduino Multi-File LED Controller

Arduino C/C++

Arduino Multi-File LED Controller

Learn functions, headers and non-blocking timing across multiple files.

IDE: Arduino IDE 2.x or Arduino CLIBoard/MCU: Arduino Uno, Nano, Mega or compatible

Project files

Download project ZIP
Starter — led_controller.ino
#include "led.h"
void setup(){ ledBegin(); }
void loop(){ /* TODO: call ledUpdate */ }
Completed — led_controller.ino
#include "led.h"
void setup(){ ledBegin(); Serial.begin(115200); }
void loop(){ ledUpdate(); }
Starter — led.h
#pragma once
void ledBegin();
void ledUpdate();
Completed — led.h
#pragma once
void ledBegin();
void ledUpdate();
Starter — led.cpp
#include <Arduino.h>
#include "led.h"
void ledBegin(){ pinMode(LED_BUILTIN,OUTPUT); }
void ledUpdate(){ /* TODO */ }
Completed — led.cpp
#include <Arduino.h>
#include "led.h"
void ledBegin(){ pinMode(LED_BUILTIN,OUTPUT); }
void ledUpdate(){ static unsigned long last=0; if(millis()-last>=500){ last=millis(); digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN)); Serial.println(digitalRead(LED_BUILTIN)); }}

Toolchain and dependencies

IDE requirements

Arduino IDE 2.x or Arduino CLI

Compatible targets

Arduino Uno, Nano, Mega or compatible

Libraries/dependencies

  • Arduino core (built in)

Serial output examples

Serial Monitor

LED state: 1
LED state: 0
LED state: 1

Serial Plotter

Compiler-error explanations

undefined reference to ledUpdate

Likely cause: led.cpp is missing or function signature differs

Fix: Add led.cpp and match the declaration exactly

led.h: No such file or directory

Likely cause: Header is absent or named differently

Fix: Put led.h in the same sketch folder

Submit your code

Log in to edit the starter files and submit your solution for instructor review.

Log in to submit
Ready when you are

Need help with your laptop or computer?

Send us the model and fault details. Start your repair request online or contact TCS Pune directly.

WA