首页 > > 详细

代做EEE226、辅导Engineering Software

EEE226 – Engineering Software Design GA Assessment (2023) – V1.4
Assessment 1 requires you to use the knowledge gained so far in the course to build a memory game using the RGB LED and the touch slider. You will be assessed on the progress and quality of your program.
Background
Simon was an electronic game introduced in 1978 (shown in the picture below); it was one of the top-selling Christmas toys in the US that year. The device creates a sequence using the coloured lights, the player has to respond by pressing the coloured lights in the same order. The sequence gets longer through each iteration, with the game ending when the user enters an incorrect sequence. You are going to make a variation of this game where the device creates a sequence of five lights and then repeats the sequence with one missing (replaced by a white light); the player has to select which coloured light is missing. If correct, for the next round the device adds another coloured light to the same sequence and the whole sequence is shown to the user. The device now repeats the sequence with two lights missing; the user has to input the two coloured lights that were missing in the correct order. The game continues with each round the sequence getting longer and the number of lights missing each increasing. The game is over when the user enters the wrong sequence of missing lights.
Figure 1 - Simon game, introduced in 1978 by Milton Bradley (Wikipedia) As an example, a game could go as follows:
Round 1
Simon: green, green, blue, green, red
Simon: green, green, white, green, red
Player: blue – This is OK! In the above sequence, the 3rd (blue) colour was selected as the missing colour and replaced by white for the second sequence.
Round 2
Simon: green, green, blue, green, red, red
Simon: green, white, white, green, red, red
Player: green, blue – This is OK! The 2nd (green) and 3rd (blue) colours were replaced by white
Round 3
Prof. D. Gladwin 30/10/2023 EEE226 – GA Assessment (2023) - V1.4 ©The University of Sheffield

Simon: green, green, blue, green, red, red, blue
Simon: green, green, white, white, white, red, blue
Player: red, blue, green – This is not OK, game over! The user entered the incorrect sequence of missing colours. It should have been green, blue, green.
Assignment
The objective is to program the board to play the game as described above. You should present a random sequence to the user using the RGB LED made up of three colours, RED, GREEN and BLUE. The colours will represent three positions on the touch slider.
Left = RED
Middle = GREEN
Right = BLUE
(this is holding the board so that the touchpad is at the bottom)
The following specification should be met:
- There should be an indication using the RGB LED that the game is about to start. You must use more colours than just RED, GREEN, & BLUE. This must be done using PWM control of the LED to blend colours together. See information at end of this document on how to mix colours with the RGB LED. Make it clear that the sequence is about to be repeated.
- The sequence should start with a length of 5 and increase by one each time, add the new colour to the end of the sequence.
- The sequence should be different every time a new game is played, if I restart the board I shouldn’t get the same sequence. This includes the colours that are missing in the repeated sequence.
- The player should see a confirmation of the slider position they have pressed (i.e. RGB LED shows red briefly when the left-side of slider is pressed).
- The game should be coded so that double touches/movement on the slider are not counted as additional inputs to the response sequence. There is a document on blackboard to help you with this.
- The game is over when the player enters the wrong sequence and this is indicated by the RGB LED doing something interesting.
- The game should restart after a short pause and a touch of the slider.
Q&A
Q1 – Can I use different colours for the slider positions?
A1 – No, I have over 160 of these to mark, if you want the marks back in a reasonable time then I need them all to be the same to test!
Q2 – Can I use different colours to show game progress, for example yellow for about to start?
A2 – Yes, you must use different colours and I have provided information at the end of this document to help you. Just make sure you stick to the three position colours I have stated above. You will get the opportunity when you submit your work to tell me what they mean, however, the marking rubric shows marks for the game interface which should be intuitive.
Q3 – This is crazy, the touchpad is not accurate enough?
A3 – Yes it is. Don’t just divide the slider into three equal areas, create a larger area for the middle as you know that you can touch the extreme edges for the other positions.
Q4 – The touchpad is registering two or more touches when I only press once?
A4 – You can alter the settings in processor expert but better still, write some code to deal with fact that this happens – I have provided a document in BB to help. I will be looking at the reliability of your code in detecting this. You can also put insulation tape over the touchpad, this has had good results. Try to avoid touching the freedom board circuity with the other hand, I use Blu Tack to stick the board to my desk.
Q5 – I have tried to make a random sequence but it isn’t random does it matter?
A5 – Yes it matters, think about how you can set the seed of your random number generator differently each time the game is started.
Prof. D. Gladwin 30/10/2023 EEE226 – GA Assessment (2023) - V1.4 ©The University of Sheffield

