KEMBAR78
Mec680 - Lab Report 2 - Group 1 | PDF | Calibration | Servomechanism
0% found this document useful (0 votes)
21 views23 pages

Mec680 - Lab Report 2 - Group 1

The document is a practical lab report for MEC 680 - Mechatronics Lab, focusing on system integration and calibration. It includes a plagiarism statement, assessment rubric, and detailed sections on abstract, introduction, theory, experimental procedures, results, discussion, and conclusion. The report emphasizes the importance of accurate calibration and integration of mechatronic systems for reliable performance and precise control.

Uploaded by

alan01283
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views23 pages

Mec680 - Lab Report 2 - Group 1

The document is a practical lab report for MEC 680 - Mechatronics Lab, focusing on system integration and calibration. It includes a plagiarism statement, assessment rubric, and detailed sections on abstract, introduction, theory, experimental procedures, results, discussion, and conclusion. The report emphasizes the importance of accurate calibration and integration of mechatronic systems for reliable performance and precise control.

Uploaded by

alan01283
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

SCHOOL OF MECHANICAL ENGINEERING

MEC 680 – MECHATRONICS LAB

PRACTICAL & LABWORK REPORT

LABWORK 2

SYSTEM INTEGRATION AND CALIBRATION

PLAGIARISM STATEMENT

I/We certify that this assignment/report is my/our own work, based on my personal study and/or
research and that I/we have acknowledged all material and sources used in its preparation, whether
they be books, articles, reports, lecture notes, and any other kind of document, electronic or personal
communication. I also certify that this assignment/report has not previously been submitted for
assessment in any other unit, except where specific permission has been granted from all unit
coordinators involved, or at any other time in this unit, and that I/we have not copied in part or whole
or otherwise plagiarised the work of other students and/or persons.

No. Name Student ID No. Group/Class Signature


ABANG ARIFF HAIQAL BIN Group 1/
1. 2023261918
ABANG ZAMBERI EMD6M3D
AHMAD HADRI BIN Group 1/
2. 2023801066
AZIZUDDIN EMD6M3D
AINNUR BAZILAH BINTI Group 1/
3. 2022862468
ANUAR EMD6M3D
ALAN KENNEDY ANAK Group 1/
4. 2023262136
SYLVESTER MALUH EMD6M3D
CHE MUHAMMAD ZARIF Group 1/
5. 2023262136
AIMAN BIN ZAMANI EMD6M3D
Date start: 24 APRIL 2025 Date of submission: 2 APRIL 2025

Report Reception Lecturer’s signature:


Date:
MEC 680: LAB/ MINI PROJECT REPORT ASSESSMENT RUBRIC

ASSESSMENT POOR ACCEPTABLE EXCELLENT PROGRAM


CRITERIA OUTCOME
(1) (2) (3) (4) (5)

