Tinkering - Manual Student Copy Print
Tinkering - Manual Student Copy Print
GUDUR
(AUTONOMOUS)
Student Details
Name
Roll No
Year / Sem
Department
Tinkering Lab Narayana Engineering College, Gudur
BONAFIDE CERTIFICATE
Roll No:
Certified that this is the bonafide record of practical work done in the
Laboratory by of Year, during the year
.
2
Narayana Engineering College, Gudur Tinkering Lab
LIST OF EXPERIMENTS
1. Make your own parallel and series circuits using breadboard for any application of
your choice.
3
Tinkering Lab Narayana Engineering College, Gudur
4
Index
5
Tinkering Lab Narayana Engineering College, Gudur
6
Introduction to Tinkering Lab
1. Identify and use basic electronic components such as resistors, LEDs, sensors, mo-
tors, and microcontrollers.
The Tinkering Lab empowers students to convert their ideas into working models,
encourages teamwork and creativity, and prepares them for advanced project work and
real-world problem solving.
Students are encouraged to follow safety instructions, maintain discipline, and actively
participate in all lab activities to make the most of this learning experience.
7
Tinkering Lab Narayana Engineering College, Gudur
8
Components and Their Uses
9
Tinkering Lab Narayana Engineering College, Gudur
10
Software Tools and Platforms
11
Tinkering Lab Narayana Engineering College, Gudur
12
Experiment 1 Make Your Own Se-
ries and Parallel Circuits Using Bread-
board
Objective:
To design, build, and test simple series and parallel circuits using a breadboard.
Components Required:
1. Breadboard
2. LEDs – 4
3. Resistors – 220 Ω – 4
4. Jumper wires
Theory:
A series circuit has only one path for current flow. A parallel circuit has multiple paths.
In a series circuit, if one component fails, the entire circuit breaks. In contrast, in a
parallel circuit, each branch operates independently. Resistors are used to limit the
current flowing through the LEDs and prevent them from burning out.
Procedure:
13
Tinkering Lab Narayana Engineering College, Gudur
Viva Questions:
14
Narayana Engineering College, Gudur Tinkering Lab
Result:
15
Tinkering Lab Narayana Engineering College, Gudur
16
Experiment 2 Design and 3D Print
a Rocket
Objective:
To design a simple rocket model using 3D CAD software and fabricate it using a 3D
printer.
Components Required:
1. Computer with CAD software (Tinkercad/Fusion 360)
2. 3D printer
3. PLA filament
Theory:
A rocket model is created using CAD software and fabricated using a 3D printer. This
hands-on activity introduces students to key concepts in aerospace design, fluid dynamics,
and additive manufacturing. The design process involves understanding aerodynamic
principles such as drag, lift, thrust, and stability, which are crucial in real rocket
design.
The rocket typically includes:
• Body tube – the central cylindrical section.
17
Tinkering Lab Narayana Engineering College, Gudur
Educational outcomes:
• Better understanding of STEM and aerospace concepts
• Hands-on with digital fabrication and rapid prototyping
• Creative design thinking and team collaboration
This experiment bridges theory and fabrication, inspiring interest in aerospace, prod-
uct design, and model prototyping.
Block Diagram
Procedure:
1. Open CAD software and design rocket body, nose cone, and fins.
2. Combine all parts or create them separately for assembly.
3. Export the design as an STL file.
4. Slice the file using slicing software and generate G-code.
5. Load filament and start 3D printing.
6. Remove the print carefully and assemble if needed.
18
Narayana Engineering College, Gudur Tinkering Lab
Viva Questions
1. What is slicing in 3D printing and what software is used?
19
Tinkering Lab Narayana Engineering College, Gudur
10. What is infill and how does it affect the strength of the model?
Result:
20
Experiment 3 Temperature and
Humidity Monitoring System using DHT11
and LCD
Objective:
To measure and display real-time temperature and humidity using a DHT11 sensor and
16x2 LCD interfaced with a microcontroller (e.g., Arduino UNO or ESP32).
Components Required:
4. Breadboard
5. Jumper wires
6. USB cable
7. Arduino IDE
Theory:
The DHT11 sensor is a low-cost digital sensor used to measure temperature and humidity.
It consists of a thermistor and a capacitive humidity sensor and provides a digital output
signal. The 16x2 LCD display is used to show the measured values to the user. The
microcontroller reads data from the DHT11 sensor, processes it, and sends the result to
the LCD.
The experiment helps students understand how to interface sensors and displays, read
environmental parameters, and apply this data for automation or IoT use cases like smart
farming, weather stations, or indoor climate monitoring.
Key Concepts:
21
Tinkering Lab Narayana Engineering College, Gudur
Block Diagram
DHT11 Sensor
Procedure:
1. Connect the DHT11 sensor: VCC to 5V (or 3.3V for ESP32), GND to GND, Data
pin to D2 (or GPIO).
• If using I2C module: Connect VCC, GND, SDA, and SCL pins.
• If using normal LCD: Connect RS, EN, D4–D7 to digital pins.
• DHT.h
• LiquidCrystal.h or LiquidCrystal I2C.h
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 2
22
Narayana Engineering College, Gudur Tinkering Lab
void setup() {
lcd.begin();
lcd.backlight();
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");
delay(2000);
}
Viva Questions
1. What does the DHT11 sensor measure?
23
Tinkering Lab Narayana Engineering College, Gudur
24
Narayana Engineering College, Gudur Tinkering Lab
Result:
25
Tinkering Lab Narayana Engineering College, Gudur
26
Experiment 4 Water Level Detection
and Alert System
Objective:
To detect the water level in a tank and trigger an alert (buzzer or LED) when water
reaches a predefined threshold.
Components Required:
1. Arduino Uno
2. Water Level Sensor
3. Buzzer or LED
4. Resistors and Jumper Wires
5. Breadboard
Theory:
This project utilizes a water level sensor to monitor the water level inside a container or
tank. The sensor gives an analog voltage output based on water contact. Arduino reads
this value and if it exceeds a threshold, it triggers a buzzer or LED. Such systems are
widely used in household water tanks, agricultural fields, and flood-prone areas to ensure
timely alerts.
Block Diagram
Procedure:
27
Tinkering Lab Narayana Engineering College, Gudur
void setup() {
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
int level = analogRead(sensorPin);
Serial.println(level);
if(level > 700) {
digitalWrite(buzzer, HIGH);
} else {
digitalWrite(buzzer, LOW);
}
delay(500);
}
Viva Questions:
28
Narayana Engineering College, Gudur Tinkering Lab
Result:
29
Tinkering Lab Narayana Engineering College, Gudur
30
Experiment 5 Automatic Plant Wa-
tering System
Objective:
To automatically water a plant when soil moisture falls below a threshold using an
Arduino-controlled pump.
Components Required:
1. Arduino Uno
2. Soil Moisture Sensor
3. Relay Module
4. Water Pump
5. Jumper Wires and Power Supply
Theory:
This system continuously monitors the soil’s water content using a moisture sensor. When
the moisture falls below a set threshold, Arduino triggers a relay that powers the water
pump. Once moisture is restored, the pump is turned off. This ensures efficient water
usage and prevents overwatering or underwatering.
Block Diagram
Arduino Uno
Relay Module
Water Pump
31
Tinkering Lab Narayana Engineering College, Gudur
Procedure:
void setup() {
pinMode(relay, OUTPUT);
Serial.begin(9600);
}
void loop() {
int moisture = analogRead(sensorPin);
Serial.println(moisture);
if(moisture < 400) {
digitalWrite(relay, HIGH); // Turn ON pump
} else {
digitalWrite(relay, LOW); // Turn OFF pump
}
delay(1000);
}
Viva Questions:
32
Narayana Engineering College, Gudur Tinkering Lab
33
Tinkering Lab Narayana Engineering College, Gudur
Result:
34
Experiment 6 Bluetooth-Based Door
Lock System
Objective:
To control a door lock mechanism using a mobile app via Bluetooth.
Components Required:
1. Arduino Uno
2. HC-05 Bluetooth Module
3. Servo Motor
4. Jumper Wires
5. Android Phone with Bluetooth Terminal App
Theory:
This system allows remote control of a locking mechanism via Bluetooth. Commands sent
from a smartphone are received by the HC-05 module, interpreted by the Arduino, and
used to drive a servo motor to lock or unlock the door. It demonstrates basic embedded
system control and secure access applications.
Block Diagram
Smartphone (Bluetooth)
Arduino Uno
35
Tinkering Lab Narayana Engineering College, Gudur
Procedure:
#include <Servo.h>
Servo lockServo;
char data;
void setup() {
Serial.begin(9600);
lockServo.attach(9);
}
void loop() {
if(Serial.available()) {
data = Serial.read();
if(data == ’1’) lockServo.write(90); // unlock
if(data == ’0’) lockServo.write(0); // lock
}
}
Viva Questions:
36
Narayana Engineering College, Gudur Tinkering Lab
10. How would you make this a fully wireless lock system?
Result:
37
Tinkering Lab Narayana Engineering College, Gudur
38
Experiment 7 Smart Dustbin Using
Ultrasonic Sensor
Objective:
To open a dustbin lid automatically when a person approaches using ultrasonic sensing
and servo actuation.
Components Required:
1. Arduino Uno
2. Ultrasonic Sensor (HC-SR04)
3. Servo Motor
4. Jumper Wires
Theory:
This system uses an ultrasonic sensor to measure the distance of approaching objects.
When an object (like a human hand) is within a set threshold (e.g., 15 cm), the Arduino
triggers a servo motor to rotate and open the dustbin lid. After a short delay, the lid
closes automatically. This encourages hygienic and touchless waste disposal.
Block Diagram
Arduino Uno
39
Tinkering Lab Narayana Engineering College, Gudur
Procedure:
#include <Servo.h>
Servo lidServo;
int trig = 7, echo = 6;
long duration;
int distance;
void setup() {
lidServo.attach(9);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
Viva Questions:
40
Narayana Engineering College, Gudur Tinkering Lab
8. How would you integrate this with a smart bin monitoring system?
41
Tinkering Lab Narayana Engineering College, Gudur
10. How can you add a timer to keep the lid open for longer?
Result:
42
Experiment 8 Fire Detection and Alarm
System
Objective:
To detect fire using a flame sensor and trigger an alarm using a buzzer or LED.
Components Required:
1. Arduino Uno
2. Flame Sensor Module
3. Buzzer or LED
4. Resistors and Jumper Wires
Theory:
The flame sensor detects infrared (IR) light emitted by fire. When IR radiation is de-
tected, the sensor sends a signal to the Arduino, which then activates a buzzer or LED
to alert the user. This simple fire detection system is useful in homes, kitchens, labs, and
industrial setups for early warning and safety.
Block Diagram
Flame Sensor
Procedure:
43
Tinkering Lab Narayana Engineering College, Gudur
void setup() {
pinMode(flameSensor, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
int flame = digitalRead(flameSensor);
if(flame == LOW) {
digitalWrite(buzzer, HIGH); // Fire detected
} else {
digitalWrite(buzzer, LOW); // No fire
}
}
Viva Questions:
1. What type of radiation does a flame emit?
2. Why does the flame sensor output LOW when fire is detected?
44
Narayana Engineering College, Gudur Tinkering Lab
Result:
45
Tinkering Lab Narayana Engineering College, Gudur
46
Experiment 9 RFID-Based Attendance
System
Objective:
To scan RFID tags and record attendance using an Arduino and RC522 RFID reader.
Components Required:
1. Arduino Uno
2. RFID Reader (RC522)
3. RFID Tags / Cards
4. Buzzer or LED
5. Jumper Wires
Theory:
The RC522 RFID module reads the unique ID of an RFID tag or card. The Arduino
compares this ID with predefined values. If matched, it activates a buzzer or LED and
logs attendance. This system finds applications in student attendance, employee entry
monitoring, and secure access systems.
Block Diagram
Procedure:
1. Connect RC522 module to Arduino using SPI pins (MOSI, MISO, SCK, SDA,
RST).
2. Connect the buzzer to digital pin 8 of Arduino.
3. Upload the program using Arduino IDE.
47
Tinkering Lab Narayana Engineering College, Gudur
4. Open Serial Monitor and scan RFID tags to test the system.
Sample Code:
(Requires MFRC522 library)
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);
int buzzer = 8;
void setup() {
SPI.begin();
rfid.PCD_Init();
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) return;
if (!rfid.PICC_ReadCardSerial()) return;
if (content == "A1B2C3D4") {
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
}
}
Viva Questions:
48
Narayana Engineering College, Gudur Tinkering Lab
49
Tinkering Lab Narayana Engineering College, Gudur
Result:
50
Experiment 10 Voice-Controlled De-
vices via Google Assistant
Objective:
To control electrical appliances (like LED, fan, etc.) using voice commands via Google
Assistant integrated with IFTTT and ESP32.
Components Required:
2. Relay Module
4. Jumper Wires
5. Internet Connection
Theory:
Google Assistant enables voice-controlled automation of smart devices. In this system,
IFTTT (If This Then That) connects Google Assistant to the ESP32 microcontroller via
Webhooks. When a voice command is given (e.g., “Turn on the fan”), IFTTT sends an
HTTP request to ESP32. The ESP32 receives this signal and triggers a relay module,
which powers ON or OFF the appliance. This experiment showcases IoT-based remote
automation using cloud services and Wi-Fi connectivity.
51
Tinkering Lab Narayana Engineering College, Gudur
Block Diagram
Google Assistant
IFTTT Webhook
ESP32 Microcontroller
Relay + Device
Procedure:
1. Create an IFTTT applet with Google Assistant as the trigger and Webhook as the
action.
2. Copy the Webhook URL and paste it into the Arduino code for ESP32.
3. Upload the code to ESP32 using Arduino IDE.
4. Connect ESP32 to Wi-Fi and wire the relay module with the device.
5. Say “Hey Google, turn on the light” and observe the relay switching.
Viva Questions:
1. What is IFTTT and how does it function?
52
Narayana Engineering College, Gudur Tinkering Lab
53
Tinkering Lab Narayana Engineering College, Gudur
Result:
54
Experiment 11 Heart Rate Monitor-
ing Using Pulse Sensor
Objective:
To measure and display the heart rate using a Pulse Sensor and Arduino/ESP32 board.
Components Required:
1. Pulse Sensor (Heartbeat sensor)
2. ESP32 or Arduino Uno
3. Breadboard
4. Jumper wires
5. USB cable
6. Arduino IDE
Theory:
The Pulse Sensor detects changes in blood volume through reflected light. Each pulse
creates a variation in the analog signal, which is read by the microcontroller and pro-
cessed into beats per minute (BPM). This experiment is valuable in biomedical, health-
monitoring, and wearable tech applications.
Block Diagram
Pulse Sensor
55
Tinkering Lab Narayana Engineering College, Gudur
Procedure:
void setup() {
Serial.begin(115200);
}
void loop() {
signal = analogRead(sensorPin);
Serial.println(signal);
delay(10);
}
Viva Questions:
56
Narayana Engineering College, Gudur Tinkering Lab
3. What is BPM?
57
Tinkering Lab Narayana Engineering College, Gudur
Result:
58
Experiment 12 Soil Moisture-Based
Irrigation System
Objective:
To automate irrigation based on real-time soil moisture using a microcontroller and relay.
Components Required:
3. Relay Module
6. Power Supply
7. Arduino IDE
Theory:
The soil moisture sensor measures the water content in soil. When the level drops below
a threshold, the microcontroller activates a relay to turn ON a water pump or LED. Once
the moisture is adequate, it turns OFF the pump. This conserves water and supports
precision farming practices.
59
Tinkering Lab Narayana Engineering College, Gudur
Block Diagram
Relay Module
Procedure:
1. Connect the sensor’s analog output to A0 of the microcontroller.
2. Connect the relay module to digital pin D8.
3. Connect the water pump or LED to relay output.
4. Upload the code via Arduino IDE.
5. Observe the system respond to soil dryness or moisture.
Sample Code:
int sensorPin = A0;
int relayPin = 8;
int threshold = 500;
void setup() {
pinMode(relayPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int moisture = analogRead(sensorPin);
Serial.println(moisture);
60
Narayana Engineering College, Gudur Tinkering Lab
digitalWrite(relayPin, HIGH);
} else {
digitalWrite(relayPin, LOW);
}
delay(1000);
}
Viva Questions:
61
Tinkering Lab Narayana Engineering College, Gudur
Result:
62