Skip to content

kaden-code/arduino-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arduino Projects - Learning Robotics Programming

Overview

A comprehensive collection of Arduino experiments and foundational electronics exercises that formed my pathway into robotics. Structured like a personal lab notebook, this project documents my journey through sensors, actuators, serial communication, and control logic—all essential components for building robots. Each folder represents a focused micro-project or concept demo that helped me understand how robots perceive their environment, process information, and interact with the physical world.

Demo Video

Watch the video

Project Stats

  • Lines of Code: 5,000+ lines of C++
  • Date Completed: October - December 2023
  • Note: This represents only a fraction of the projects completed during this learning phase, as many were lost in transition from laptop to PC

Technologies

  • C++ (Arduino framework)
  • Wire Library (I2C communication)
  • LiquidCrystal Library (LCD displays)
  • Servo Library (servo motor control)
  • DHT Library (temperature/humidity sensors)
  • IRremote Library (infrared communication)

Hardware Components

Core Development

  • Arduino Uno R3
  • USB 2.0 A-to-B cable

Breadboard and Wiring

  • Solderless breadboard
  • Breadboard power-supply module
  • Male to male jumper wires
  • Female to male jumper wires
  • Female to female jumper wires

Display Components

  • 16×2 LCD module
  • I2C interface module for LCD
  • 10k ohm potentiometer (LCD contrast adjustment)

Sensors and Modules

  • HC-SR04 ultrasonic distance sensor
  • Infrared obstacle avoidance sensors (3 modules)
  • Infrared receiver module with remote control
  • DHT11 temperature & humidity sensor
  • LM35 temperature sensor module
  • Flame detection sensor module
  • Sound detection sensor module
  • Photoresistor (LDR) light sensor module
  • Tilt-ball switch module
  • Joystick control module
  • 5V relay module

Motors and Actuators

  • SG90 servo motor (180° micro-servo)
  • 28BYJ-48 stepper motor
  • ULN2003 stepper-motor driver board
  • DC geared motor

Logic ICs & Driver Chips

  • 74HC595 shift-register IC
  • ULN2003 driver (stepper motor)
  • L293D driver (DC motor)

LEDs & Indicators

  • Assorted single-color LEDs (red, green, yellow, blue, white)
  • RGB LEDs (common cathode)
  • Active buzzer module

Passive Components

  • Resistor assortment kit (170 pcs; 220 Ω to 1 MΩ)
  • Ceramic capacitor assortment (20 pcs; 0.1 µF to 10 µF)
  • 1N4007 diode kit
  • PN2222 transistor kit
  • 10 KΩ NTC thermistor

Switches & Buttons

  • Tactile push-button switches
  • Slide switch module

Full Kit: Arduino Learning Kit on Amazon

Challenges Overcome

  • Understanding serial data communication and USB functionality
  • Stabilizing noisy sensor inputs through smoothing algorithms
  • Synchronizing input and actuator response by tuning timing and signal mapping between sensors and actuators
  • Structuring modular codebase by organizing hardware demos into isolated, reusable modules
  • Debugging low-level hardware behavior including pin configurations, pull-up/pull-down logic, and timing inconsistencies
  • Designing interactive user interfaces using buttons, LEDs, buzzers, and serial input
  • Engineering under resource constraints within microcontroller memory, pin count, and processing power limitations
  • Bridging hardware and software domains by translating physical sensor data into meaningful digital behaviors

Skills Demonstrated

  • Embedded Programming: Lower-level C++ programming for microcontroller applications
  • Serial Communication: Debugging techniques and USB protocol understanding
  • Hardware-Software Integration: Troubleshooting interactions between physical components and code
  • System Architecture: Input-computation-output programming paradigms
  • Component Integration: Working with diverse electronic sensors and actuators
  • I/O Programming: Analog and digital input/output handling
  • Memory Management: Optimization for resource-constrained environments
  • Electronics Fundamentals: Circuit design principles and electrical engineering concepts
  • Real-Time Systems: Timing considerations and interrupt handling
  • Event-Driven Programming: Responsive system design
  • Signal Processing: Sensor data interpretation and filtering
  • Hardware Abstraction: Understanding HAL concepts
  • Iterative Development: Prototyping and design methodology

Learning Outcome

This hands-on approach built the technical foundation needed for more complex robotics projects, providing practical experience in how robots perceive their environment, process information, and interact with the physical world.

Author

Kaden Musard

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages