AVR Microcontroller Projects - Atmel Studio + Proteus
Overview:
These projects focused on embedded programming for real-time control applications. I implemented delay-based logic, input handling with debouncing, servo positioning, timer configuration, and interrupt-driven control. All designs were simulated in Proteus for validation.
Key Tasks:
7-Segment Display Counter
Programmed ATmega16 to sequentially display digits 0–9 using binary segment arrays and the _delay_ms() function.
Configured PORTC output mapping for common cathode displays.
Verified smooth digit transitions in Proteus.
Timed LED Toggle
Calculated software delays based on a 4 MHz clock to toggle PB5 every 2 seconds.
Set CKSEL fuses for accurate timing.
Achieved precise ON/OFF cycles in simulation.
Classroom Attendance Counter
Used a pushbutton sensor on PC2 with input debouncing to increment a student count from 0–9.
Displayed counts on a 7-segment display via PORTB outputs.
Corrected display orientation by mirroring connections.
Servo Motor Control
Generated pulse-width delays (0.5 ms, 1.5 ms, 2.5 ms) to rotate a servo to -90°, 0°, and +90° at 8 MHz clock speed.
Tested positional accuracy in Proteus.
Timer Analysis (CTC Mode)
Calculated timer clock period from OCR2A value and output compare time.
Demonstrated understanding of timer configuration for precise event timing.
External Interrupt LED Toggle
Configured INT1 (PD3) in level-triggered mode to toggle PB5 via an ISR.
Used internal pull-ups and debounce delays to ensure reliable switching.
Technologies / Skills: ATmega16, Embedded C, Atmel Studio, Proteus, Digital I/O, Timers, Interrupts, Input Debouncing, Servo Control, 7-Segment Displays
PLC Automation Projects (ISPSoft + DOPSoft HMI)
Overview:
These projects simulated industrial automation systems using ladder logic and integrated HMI interfaces for real-time monitoring and manual control. Systems incorporated sensors, actuators, timers, counters, and process sequencing.
Key Tasks:
Warehouse Box Counter System
Counted small boxes via sensor input, filled big boxes with exactly three small boxes, packed them using a cylinder actuator, and moved them via conveyor.
Displayed counts, process states, and actuator statuses on HMI.
Temperature-Based Fan Control
Controlled the speeds of five fans based on temperature thresholds.
Implemented automatic lighting shutdown when any fan is operated at high speed.
Allowed manual speed overrides through HMI.
Automated Tank System
Managed fill, heat, mix, and drain stages using level sensors, temperature monitoring, and timers.
Enabled manual operation via START, STOP, and process-specific buttons.
HMI displayed water level, temperature, and the current operation mode.
Smart Home Automation
Integrated garden irrigation, garage door control, and house/garden lighting with schedules and sensor triggers.
Designed HMI screens for real-time status, manual overrides, and sensor readings.
Technologies / Skills: PLC Programming, Ladder Logic, Delta ISPSoft, DOPSoft, HMI Development, Sensors, Actuators, Timers, Counters, Process Sequencing, Industrial Automation
Overview:
During this course, I developed hands-on experience with ROS and MoveIt for robot simulation, motion planning, and control.
Key Tasks:
MoveIt Training and Installation:
Installed essential programs and extensions required to execute MoveIt within RViz.
Explored RViz’s various tools and settings to understand how they contribute to robot simulation and control.
Motion Planning and Visualization:
Enabled and utilized tools like MotionPlanning, Show Trail, and Plan to visualize and analyze robot movement paths.
Set start and end goals using sliders, planned paths, and adjusted trail details to ensure simulation accuracy.
Simulation Interaction:
Experimented with different poses, paths, and object interactions to understand trajectory styles and settings.
Modified trajectory code values to observe and analyze the effects on simulated objects' movements.
MoveIt Setup Assistant:
Installed and navigated through the MoveIt Setup Assistant to configure robot joints and poses.
Created a URDF package and files for a new robot model (Panda robot), facilitating its visualization in RViz.
SOLIDWORKS to ROS Integration:
Designed a simple car model in SOLIDWORKS, developed points, links, and coordinate systems, and created a URDF package for the model.
Integrated the design with ROS, utilized tutorials to drive and control the model, and ran the gazebo.launch file for visualization. Implemented the teleop twist keyboard command for driving simulation.
Technical Skills and Documentation:
Acquired proficiency in navigating file systems in Ubuntu, editing files, and managing installations from ROS repositories and wikis.
Utilized ROS Wiki and Husarion documentation extensively to guide installations, configurations, and troubleshooting.
Learned essential ROS commands and shortcuts, including the importance of "catkin_make", "devel.bash", and effective command prompt navigation.
This project provided me with a comprehensive understanding of robot simulation, motion planning, and ROS integration, alongside practical skills in software installation and configuration. Leveraging the ROS Wiki and Husarion docs was crucial in navigating the complexities of the system and enhancing my ability to manage and control robotic systems effectively.
Technologies / Skills: ROS, RViz, Gazebo, MoveIt, Ubuntu, URDF, Motion Planning, Robot Simulation, SOLIDWORKS, Teleoperation, Robot Modeling