Q6 – Does it matter if I add the next colour at the end of the sequence or the beginning?
A6 – You need to add the new colour at the end of the sequence. If you start with red,blue,red,green,blue for round 1, then in round 2 if you add green the new sequence will be red,blue,red,green,blue,green.
Q7 – Can the missing colours start at the 1st colour position.
A7 – Yes, the start of the missing colours should be selected at random from anywhere in your sequence of colours. For example if you had red,blue,red,green,blue,green for round 2 then you could display white,white,red,green,blue,green. The missing colours do need to be consecutive.
Q8 – Can I make different levels of gameplay?
A8 – Yes, you can make the game as sophisticated as you like. You must however make sure the basic specification above is clearly demonstrated.
Q9 – How many rounds should be possible?
A9 – I think I have the skills.... 50 rounds please.
Uploading your assessment
When you have completed the assignment you should navigate using windows explorer (or mac equivalent) to your workspace directory. From there zip the contents of your project folder as shown below and call it ‘username_assigment1’, for example, ‘ela09jh_assignment1’. Do not try to change the name of your project within KDS as it will break, you only need to change the name of the zip file that you uplaod. Check by opening the zip file that it contains all your files and folders, it should be approx. 3-5MB in size. In blackboard you will find an ‘Assignment 1’ folder which a final submission test. Start the test and you will be asked to upload your zip file and fill in some text boxes. When this is done remember to ‘Submit’ your test.
HINT: Note that zipping your project folder is also a method of backing up your work as you progress and a good idea to get into the habit of doing it for future projects. If you are unsure about how to create a zip file have a look on Google. A free recommended archiving utility available for windows is ‘7zip’.
Time allocation
Tuesday 31 October – you may have the other labs to complete but do read through this document carefully. Tuesday 7 November – 2 hours in lab
Tuesday 14 November – 2 hours in lab
Tuesday 21 November – 2 hours in lab
Expect to spend between 6 and 12 hours to complete the assessment in your own time depending on your previous experience.
DEADLINE FOR SUBMISSION – Friday 15th December 2023 @ 23:30
The assignment 1 submission tests will automatically close at 23:30 and you will not be able to submit any more work. Late submission will not be accepted and you will receive marks only for work that has been uploaded before the deadline. You will receive your marks before the Easter break in semester 2 as each one has to be downloaded, compiled and tested which takes a long time. There will be feedback posted to your mark in blackboard which you will be able to view by clicking on ‘My Grades’ and then clicking on the ‘Assessment 1’ score.
Prof. D. Gladwin 30/10/2023 EEE226 – GA Assessment (2023) - V1.4 ©The University of Sheffield

Mixing colours
All colours can be represented by the RGB colour model. You can see an example of this if you look at the colour palette in most software programs such as the font colour selector in Microsoft Word. If you create a custom colour by moving the mouse around the colour chart you will see the values of red, green and blue changing. These values represent the intensity of each colour from 0 meaning off to 255 fully on. As the Freedom board has a RGB LED you should be able to create any colour with it similarly using the RGB model. You will need to vary the intensity of each LED independently, a method to do this is to use pulse-width modulation (PWM) as shown below.
Figure 2 – PWM controlled LED
STUDY: If you are unfamiliar with PWM do some research on the topic
PWM control of LED
In a microcontroller a hardware PWM signal is generated using a comparator feature of the timers. A basic block diagram is shown below in Figure 2. The primary clock signal is scaled through a prescaler to slow it down and is generally a power of 2. In Processor Expert this value is configured automatically when you set the period time length of the timer unit used for PWM generation. The timer counts up until it reaches its maximum value and then starts again from zero producing a sawtooth waveform as shown in Figure 3. In your program you will specify the duty cycle required, this value is stored as a registry value. This registry value and the current value of the timer are compared and when the timer reaches the value in the registry the output of the PWM is set high. When the timer is reset to 0 the comparator result will also reset causing the PWM output to go low. The PWM output generated from two different duty cycle levels are shown in figures 3 and 4. Each timer unit on the KL25Z support 2 channels of comparator to be used with two PWM signals.
Figure 3 – Hardware PWM generation in Microcontrollers
Figure 4 – PWM generation 60%
Prof. D. Gladwin 30/10/2023 EEE226 – GA Assessment (2023) - V1.4 ©The University of Sheffield

Figure 5 - PWM generation 20%
Output pin configurations - KL25Z (BROWN):
PTB18 – Period Device: TPM2_MOD, Duty Device: TPM2_C0V PTB19 - Period Device: TPM2_MOD, Duty Device: TPM2_C1V PTD1 – Period Device: TPM0_MOD, Duty Device: TPM0_C1V
Output pin configurations – KL05Z (GREEN):
PTB8 – Period Device: TPM0_MOD, Duty Device: TPM0_C3V PTB9 - Period Device: TPM0_MOD, Duty Device: TPM0_C2V PTB10 – Period Device: TPM0_MOD, Duty Device: TPM0_C1V
Prof. D. Gladwin 30/10/2023 EEE226 – GA Assessment (2023) - V1.4 ©The University of Sheffield

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!