● Unable to
write
abstract ● Fairly write
● Capable to write abstract CO3 [PO3]
concisely, abstract i.e.
i. Abstract concisely, informative and
informative not enough
quantitative.
and information
quantitative
.
● Unable to
● Fairly
describe
describe ● Capable to describe
background
background background and objective CO1 [PO1]
ii. Introduction and
and objective of each experiment
objective of
of each clearly.
each
experiment
experiment
● Unable to
formulate a
● Adequately
complete
formulate
theoretical
theoretical
and ● Capable to formulate a CO1 [PO1]
and
iii. Theory experiment complete theoretical and
experimental
al principle experimental principle.
principles
i.e. just
with small
write the
errors.
final
formula.
● Adequately
produce an
● Unable to appropriate
produce an procedure to
appropriate run the
● Capable to produce a
procedure experiment CO2 [PO2]
iv. Experimenta detailed procedure to run
to run the and fair
l procedure the experiment and good
experiment record
record keeping.
and poor keeping. i.e.
record missing steps
keeping. in procedure
and missing in
data record
● Unable to
● Adequately
present
present
experiment
experimental
al result ● Capable to articulate
result using
using experimental result using
appropriate CO3 [PO2]
v. Result tables, appropriate tables,
tables, charts,
charts, charts, graphs or other
graphs or
graphs or presentation formats.
other
other
presentation
presentatio
formats.
n formats.
● Unable to
relate ● Adequately
theoretical relate
analysis theoretical ● Capable to relate
with analysis with theoretical analysis with CO3 [PO3]
vi. Discussion
experiment experimental experimental result and
al result result and their practical implication.
and their their practical
practical implication.
implication.
● Unable to ● Conclusion is
come out a not clear, but
clear and yet, ● Capable to express a clear CO3 [PO3]
vii. Conclusion
understand understandab and concise conclusion.
able le in such
conclusion. manner.
● Quotes
● Unable to
included but
search and
the number
Quotes are ● Capable to search and
of references CO3 [PO3]
from Quotes are from
viii. References does not
minimum minimum ten (10) new
exceed 10
ten (10) references (last 5 years)
papers or not
new
new
references
references
● Unable to
write a lab
report
● Generally, ● Capable to write a lab
ix. Overall clearly,
follows the report clearly, precisely CO3 [PO7]
impression precisely
standard a lab and in a well-organized
of report and in a
report. manner
well-
organized
manner
● At least
discussed
once with the ● Pro-active, discussed
x. Consultation ● Unable to
instructor/ regularly with the
with portray pro-
lecturer instructor/ lecturer and
Lecturer/ active
before showed results/ finding
Instructor behaviour
submitting progressively.
the final
report.
TABLE OF CONTENTS
1.0 ABSTRACT ............................................................................................................................... 5
2.0 INTRODUCTION..................................................................................................................... 5
3.0 THEORY ................................................................................................................................... 6
4.0 EXPERIMENTAL PROCEDURE .......................................................................................... 7
4.1 APPARATUS AND SOFTWARE ....................................................................................... 7
4.2 METHODS ............................................................................................................................ 8
4.2.1 Calibration of Encoder ................................................................................................. 8
4.2.2 Calibration of DC Motor and PWM Amplifier .......................................................... 8
4.2.3 Calibration of DC Motor and Encoder ....................................................................... 9
4.2.3 Calibration of Input Voltage and No-Load Speed of the DC Motor ........................ 9
5.0 RESULTS ................................................................................................................................ 10
5.1 Calibration of Encoder .......................................................................................................... 10
5.2 Calibration of DC Motor and PWM Amplifier ..................................................................... 10
5.3 Calibration of DC Motor and Encoder .................................................................................. 11
5.4 Calibration of Input Voltage and No-Load Speed of The DC Motor ................................... 11
6.0 DISCUSSION .......................................................................................................................... 12
7.0 CONCLUSION ....................................................................................................................... 14
8.0 REFERENCES ........................................................................................................................ 15
9.0 APPENDIX .................................................................................................................................... 16
9.0 CONTRIBUTION OF EACH TEAM MEMBERS ............................................................. 23

TABLE OF FIGURES
Figure 1: Calibration of Encoder Graph .............................................................................................. 10
Figure 2: Calibration of DC Motor and PWM Amplifier Graph ......................................................... 10
Figure 3: Calibration of DC Motor and Encoder Graph ...................................................................... 11
Figure 4: Calibration of Input Voltage and No-Load Speed of The DC Motor Graph ........................ 11

LIST OF TABLES
Table 1: List of Apparatus Used ............................................................................................................ 7
Table 2: List of Software Used .............................................................................................................. 8
1.0 ABSTRACT

This experiment focusses on the integrating and calibrating a multi-component


system to achieve accurate and a consistent performance. System integration entails
bringing together a hardware and software subsystems into a coherent operational
framework, while calibration guarantees precise measurements by modifying system
parameters against standards. This study assesses a significant issue in synchronisation,
data consistency, and error minimisation during integration. Calibration techniques use
a reference input to ensure a system accuracy and repeatability. The result is indicating
the integration process’s success and highlight the calibration modifications required to
optimise a system performance. The findings provide a insights on a recommended
practices for system interoperability and measurement precision in a complex setup.

2.0 INTRODUCTION

System integration and calibration are essential components of mechatronic


control systems. The control system is made up of interconnected components that form
a system configuration that a specifies how the input and output variables interact. This
relationship represents the cause-and-effect dynamic of the control system, in which
the input variable regulates the output variable to obtain the intended system response.
The output control variable is divided into a two categorizes such as process control
and servo control. Process control variables include a temperature, pressure, humidity
and chemical characteristics, where servo control variables include a displacement,
velocity and acceleration. This laboratory experiment on the integration and calibration
of the mechatronic motion control system are largely concerned with the servo motor
control variables.

Other than that, the system integration and calibration are the fundamental to
mechatronics, where it is seamless interaction between the hardware and software to
ensures precise control and a reliable performance. This experiment investigates the
integration of a mechatronic control system by connect an encoder, DC motor, and
PWM amplifier to a central controller, followed by a calibration to ensure a system
accuracy. This experiment shows the issues of synchronisation, signal processing, and
error correction in a mechatronic system while it is also illustrating the importance of
calibration in obtain the optimal function.
3.0 THEORY

System integration and calibration are the foundations of dependable


measurements and control systems, combining the theoretical rigour and practical
application of mechatronic control systems. The theoretical foundation is built on two
pillars, system integration, which combine the hardware and software components to
form a cohesive unit while ensuring modularity, signal integrity, and validation through
hierarchical testing and calibration, which establishes metrological traceability to
international standards while quantifying measurement uncertainty and implementing
compensation models for systematic errors. The experimental implementation of these
principle takes a systematic approach, begin with the rigorous hardware-software co-
design and the protocol synchronisation during integration, followed by reference-
based calibration process with the known inputs and environmental stress testing. A
closed-loop feedback system frequently combines theory and practice, with real-time
calibration change compensating for operational variant while keeping detailed
documentations for quality assurance.

This iterative technique creates a virtuous cycle in which theoretical predictions


guide an experimental design, empirical results confirm the theoretical models, and
detected inconsistencies drive refinement in both domains. The result is a robust system
that satisfies stringent precision standard while responding it to a real-world operating
situation, illustrating how strong engineering concepts translate into dependable
technological solutions for a scientific and industrial application. The entire process
focusses on the international standard compliance, quantitative uncertainty analysis,
and systematic validation, all of which are critical components of any measurement
system that a requires precision and reliability.
4.0 EXPERIMENTAL PROCEDURE
4.1 APPARATUS AND SOFTWARE
NO. APPARATUS

1.

Power supply

2.

Arduino microcontroller

3.

Dc motor

4.

Encoder

5.

PWM Aplifier
Table 1: List of Apparatus Used
NO. SOFTWARE

1.

Putty Software

2.

Arduino IDE 2.3.6 Software


Table 2: List of Software Used

4.2 METHODS
4.2.1 Calibration of Encoder
To proposed approach involves, the following steps were carried out:

1. A computer algorithm for encoder calibration was designed, developed, and


implemented. Alternatively, the pseudocode provided in Appendix Part 2A
was downloaded, modified, and executed.
2. Using the Arduino menu command, serial data and plotted data were
displayed. The motor shaft was manually rotated in both clockwise and
counterclockwise directions, and data were recorded from the command
window.
3. The number of counts or pulses corresponding to a 360-degree rotation in
the clockwise direction was determined. Similarly, the number of
counts/pulses for a -360-degree rotation in the counterclockwise direction
was also determined.
4. The accuracy or resolution of the encoder was calibrated.
5. The time intervals between two successive data points were determined.
6. The position and speed of the motor shaft were calculated. Graphs of angular
position versus time and speed versus time were plotted.
4.2.2 Calibration of DC Motor and PWM Amplifier
To proposed approach involves, the following steps were carried out:
1. A computer algorithm was developed for the calibration of the DC motor.
Alternatively, the pseudocode was downloaded, modified, and executed.
2. The computer algorithm was used to rotate the motor in both clockwise and
counterclockwise directions. The method for changing the direction of
rotation was explored and implemented.
3. The computer algorithm was used to vary the rotational speed of the motor
in both directions. The technique for adjusting the speed of rotation was
applied.
4. The relationship between the digital values from the computer algorithm and
the corresponding PWM output voltage was calibrated. A graph of digital
values versus PWM output voltage was plotted.
4.2.3 Calibration of DC Motor and Encoder
To proposed approach involves, the following steps were carried out:
1. A computer algorithm for the combined calibration of the DC motor and
encoder was designed and implemented. The pseudocode from
downloaded, modified, and executed.
2. The algorithm was used to rotate the motor shaft in both clockwise and
counterclockwise directions. Data were read from the command window.
3. Graphs of angular position versus time and angular speed versus time were
plotted.
4. The frequency of oscillation of the motor shaft was determined and
subsequently increased.
5. The amplitude of oscillation of the motor shaft was measured and then
decreased.
4.2.3 Calibration of Input Voltage and No-Load Speed of the DC Motor
To proposed approach involves, the following steps were carried out:
1. A computer algorithm was designed, developed, and executed to measure
the no-load speed of the DC motor as a function of input voltage. The
pseudocode from downloaded, modified, and executed.
2. A series of tests were conducted in which the input voltage to the DC
motor was varied incrementally under no-load conditions. For each voltage
level, the corresponding motor speed was recorded.
3. A graph of input voltage versus no-load speed was plotted based on the
collected experimental data.
4. The gradient of the input voltage vs no-load speed graph was examined
and its physical significance was discussed, particularly in relation to the
motor’s speed constant and efficiency.
5.0 RESULTS

