Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

SWINBURNE UNIVERSITY OF TECHNOLOGY

School of Engineering

ENG20009 - Engineering Technology Inquiry Project

Portfolio Report

Student Name:
Hewa Algiriyage Dulitha Muthujaya Ratnapala

Student ID:
103179699
Table of Contents

Lab 2 .......................................................................................................................................... 3
Lab 2 – Pass ................................................................................................................................................... 3
Lab 2 – Pass Plass .......................................................................................................................................... 4
Lab 2 – Credit ................................................................................................................................................ 6
Lab 2 – Distinction ......................................................................................................................................... 8
Lab 2 – High Distinction .............................................................................................................................. 10
Lab 3 .........................................................................................................................................12
Lab 3 – Pass ................................................................................................................................................. 12
Lab 3 – Pass Plus ......................................................................................................................................... 13
Lab 3 – Credit .............................................................................................................................................. 14
Lab 3 – Distinction ....................................................................................................................................... 15
Lab 4 .........................................................................................................................................17
Lab 4 – Pass ................................................................................................................................................. 17
Lab 4 – Pass Plus ......................................................................................................................................... 18
Lab 4 – Credit .............................................................................................................................................. 20
Lab 5 .........................................................................................................................................21
Lab 5 – Pass ................................................................................................................................................. 21
Lab 5 – Pass Plus ......................................................................................................................................... 23
Lab 5 – Credit .............................................................................................................................................. 25
Lab 6 .........................................................................................................................................27
Lab 6 – Pass ................................................................................................................................................. 27
Lab 6 – Pass Plus ......................................................................................................................................... 28
Lab 2
Lab 2 – Pass
SET buttonstate TO 0
SET LED_STATE TO 0
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 5 TO input_pullup
INITIALIZE pin 8 TO output
INITIALIZE pin 11 TO output
SET pin 8 TO low
END FUNCTION
FUNCTION loop()
SET buttonstate TO READ(pin 5)
IF NOT buttonstate THEN
IF NOT LED_STATE THEN
SET pin 11 to high
SET LED_STATE TO 1
ELSE
SET pin 11 to low
SET LED_STATE TO 0
END IF
END IF
END FUNCTION
Lab 2 – Pass Plass
SET buttonstate TO 0
SET buttonstate1 TO 0
SET buttonstate2 TO 0
SET buttonstate3 TO 0
SET LED_STATE1TO 0
SET blink_rate[3] TO {500, 1000, 1500}
SET blink_state TO 1
SET flow TO 0
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 2 TO input_pullup
INITIALIZE pin 3 TO input_pullup
INITIALIZE pin 4 TO input_pullup
INITIALIZE pin 5 TO input_pullup
INITIALIZE pin 8 TO output
INITIALIZE pin 9 TO output
INITIALIZE pin 10 TO output
INITIALIZE pin 11 TO output
SET pin 8 TO low
END FUNCTION
FUNCTION loop()
SET buttonstate TO READ(pin 2)
SET buttonstate1 TO READ(pin 3)
SET buttonstate2 TO READ(pin 4)
SET buttonstate3 TO READ(pin 5)
IF NOT buttonstate THEN
IF NOT LED_STATE THEN
SET pin 11 to high
SET LED_STATE TO 1
ELSE
SET pin 11 to low
SET LED_STATE TO 0
END IF
END IF
IF NOT buttonstate1 THEN
IF NOT blink_state LESS THAT 3 THEN
ADD 1 TO blink_state
ELSE
SET blink_state to 2
END IF
ELSE IF NOT buttonstate2 THEN
IF NOT blink_state GREATER THAT 0 THEN
SUB 1 FROM blink_state
ELSE
SET blink_state to 0
END IF
END IF
OUTPUT btn_spd (blink_rate[blink_rate])
IF NOT buttonstate3 THEN
OUTPUT fun_bri(flow)
IF flow IS 0 THEN
SET flow TO 1
ELSE IF flow IS 1 THEN
SET flow TO 0
ELSE
SET flow TO 0
END IF
END IF
END FUNCTION
FUNCTION btn_spd(spd)
SET pin 10 TO high
DELAY BY spd
SET pin 10 TO low
DELAY BY spd
END FUNCTION
FUNCTION fun_bri(state)
IF state IS 0 THEN
FOR (int i=0; i<255; i++)
SET pin 9 TO i
DELAY BY 10
END FOR
ELSE
FOR (int i=254; i>=0; i--)
SET pin 9 TO i
DELAY BY 10
END FOR
END IF
END FUNCTION
Lab 2 – Credit
INITIALIZE ROW1 TO 6
INITIALIZE ROW2 TO 7
INITIALIZE ROW3 TO 8
INITIALIZE ROW4 TO 9
INITIALIZE ROW5 TO 10
INITIALIZE ROW6 TO 11
INITIALIZE ROW7 TO 12
INITIALIZE ROW8 TO 13
INITIALIZE COL1 TO 14
INITIALIZE COL2 TO 15
INITIALIZE COL3 TO 16
INITIALIZE COL4 TO 17
INITIALIZE COL5 TO 18
INITIALIZE COL6 TO 19
INITIALIZE COL7 TO 20
INITIALIZE COL8 TO 21
SET Row[] TO {ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, ROW8}
SET Cols[] TO {COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8}
SET Letters[][8][8] TO bit_matrix_for 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
SET i TO 0
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 2 TO input_pullup
INITIALIZE pin 3 TO input_pullup
INITIALIZE pin 4 TO input_pullup
INITIALIZE pin 5 TO input_pullup
INITIALIZE Row1 TO output
INITIALIZE Row2 TO output
INITIALIZE Row3 TO output
INITIALIZE Row4 TO output
INITIALIZE Row5 TO output
INITIALIZE Row6 TO output
INITIALIZE Row7 TO output
INITIALIZE Row8 TO output
INITIALIZE Cols1 TO output
INITIALIZE Cols2 TO output
INITIALIZE Cols3 TO output
INITIALIZE Cols4 TO output
INITIALIZE Cols5 TO output
INITIALIZE Cols6 TO output
INITIALIZE Cols7 TO output
INITIALIZE Cols8 TO output
SET Row1 TO high
SET Row2 TO high
SET Row3 TO high
SET Row4 TO high
SET Row5 TO high
SET Row6 TO high
SET Row7 TO high
SET Row8 TO high
SET Cols1 TO low
SET Cols2 TO low
SET Cols3 TO low
SET Cols4 TO low
SET Cols5 TO low
SET Cols6 TO low
SET Cols7 TO low
SET Cols8 TO low
END FUNCTION
FUNCTION loop
SET abc[4] TO {0, 0, 0, 0}
FOR (int j = 2; j != 6; j++)
IF switchState is true
IF j IS 2
SET abc[0] TO 1
ELSE IF j IS 3
SET abc[1] TO 1
ELSE IF j IS 4
SET abc[2] TO 1
ELSE IF j IS 5
SET abc[3] TO 1
END IF
END IF
END FOR
SET i TO AN INT FROM 0 TO 15 BASED ON COMBINATION OF abc[0] AND abc[1]
AND abc[2] AND abc[3] AS A 4 BIT BINARY
OUTPUT drawLetter(Letters[1], 0)
END FUNCTION
FUNCTION drawLetters(int Letter[][8], int z)
SET COLUMN_ON_TIME TO 700;
SET timestamp TO micros()
SET previous_timestamp TO timestamp
SET column TO 0
FOR (byte column = 0; column < 8; clumb++)
FOR (byte row = 0; row < 8; row++)
SET Row[row] TO NOT Letter[row][column]
END FOR
SET Cols[z + column] TO high
delayMicroseconds(100);
SET Cols[z + column] TO low
END FOR
END FUNCTION
Lab 2 – Distinction
INITIALIZE ROW1 TO 6
INITIALIZE ROW2 TO 7
INITIALIZE ROW3 TO 8
INITIALIZE ROW4 TO 9
INITIALIZE ROW5 TO 10
INITIALIZE ROW6 TO 11
INITIALIZE ROW7 TO 12
INITIALIZE ROW8 TO 13
INITIALIZE COL1 TO 14
INITIALIZE COL2 TO 15
INITIALIZE COL3 TO 16
INITIALIZE COL4 TO 17
INITIALIZE COL5 TO 18
INITIALIZE COL6 TO 19
INITIALIZE COL7 TO 20
INITIALIZE COL8 TO 21
SET Row[] TO {ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, ROW8}
SET Cols[] TO {COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8}
SET Letters[][8][8] TO bit_matrix_for 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
SET ic TO 0
SET buttonstate TO 0
SET buttonstate1 TO 0
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 2 TO input_pullup
INITIALIZE pin 3 TO input_pullup
INITIALIZE pin 4 TO input_pullup
INITIALIZE pin 5 TO input_pullup
INITIALIZE Row1 TO output
INITIALIZE Row2 TO output
INITIALIZE Row3 TO output
INITIALIZE Row4 TO output
INITIALIZE Row5 TO output
INITIALIZE Row6 TO output
INITIALIZE Row7 TO output
INITIALIZE Row8 TO output
INITIALIZE Cols1 TO output
INITIALIZE Cols2 TO output
INITIALIZE Cols3 TO output
INITIALIZE Cols4 TO output
INITIALIZE Cols5 TO output
INITIALIZE Cols6 TO output
INITIALIZE Cols7 TO output
INITIALIZE Cols8 TO output
SET Row1 TO high
SET Row2 TO high
SET Row3 TO high
SET Row4 TO high
SET Row5 TO high
SET Row6 TO high
SET Row7 TO high
SET Row8 TO high
SET Cols1 TO low
SET Cols2 TO low
SET Cols3 TO low
SET Cols4 TO low
SET Cols5 TO low
SET Cols6 TO low
SET Cols7 TO low
SET Cols8 TO low
END FUNCTION
FUNCTION loop()
SET buttonstate TO READ(pin 2)
SET buttonstate1 TO READ(pin 3)
IF NOT buttonstate THEN
ADD 1 TO ic
DELAY BY 1000
ELSE IF NOT buttonstate1 THEN
SUB 1 TO ic
DELAY BY 1000
END IF
IF ic IS 16 THEN
SET ic TO 0
ELSE IF ic IS -1 THEN
SET ic TO 15
END IF
OUTPUT drawLetter(Letters[ic], 0)
END FUNCTION
FUNCTION drawLetters(int Letter[][8], int z)
SET COLUMN_ON_TIME TO 700;
SET timestamp TO micros()
SET previous_timestamp TO timestamp
SET column TO 0
FOR (byte column = 0; column < 8; clumb++)
FOR (byte row = 0; row < 8; row++)
SET Row[row] TO NOT Letter[row][column]
END FOR
SET Cols[z + column] TO high
delayMicroseconds(100);
SET Cols[z + column] TO low
END FOR
END FUNCTION
Lab 2 – High Distinction
INITIALIZE ROW1 TO 6
INITIALIZE ROW2 TO 7
INITIALIZE ROW3 TO 8
INITIALIZE ROW4 TO 9
INITIALIZE ROW5 TO 10
INITIALIZE ROW6 TO 11
INITIALIZE ROW7 TO 12
INITIALIZE ROW8 TO 13
INITIALIZE COL1 TO 14
INITIALIZE COL2 TO 15
INITIALIZE COL3 TO 16
INITIALIZE COL4 TO 17
INITIALIZE COL5 TO 18
INITIALIZE COL6 TO 19
INITIALIZE COL7 TO 20
INITIALIZE COL8 TO 21
SET Row[] TO {ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, ROW8}
SET Cols[] TO {COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8}
SET Letters[][8][8] TO bit_matrix_for 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, G, E, N
SET ic TO 0
SET buttonstate TO 0
SET buttonstate1 TO 0
SET ord[8] TO {14, 15, 13, 2, 0, 0, 0, 9}
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 2 TO input_pullup
INITIALIZE pin 3 TO input_pullup
INITIALIZE pin 4 TO input_pullup
INITIALIZE pin 5 TO input_pullup
INITIALIZE Row1 TO output
INITIALIZE Row2 TO output
INITIALIZE Row3 TO output
INITIALIZE Row4 TO output
INITIALIZE Row5 TO output
INITIALIZE Row6 TO output
INITIALIZE Row7 TO output
INITIALIZE Row8 TO output
INITIALIZE Cols1 TO output
INITIALIZE Cols2 TO output
INITIALIZE Cols3 TO output
INITIALIZE Cols4 TO output
INITIALIZE Cols5 TO output
INITIALIZE Cols6 TO output
INITIALIZE Cols7 TO output
INITIALIZE Cols8 TO output
SET Row1 TO high
SET Row2 TO high
SET Row3 TO high
SET Row4 TO high
SET Row5 TO high
SET Row6 TO high
SET Row7 TO high
SET Row8 TO high
SET Cols1 TO low
SET Cols2 TO low
SET Cols3 TO low
SET Cols4 TO low
SET Cols5 TO low
SET Cols6 TO low
SET Cols7 TO low
SET Cols8 TO low
END FUNCTION
SET dir TO 3
FUNCTION loop()
SET buttonstate TO READ(pin 2)
SET buttonstate1 TO READ(pin 3)
IF NOT buttonstate THEN
IF dir IS 3 THEN
SET dir TO 0
ELSE IF dir IS 0 THEN
SET dir TO 1
ELSE IF dir IS 1 THEN
SET dir TO 0
END IF
END IF
IF dir IS 0 THEN
ADD 1 TO ic
DELAY BY 1000
ELSE IF dir IS 1 THEN
SUB 1 TO ic
DELAY BY 1000
END IF
IF ic IS 8 THEN
SET ic TO 0
ELSE IF ic IS -1 THEN
SET ic TO 7
END IF
OUTPUT drawLetter(Letters[ord[ic]], 0)
END FUNCTION
FUNCTION drawLetters(int Letter[][8], int z)
SET COLUMN_ON_TIME TO 700;
SET timestamp TO micros()
SET previous_timestamp TO timestamp
SET column TO 0
FOR (byte column = 0; column < 8; clumb++)
FOR (byte row = 0; row < 8; row++)
SET Row[row] TO NOT Letter[row][column]
END FOR
SET Cols[z + column] TO high
delayMicroseconds(100);
SET Cols[z + column] TO low
END FOR
END FUNCTION
Lab 3
Lab 3 – Pass
SET Potentiometer TO A0
SET LDR TO A1
SET Microphone = A2
FUNCTION setup()
INITIALIZE board
INITIALIZE LDR TO input_pullup
INITIALIZE pin 11 TO output
END FUNCTION
FUNCTION loop()
IF LDR IS GREATER THAN 50 THEN
SET 11 TO low
ELSE IF LDR IS LESS THAN OR EQUAL TO 50 THEN
SET 11 TO high
END IF
END FUNCTION
Lab 3 – Pass Plus
SET Potentiometer TO A0
SET LDR TO A1
SET Microphone = A2
FUNCTION setup()
INITIALIZE board
INITIALIZE Potentiometer TO input_pullup
INITIALIZE pin 11 TO output
END FUNCTION
FUNCTION loop()
SET pot TO READ(Potentiometer)
SET g TO (MUL (DIV pot BY 1024) BY 254)
SET pin 11 TO g
DELAY BY 1000
END FUNCTION
Lab 3 – Credit
SET Potentiometer TO A0
SET LDR TO A1
SET Microphone = A2
SET buzzer TO 6
FUNCTION setup()
INITIALIZE board
INITIALIZE Potentiometer TO input_pullup
INITIALIZE buzzer TO output
END FUNCTION
FUNCTION loop()
SET pot TO READ(Potentiometer)
SET g TO (MUL (DIV pot BY 1024) BY 254)
SET buzzer TO g
DELAY BY 1000
END FUNCTION
Lab 3 – Distinction
INITIALIZE ROW1 TO 6
INITIALIZE ROW2 TO 7
INITIALIZE ROW3 TO 8
INITIALIZE ROW4 TO 9
INITIALIZE ROW5 TO 10
INITIALIZE ROW6 TO 11
INITIALIZE ROW7 TO 12
INITIALIZE ROW8 TO 13
INITIALIZE COL1 TO 14
INITIALIZE COL2 TO 15
INITIALIZE COL3 TO 16
INITIALIZE COL4 TO 17
INITIALIZE COL5 TO 18
INITIALIZE COL6 TO 19
INITIALIZE COL7 TO 20
INITIALIZE COL8 TO 21
SET Row[] TO {ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, ROW8}
SET Cols[] TO {COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8}
SET Letters[][8][8] TO bit_matrix_for tick, cross, blank
SET Microphone TO A2
SET clapCount TO 0
SET initial_val TO 0
SET yes TO 0
SET detectionSpanInitial TO 0
SET detectionSpan TO 0
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 2 TO input_pullup
INITIALIZE pin 3 TO input_pullup
INITIALIZE pin 4 TO input_pullup
INITIALIZE pin 5 TO input_pullup
INITIALIZE Row1 TO output
INITIALIZE Row2 TO output
INITIALIZE Row3 TO output
INITIALIZE Row4 TO output
INITIALIZE Row5 TO output
INITIALIZE Row6 TO output
INITIALIZE Row7 TO output
INITIALIZE Row8 TO output
INITIALIZE Cols1 TO output
INITIALIZE Cols2 TO output
INITIALIZE Cols3 TO output
INITIALIZE Cols4 TO output
INITIALIZE Cols5 TO output
INITIALIZE Cols6 TO output
INITIALIZE Cols7 TO output
INITIALIZE Cols8 TO output
SET Row1 TO high
SET Row2 TO high
SET Row3 TO high
SET Row4 TO high
SET Row5 TO high
SET Row6 TO high
SET Row7 TO high
SET Row8 TO high
SET Cols1 TO low
SET Cols2 TO low
SET Cols3 TO low
SET Cols4 TO low
SET Cols5 TO low
SET Cols6 TO low
SET Cols7 TO low
SET Cols8 TO low
INITIALIZE Microphone TO input
END FUNCTION
FUNCTION loop()
SET Mic_val TO READ(Microphone)
IF Mic_val GREATER THAN 31 THEN
IF clapCount IS 0 THEN
SET detectionSpanInitial TO millis()
SET detectionSpan TO millis()
ADD 1 TO clapCount
ELSE IF clapCount GREATER THAN 0 AND (SUB detectionSpan FROM millis())
GREATER THAN OR EQUAL TO 950
SET detectionSpan TO millis();
ADD 1 TO clapCount
END IF
END IF
IF (SUB detectionSpanInitial FROM millis()) GREATER THAN OR EQUAL TO 3000
IF clapCount IS 3 THEN
OUTPUT drawLetter(Letters[0],0)
ELSE IF (clapCount IS NOT 3) AND (clapCount GREATER THAN 0) THEN
OUTPUT drawLetter(Letters[1],0)
END IF
DELAY BY 1000
SET clapCount TO 0
END IF
END FUNCTION
FUNCTION drawLetters(int Letter[][8], int z)
SET COLUMN_ON_TIME TO 700;
SET timestamp TO micros()
SET previous_timestamp TO timestamp
SET column TO 0
FOR (byte column = 0; column < 8; clumb++)
FOR (byte row = 0; row < 8; row++)
SET Row[row] TO NOT Letter[row][column]
END FOR
SET Cols[z + column] TO high
delayMicroseconds(100);
SET Cols[z + column] TO low
END FOR
END FUNCTION
Lab 4
Lab 4 – Pass

FUNCTION setup()
INITIALIZE board
INITIALIZE pin 11 TO output
OUTPUT dis()
END FUNCTION
SET i TO 0
FUNCTION loop()
IF SerialMonitor IS active THEN
SET myinput TO READ FROM SerialMonitor
IF myinput IS 1 THEN
PRINT “LED turned on”
SET pin 11 TO high
SET i TO 1
OUTPUT dis()
ELSE IF myinput IS 1 THEN
PRINT “LED turned off”
SET pin 11 TO low
SET i TO 0
OUTPUT dis()
END IF
END IF
END FUNCTION
FUNCTION dis()
PRINT “Project Lab 4 Pass - Menu”
PRINT “1 to turn on LED”
PRINT “0 to turn off LED”
END FUNCTION
Lab 4 – Pass Plus
SET blink_rate[3] TO {500, 1000, 1500}
SET blink_state TO 1
SET flow TO 0
FUNCTION setup()
INITIALIZE board
INITIALIZE pin 8 TO output
INITIALIZE pin 9 TO output
INITIALIZE pin 10 TO output
INITIALIZE pin 11 TO output
SET pin 8 TO low
OUTPUT dis()
END FUNCTION
SET i TO 0
FUNCTION dis()
PRINT "Project Lab 4 Pass - Menu"
PRINT "10 to turn on LED D11
PRINT "11 to turn off LED D11"
PRINT “2 to make LED D10 blink faster"
PRINT "3 to make LED D10 blink slower"
PRINT "40 to make LED D09 increase brightness"
PRINT "41 to make LED D09 decrease brightness"
END FUNCTION
FUNCTION loop()
IF SerialMonitor IS active THEN
SET myinput TO READ FROM SerialMonitor
IF myinput IS 10 THEN
PRINT “LED turned on”
SET pin 11 TO high
SET i TO 1
OUTPUT dis()
ELSE IF myinput IS 11 THEN
PRINT “LED turned off”
SET pin 11 TO low
SET i TO 0
OUTPUT dis()
ELSE IF myinput IS 2 THEN
PRINT “LED D10 blink slower”
IF blink_state IS LESS THAN 3 THEN
ADD 1 TO blink_state
ELSE
SET blink_state TO 2
END IF
OUTPUT dis()
ELSE IF myinput IS 3 THEN
PRINT “LED D10 blink faster”
IF blink_stateIS GREATER THAN 0 THEN
SUB 1 FROM blink_state
ELSE
SET blink_state TO 0
END IF
OUTPUT dis()
ELSE IF myinput IS 40 THEN
PRINT “LED D09 increase brightness”
OUTPUT fun_bri(0)
OUTPUT dis()
ELSE IF myinput IS 41 THEN
PRINT “LED D09 decrease brightness”
OUTPUT fun_bri(1)
OUTPUT dis()
END IF
END IF
OUTPUT btn_spd(blink_rate[blink_state])
END FUNCTION
FUNCTION btn_spd(int spd)
SET pin 10 TO high
DELAY BY spd
SET pin 10 TO low
DELAY BY spd
END FUNCTION
FUNCTION fun_bri(int state)
IF state IS 0 THEN
FOR (int i=0;i<255;i++)
SET pin 9 TO i
DELAY BY 15
END FOR
ELSE IF state IS 1 THEN
FOR (int i=254;i>=0;i--)
SET pin 9 TO i
DELAY BY 15
END FOR
END IF
END FUNCTION
Lab 4 – Credit
INITIALIZE RTClib.h
INITIALIZE Adafruit_GFX.h
INITIALIZE Adafruit_ST7735.h
INITIALIZE SPI.h
INITIALIZE RTC_DS1307 rtc
INITIALIZE TFT_CS TO 10
INITIALIZE TFT_RST TO 6
INITIALIZE TFT_DC TO 7
INITIALIZE TFT_SCLK TO 13
INITIALIZE TFT_MOSI TO 11
SET Adafruit_ST7735 tft TO Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK,
TFT_RST)
FUNCTION void()
INITIALIZE board
OUTPUT rtc.begin()
OUTPUT rtc.adjust(DateTime(2023,8,29,17,17,0))
OUTPUT tft.initR(INITR_BLACKTAB)
OUTPUT tft.setRotation(3)
OUTPUT tft.fillScreen(ST77XX_BLACK)
END FUNCTION
FUNCTION loop()
SET now TO OUTPUT rtc.now()
SET Hours TO OUTPUT now.hour()
SET Minutes TO OUTPUT now.minute()
SET Seconds TO OUTPUT now.second()
OUTPUT tft.setTextWrap(true)
OUTPUT tft.fillScreen(ST77XX_BLACK)
OUTPUT tft.setCursor(30, 60)
OUTPUT tft.setTextSize(2)
IF Hours LESS THAN 10 THEN
OUTPUT tft.print("0")
OUTPUT tft.print(Hours, DEC)
ELSE
OUTPUT tft.print(Hours, DEC)
END IF
OUTPUT tft.print(":")
IF Minuites LESS THAN 10 THEN
OUTPUT tft.print("0")
OUTPUT tft.print(Minuites, DEC)
ELSE
OUTPUT tft.print(Minuites, DEC)
END IF
OUTPUT tft.print(":")
IF Seconds LESS THAN 10 THEN
OUTPUT tft.print("0")
OUTPUT tft.print(Seconds, DEC)
ELSE
OUTPUT tft.print(Seconds, DEC)
END IF
DELAY BY 950
END FUNCTION
Lab 5
Lab 5 – Pass
INITIALIZE avr/pgmspace.h
INITIALIZE Adafruit_GFX.h
INITIALIZE Adafruit_ST7735.h
INITIALIZE SPI.h
INITIALIZE TFT_CS TO 10
INITIALIZE TFT_RST TO 6
INITIALIZE TFT_DC TO 7
INITIALIZE TFT_SCLK TO 13
INITIALIZE TFT_MOSI TO 11
SET Adafruit_ST7735 tft TO Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK,
TFT_RST)
SET const char string_0[] PROGMEM TO “10000001”
SET const char string_1[] PROGMEM TO ‘Student 1”
SET const char string_2[] PROGMEM TO “10000002”
SET const char string_3[] PROGMEM TO “Student 2”
SET const char string_4[] PROGMEM TO “10000003”
SET const char string_5[] PROGMEM TO “Student 3”
SET const char string_6[] PROGMEM TO “10000004”
SET const char string_7[] PROGMEM TO “Student 4”
SET const char string_8[] PROGMEM TO “10000005”
SET const char string_9[] PROGMEM TO “Student 5”
SET const char string_10[] PROGMEM TO “10000006”
SET const char string_11[] PROGMEM TO “Student 6”
SET const char *const string_table[] PROGMEM TO {string_0, string_1, string_2, string_3, string_4,
string_5, string_6, string_7, string_8, string_9, string_10, string_11}
INITIALIZE char buffer[30]
FUNCTION void()
INITIALIZE board
OUTPUT tft.initR(INITR_BLACKTAB)
OUTPUT tft.setRotation(3)
PRINT “Initialized”
SET uint16_t time TO millis()
OUTPUT tft.fillScreen(ST77XX_BLACK)
SUB time FROM millis() TO time
DELAY BY 500
END FUNCTION
FUNCTION loop()
FOR (int i = 0; i < 12; i+=2)
SET char comb[35] TO " - "
APPEND (char *)pgm_read_word(&(string_table[i])) TO buffer
APPEND buffer TO comb
OUTPUT tft.fillScreen(ST77XX_BLACK);
APPEND (char *)pgm_read_word(&(string_table[i+1])) TO buffer
SETchar comb1[35] TO " - "
APPEND buffer TO comb1
OUTPUT tft.fillScreen(ST77XX_BLACK)
OUTPUT testdrawtext(comb, comb1)
DELAY BY 3000
END FOR
END FUNCTION
FUNCTION testdrawtext(char *text, char *text1)
OUTPUT tft.setTextWrap(false)
OUTPUT tft.setCursor(0, 0)
OUTPUT tft.fillScreen(ST77XX_BLACK)
OUTPUT tft.setTextColor(ST77XX_WHITE)
OUTPUT tft.setTextSize(0)
OUTPUT tft.println()
OUTPUT tft.setTextColor(ST77XX_WHITE)
OUTPUT tft.setTextSize(2)
OUTPUT tft.println(text)
OUTPUT tft.setTextColor(ST77XX_WHITE)
OUTPUT tft.setTextSize(0)
OUTPUT tft.println()
OUTPUT tft.setTextSize(2)
OUTPUT tft.setTextColor(ST77XX_WHITE)
OUTPUT tft.println(text1)
END FUNCTION
Lab 5 – Pass Plus
INITIALIZE avr/pgmspace.h
INITIALIZE Adafruit_GFX.h
INITIALIZE Adafruit_ST7735.h
INITIALIZE SPI.h
INITIALIZE TFT_CS TO 10
INITIALIZE TFT_RST TO 6
INITIALIZE TFT_DC TO 7
INITIALIZE TFT_SCLK TO 13
INITIALIZE TFT_MOSI TO 11
SET Adafruit_ST7735 tft TO Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK,
TFT_RST)
SET const char string_0[] PROGMEM TO “10000001”
SET const char string_1[] PROGMEM TO ‘Student 1”
SET const char string_2[] PROGMEM TO “10000002”
SET const char string_3[] PROGMEM TO “Student 2”
SET const char string_4[] PROGMEM TO “10000003”
SET const char string_5[] PROGMEM TO “Student 3”
SET const char string_6[] PROGMEM TO “10000004”
SET const char string_7[] PROGMEM TO “Student 4”
SET const char string_8[] PROGMEM TO “10000005”
SET const char string_9[] PROGMEM TO “Student 5”
SET const char string_10[] PROGMEM TO “10000006”
SET const char string_11[] PROGMEM TO “Student 6”
SET const char *const string_table[] PROGMEM TO {string_0, string_1, string_2, string_3, string_4,
string_5, string_6, string_7, string_8, string_9, string_10, string_11}
INITIALIZE char buffer[30]
FUNCTION void()
INITIALIZE board
OUTPUT tft.initR(INITR_BLACKTAB)
OUTPUT tft.setRotation(3)
PRINT “Initialized”
SET uint16_t time TO millis()
OUTPUT tft.fillScreen(ST77XX_BLACK)
SUB time FROM millis() TO time
DELAY BY 500
END FUNCTION
FUNCTION loop()
FOR (int i = 0; i < 12; i+=2)
SET char comb[35] TO " - "
APPEND (char *)pgm_read_word(&(string_table[i])) TO buffer
APPEND buffer TO comb
OUTPUT tft.fillScreen(ST77XX_BLACK);
APPEND (char *)pgm_read_word(&(string_table[i+1])) TO buffer
SETchar comb1[35] TO " - "
APPEND buffer TO comb1
OUTPUT tft.fillScreen(ST77XX_BLACK)
OUTPUT testdrawtext(comb, comb1)
DELAY BY 3000
END FOR
END FUNCTION
FUNCTION testdrawtext(char *text, char *text1)
OUTPUT tft.setTextWrap(false)
OUTPUT tft.setCursor(0, 0)
OUTPUT tft.setTextColor(ST77XX_WHITE)
OUTPUT tft.setTextSize(0)
OUTPUT tft.println()
OUTPUT tft.println("- ENG20009 Engineering \n Technology Inquiry Project")
OUTPUT tft.println()
OUTPUT tft.println("- Semester 2, 2023")
OUTPUT tft.setTextSize(1)
OUTPUT tft.println()
OUTPUT tft.setTextSize(1)
OUTPUT tft.println(" Student ID")
OUTPUT tft.println()
OUTPUT tft.setTextSize(2)
OUTPUT tft.println(text)
OUTPUT tft.setTextSize(1)
OUTPUT tft.println()
OUTPUT tft.setTextSize(1)
OUTPUT tft.println(" Student Name")
OUTPUT tft.println()
OUTPUT tft.setTextSize(2)
OUTPUT tft.println(text1)
END FUNCTION
Lab 5 – Credit
INITIALIZE OneWire.h
INITIALIZE Adafruit_GFX.h
INITIALIZE Adafruit_ST7735.h
INITIALIZE SPI.h
INITIALIZE TFT_CS TO 10
INITIALIZE TFT_RST TO 6
INITIALIZE TFT_DC TO 7
INITIALIZE TFT_SCLK TO 13
INITIALIZE TFT_MOSI TO 11
SET Adafruit_ST7735 tft TO Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK,
TFT_RST)
OUTPUT OneWire ds(8)
SET addr[] TO {0x2D, 0x9D , 0xD9 , 0x67 , 0x40 , 0x0 , 0x0 , 0xA6}
FUNCTION setup()
INITIALIZE board
OUTPUT tft.initR(INITR_BLACKTAB)
OUTPUT tft.setRotation(3)
OUTPUT tft.fillScreen(ST77XX_BLACK)
OUTPUT tft.setCursor(10, 10)
OUTPUT tft.setTextSize(2)
WHILE NOT Serial THEN
END WHILE
SET Student_ID TO “1031796”
OUTPUT writeToEEPROM(Student_ID)
SET readString TO OUTPUT readFromEEPROM(Student_ID.length())
SET EEPROMString2 TO “99”
OUTPUT writeToEEPROM(EEPROMString2)
SET readString2 TO OUTPUT readFromEEPROM(EEPROMString2.length())
OUTPUT readString.remove(7,12)
OUTPUT readString2.remove(2,12)
OUTPUT tft.println(readString + readString2)
OUTPUT ds.reset()
END FUNCTION
FUNCTION loop()
END FUNCTION
FUNCTION writeToEEPROM(String data)
INITIALIZE dataChars[30]
OUTPUT data.toCharArray(dataChars, 30)
OUTPUT ds.reset()
OUTPUT ds.select(addr)
OUTPUT ds.write(0x0F,1)
OUTPUT ds.write(0x01,1)
OUTPUT ds.write(0x09,1);
FOR (int i = 0; i < data.length(); i++)
OUTPUT ds.write(dataChars[i],1)
END FOR
OUTPUT ds.reset()
OUTPUT ds.select(addr)
OUTPUT ds.write(0x0F, 1)
END FUNCTION
FUNCTION String readFromEEPROM(int length)
INITIALIZE dataBytes[30]
OUTPUT ds.reset()
OUTPUT ds.select(addr)
OUTPUT ds.write(0xAA)
FOR (int i = 0; i < length+4; i++)
SET dataBytes[i] TO OUTPUT ds.read()
END FOR
RETURN String((char*)dataBytes).substring(3)
END FUNCTION
Lab 6
Lab 6 – Pass
INITIALIZE avr/pgmspace.h
INITIALIZE Adafruit_GFX.h
INITIALIZE Adafruit_ST7735.h
INITIALIZE SPI.h
INITIALIZE TFT_CS TO 10
INITIALIZE TFT_RST TO 6
INITIALIZE TFT_DC TO 7
INITIALIZE BUTTON_PIN TO 2
INITIALIZE TFT_SCLK TO 13
INITIALIZE TFT_MOSI TO 11
SET Adafruit_ST7735 tft TO Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK,
TFT_RST)
FUNCTION void()
INITIALIZE board
OUTPUT tft.initR(INITR_BLACKTAB)
OUTPUT tft.setRotation(3)
PRINT “Initialized”
SET uint16_t time TO millis()
OUTPUT tft.fillScreen(ST77XX_BLACK)
SUB time FROM millis() TO time
OUTPUT attachInterrupt(BUTTON_PIN, tftPrintTest, LOW)
END FUNCTION
FUNCTION loop()
OUTPUT tft.fillScreen(ST77XX_BLACK)
END FUNCTION
FUNCTION testdrawtext(char *text, char *text1)
OUTPUT tft.setCursor(0, 0)
OUTPUT tft.fillScreen(ST77XX_BLACK)
OUTPUT tft.setTextColor(ST77XX_WHITE)
OUTPUT tft.setTextSize(3)
OUTPUT tft.println("")
OUTPUT tft.println(" $$$$$$$")
OUTPUT tft.setTextSize(1)
DELAY BY 1000
END FUNCTION
Lab 6 – Pass Plus
INITIALIZE btn1 TO 2
INITIALIZE btn2 TO 3
INITIALIZE btn3 TO 4
INITIALIZE btn4 TO 5
INITIALIZE ROW1 TO 6
INITIALIZE ROW2 TO 7
INITIALIZE ROW3 TO 8
INITIALIZE ROW4 TO 9
INITIALIZE ROW5 TO 10
INITIALIZE ROW6 TO 11
INITIALIZE ROW7 TO 12
INITIALIZE ROW8 TO 13
INITIALIZE COL1 TO 14
INITIALIZE COL2 TO 15
INITIALIZE COL3 TO 16
INITIALIZE COL4 TO 17
INITIALIZE COL5 TO 18
INITIALIZE COL6 TO 19
INITIALIZE COL7 TO 20
INITIALIZE COL8 TO 21
SET byte Row[] TO { ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, ROW8 }
SET byte Cols[] TO { COL8, COL7, COL6, COL5, COL4, COL3, COL2, COL1 };
SET byte Letters[][8][8] TO bit_matrix_for *, !, ^, #, blank
FUNCTION steup()
INITIALIZE board
INITIALIZE btn1 TO INPUT_PULLUP
INITIALIZE btn2 TO INPUT_PULLUP
INITIALIZE btn3 TO INPUT_PULLUP
INITIALIZE btn4 TO INPUT_PULLUP
INITIALIZE Row1 TO output
INITIALIZE Row2 TO output
INITIALIZE Row3 TO output
INITIALIZE Row4 TO output
INITIALIZE Row5 TO output
INITIALIZE Row6 TO output
INITIALIZE Row7 TO output
INITIALIZE Row8 TO output
INITIALIZE Cols1 TO output
INITIALIZE Cols2 TO output
INITIALIZE Cols3 TO output
INITIALIZE Cols4 TO output
INITIALIZE Cols5 TO output
INITIALIZE Cols6 TO output
INITIALIZE Cols7 TO output
INITIALIZE Cols8 TO output
SET Row1 TO high
SET Row2 TO high
SET Row3 TO high
SET Row4 TO high
SET Row5 TO high
SET Row6 TO high
SET Row7 TO high
SET Row8 TO high
SET Cols1 TO low
SET Cols2 TO low
SET Cols3 TO low
SET Cols4 TO low
SET Cols5 TO low
SET Cols6 TO low
SET Cols7 TO low
SET Cols8 TO low
OUTPUT attachInterrupt(btn1, iset0, LOW);
OUTPUT attachInterrupt(btn2, iset1, LOW);
OUTPUT attachInterrupt(btn3, iset2, LOW);
OUTPUT attachInterrupt(btn4, iset3, LOW);
END FUNCTION
SET i TO 4
FUNCTION loop()
OUTPUT drawLetter(Letters[i], 0)
END FUNCTION
FUNCTION iset0()
SET i TO 0
END FUNCTION
FUNCTION iset1()
SET i TO 1
END FUNCTION
FUNCTION iset2()
SET i TO 2
END FUNCTION
FUNCTION iset3()
SET i TO 3
END FUNCTION
FUNCTION drawLetters(int Letter[][8], int z)
SET COLUMN_ON_TIME TO 700;
SET timestamp TO micros()
SET previous_timestamp TO timestamp
SET column TO 0
FOR (byte column = 0; column < 8; clumb++)
FOR (byte row = 0; row < 8; row++)
SET Row[row] TO NOT Letter[row][column]
END FOR
SET Cols[z + column] TO high
delayMicroseconds(100);
SET Cols[z + column] TO low
END FOR
END FUNCTION

You might also like