5.1 Calibration of Encoder

Figure 1: Calibration of Encoder Graph

5.2 Calibration of DC Motor and PWM Amplifier

Figure 2: Calibration of DC Motor and PWM Amplifier Graph


5.3 Calibration of DC Motor and Encoder

Figure 3: Calibration of DC Motor and Encoder Graph

5.4 Calibration of Input Voltage and No-Load Speed of The DC Motor

Figure 4: Calibration of Input Voltage and No-Load Speed of The DC Motor Graph
6.0 DISCUSSION

In Experiment 1, the encoder was calibrated by using it to record the angular


position over time. An Arduino Uno microcontroller was used to collect the data, and
Arduino IDE 2.3.6 software was used to process it. It is clear from the information
collected and the plotted graph (Figure 1) that the encoder successfully recorded the
rotational movement over time, with the angular position showing changes over time.
However, some inconsistencies in the graph's slope suggest that there may be variations
in the motor's speed or slight delays in the Arduino's data collection. All things
considered, the encoder's performance showed that it can accurately measure angular
displacement, which is crucial in applications requiring precise motion control.

In Experiment 2, the motor's reaction to the different control signals produced


by the Arduino Uno Microcontroller and sent through the MD10C Motor Driver was
tested to calibrate the DC motor and PWM amplifier. Depending on the direction of the
PWM signal, observations revealed that the DC motor could revolve both clockwise
and counter-clockwise. The motor and amplifier configuration were correctly adjusted,
as seen by the seamless direction changes. However, little jerks at the switching
moments indicate slight overshoots or delays, which are probably brought on by a slight
lag in the application of the PWM signal or the motor's inertia.

In Experiment 3, Using the Arduino IDE 2.3.6 software for programming and
data collecting, as well as PuTTY software for monitoring, the encoder and DC motor
were calibrated together. According to the data, the encoder successfully recorded the
angular position and speed over time when the motor was running by a PWM signal
that was amplified by the MD10C Motor Driver. The motor's alternating rotation
directions were consistently represented by the plotted graphs for angular position vs.
time and angular speed vs. time (Figure 3). As the motor's direction changed, the
angular speed changed between positive and negative numbers. Minor fluctuations
observed in the graphs were attributed to noise in the measurements, slight variations
in motor load, or inconsistencies in sampling time.
In Experiment 4, input voltage vs no-load speed was analyzed to assess motor
system performance after integration and calibration. According to the data, the proper
system function was confirmed by series 1 correct positive trend. However, series 2 had
a negative slop, which was probably caused by software problems, wiring mistakes or
mis calibrated sensor. These differences are typical in the early stages of integration.
Obtaining an understanding of the gradient aids in defect identification and calibration
improvement. Overall, the experiment demonstrated how crucial precise system
configuration is to dependable data and operation.

Regarding the post-lab question, the sampling time was not consistent during
the experiment. This inconsistency can be due to several factors, including delays in
data transfer between the Arduino Uno and the PC (through PuTTY), processing
demands on the Arduino or interference from other concurrent processes while
collecting data. To reduce sampling time, an effective approach would be to optimize
the Arduino code to eliminate redundant calculations within the sampling loop.
Additionally, employing faster microcontrollers or real-time operating systems would
assist in achieving more consistent sampling rates.

Shannon’s Sampling Theorem indicates that for a signal to be accurately


reconstructed, it needs to be sampled at a frequency exceedingly twice its highest
frequency component. Within this control system, a low sampling rate could result in
aliasing, misrepresenting high-frequency elements and possibly causing instability or
reduced system efficiency. Therefore, choosing a suitable sampling rate is essential for
ensuring that the encoder's measurements truly represent the motor's behaviour.

In the next lab session, in which a computer algorithm for a motion control
system will be created and executed, the impact of sampling time will be very
important. If the sampling time is too long or inconsistent, the control system might
react slowly or unpredictably, leading to oscillations, instability, or poor tracking
performance. Thus, obtaining a reliable and sufficiently fast sampling rate, utilizing
tools such as the Arduino IDE 2.3.6 and durable hardware like the Arduino Uno, will
be crucial for the precise and steady functioning of the motion control system.
7.0 CONCLUSION

This experiment successfully achieved to do the integration and calibration of a


mechatronic control system composed of a DC motor, encoder, PWM amplifier, and an
Arduino microcontroller. The integration process is to make sure proper
communication between hardware components and software control through PuTTY
and Arduino IDE. The encoder calibration procedure enabled the system to measure
rotational speed accurately, a critical aspect in motion control applications.

From the results obtained, the relationship between input voltage and motor
speed was clearly seen that confirmed the system could translate control inputs into
mechanical motion. The successful encoder calibration allowed the measured speeds to
align closely with expected values, demonstrating improved measurement accuracy and
repeatability. However, inconsistencies in sampling time were notice, primarily due to
limitations in data transfer speed and processing delays within the Arduino. These
inconsistencies affected real-time data acquisition, but they were recognising and
addressed in the discussion, with suggestions for improvement in future setups.

Additionally, the application of Shannon’s Sampling Theorem shows the


importance of an adequate sampling rate. A lower or inconsistent sampling rate could
introduce aliasing, which may misrepresent the motor’s behaviour and compromise
system stability. This insight will be crucial for future experiments involving real-time
control algorithms.

Overall, the lab proved the importance of precise calibration and robust system
integration in ensuring exact and stable performance in mechatronic systems. It
provided valuable hands-on experience in diagnosing synchronisation issues and
highlighted the impact of hardware-software interactions on system accuracy. The
findings serve as a foundation for further development in motion control applications,
especially as the complexity of systems increases.
8.0 REFERENCES

1) J. Smith, Introduction to Mechatronics, 2nd ed., Springer, 2021.


2) D. G. Alciatore and M. B. Histand, Introduction to Mechatronics and Measurement
Systems, 5th ed., McGraw-Hill, 2018.
3) M. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and Control, Wiley,
2006.
4) K. Ogata, Modern Control Engineering, 5th ed., Prentice-Hall, 2010.
9.0 APPENDIX
1. Part 2A: Calibration of Encoder
#define encoder0PinA 2 //intterupt pin only 2,3,21,20,19 or 18 only

#define encoder0PinB 4

volatile long encoder0Pos = 0;

long np;

long op = 0;

unsigned long nt;

unsigned long ot = 0;

long vel;

long pos;

long deg;

void setup()

pinMode(encoder0PinA, INPUT);

digitalWrite(encoder0PinA, HIGH); // turn on pullup resistor

pinMode(encoder0PinB, INPUT);

digitalWrite(encoder0PinB, HIGH); // turn on pullup resistor

attachInterrupt(digitalPinToInterrupt(encoder0PinA), doEncoder, RISING); // encoDER ON PIN 2

Serial.begin (1200);

//Serial.println("start"); // a personal quirk

void loop()

Encoder();

//delay(2500);

}
void doEncoder()

if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) {

encoder0Pos++;

} else {

encoder0Pos--;

void data()

Serial.print(nt);

Serial.print(",");

Serial.println(pos);

void Encoder()

np = encoder0Pos;

nt = millis();

pos = np;

data();

op = np;

ot = nt;

}
2. Part 2C: Calibration of DC Motor

int dir = 3;
int motorpin = 11;
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
pinMode(dir, OUTPUT); // pinMode(pot, INPUT);
pinMode(motorPin, OUTPUT);
}

int motorFoward()
{
analogWrite(motorPin, 40);
delay(500);
digitalWrite(dir, HIGH);
delay(500);
}

int motorBackward()
{
analogWrite(motorPin, 40);
delay(500);
digitalWrite(dir, LOW);
delay(500);

void loop() // run over and over again


{
motorFoward();
motorBackward();
}
3. Part 2C: Calibration of DC Motor and Encoder
//declaration of encocoder parameters
#define encoder0PinA 2
#define encoder0PinB 4

volatile long encoder0Pos = 0;


long newposition;
long oldposition = 0;
unsigned long newtime;
unsigned long oldtime = 0;
long vel;
long pos;
long deg;

//declaration of dcmotor parameters


int dir = 3;
int pwm = 11;

void setup()
{
//encoder
pinMode(encoder0PinA, INPUT);
digitalWrite(encoder0PinA, HIGH); // turn on pullup resistor
pinMode(encoder0PinB, INPUT);
digitalWrite(encoder0PinB, HIGH); // turn on pullup resistor
attachInterrupt(0, doEncoder, RISING); // encoDER ON PIN 2
Serial.begin (4800);
Serial.println("start"); // a personal quirk//motor
pinMode(dir, OUTPUT);
pinMode(pwm, OUTPUT);
}

int motorFoward()
{

analogWrite(pwm, 30);
delay(500);
digitalWrite(dir, HIGH);
delay(2500);
Encoder();
}

int motorBackward()
{
analogWrite(pwm, 30);
delay(500);
digitalWrite(dir, LOW);
delay(2500);
Encoder();

void loop()
{
motorFoward();
motorBackward();
motorBackward();
motorFoward();
}

void Encoder()
{
newposition = encoder0Pos;
newtime = millis();
pos = (newposition);
data();
oldposition = newposition;
oldtime = newtime;
//delay(700);
}

void doEncoder()
{
if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB))
{
encoder0Pos++;
}
else
{
encoder0Pos--;
}
}

void data()
{
Serial.print(newtime);
Serial.print(",");
Serial.println(pos);
}
4. Part 2D: Calibration of Input Voltage vs No-Load Speed of the DC Motor

#define encoder0PinA 2
#define encoder0PinB 4

volatile long encoder0Pos = 0;

int dir = 3;
int pwm = 11;

const int pwmValues[] = {30, 60, 90, 120, 150, 180, 210, 240}; // Varying PWM duty cycles
const int numPWM = sizeof(pwmValues) / sizeof(pwmValues[0]);

const int CPR = 600; // Encoder Counts Per Revolution (adjust as per your encoder)
unsigned long interval = 3000; // Time to run motor for each measurement in ms

void setup()
{
pinMode(encoder0PinA, INPUT_PULLUP);
pinMode(encoder0PinB, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(encoder0PinA), doEncoder, RISING);

pinMode(dir, OUTPUT);
pinMode(pwm, OUTPUT);

Serial.begin(9600);
Serial.println("Time(ms),PWM,Speed(RPM)");
}

void loop()
{
digitalWrite(dir, HIGH); // Run in one direction

for (int i = 0; i < numPWM; i++)


{
encoder0Pos = 0; // Reset encoder count
analogWrite(pwm, pwmValues[i]);
unsigned long startTime = millis();

delay(interval); // Wait while motor runs

unsigned long duration = millis() - startTime;


long counts = encoder0Pos;

float revolutions = (float)counts / CPR;


float minutes = (float)duration / 60000.0;
float rpm = revolutions / minutes;

Serial.print(millis());
Serial.print(",");
Serial.print(pwmValues[i]);
Serial.print(",");
Serial.println(rpm);

analogWrite(pwm, 0); // Stop motor


delay(1000); // Pause before next test
}

while (true); // Stop repeating after one full sweep


}

void doEncoder()
{
if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB))
encoder0Pos++;
else
encoder0Pos--;
}
9.0 CONTRIBUTION OF EACH TEAM MEMBERS

No. Name Student ID No. Contribution


ABANG ARIFF HAIQAL BIN ABANG
1. 2023261918 Results
ZAMBERI
Experiment Procedure/
2. AHMAD HADRI BIN AZIZUDDIN 2023801066
References

3. AINNUR BAZILAH BINTI ANUAR 2022862468 Discussion

ALAN KENNEDY ANAK SYLVESTER


4. 2023262136 Conclusion
MALUH
CHE MUHAMMAD ZARIF AIMAN BIN
5. 2023262136 Abstract/Introduction/Theory
ZAMANI

You might also like