合肥生活安徽新闻合肥交通合肥房产生活服务合肥教育合肥招聘合肥旅游文化艺术合肥美食合肥地图合肥社保合肥医院企业服务合肥法律

ELE000042C代写、代做C/C++编程语言
ELE000042C代写、代做C/C++编程语言

时间:2025-01-12  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



School of Physics, Engineering and Technology
[ELE000042C] [Programming and Digital Interfacing] 
Assessment 2024/25 
Summary Details 
This assessment (Coding and interfacing project and brief report) contributes 100% of the assessment for 
this module.
Submission is via VLE. The deadline is 1400 on Monday 13/01/25. Please try and submit early as any late 
submissions will be penalised. Assessment information including on late penalties is given on the School of 
PET Student Information Community Site
Academic Integrity
It is your responsibility to ensure that you understand and comply with the University’s policy on academic 
integrity. If this is your first year of study at the University, then you also need to complete the mandatory 
Academic Integrity Tutorial. 
Please note:
● Unless the coursework specifies a group submission, you should assume that all submissions are 
individual and should therefore be your own work.
● All assessment submissions are subject to the Department’s policy on plagiarism and, wherever 
possible, will be checked by the Department using Turnitin software. 

Contents
Summary Details.................................................................................................................................................. 0
Academic Integrity ............................................................................................................................................... 0
1 Assessment brief................................................................................................................................................ 2
2 Assessment requirements .................................................................................................................................. 3
2.1 Specifications and Restrictions ..................................................................................................................... 3
2.2 Submission requirements............................................................................................................................. 4
2.2.1 Report.................................................................................................................................................. 4
2.2.2 Project folder and functionality proof..................................................................................................... 4
3 Suggestions and guidelines................................................................................................................................. 5
3.1 Hardware connection guidelines................................................................................................................... 5
3.2 Basic to advanced software implementation ................................................................................................. 5
3.3 Making the submission on time and getting lab sign-offs................................................................................ 6
3.4 Tips on working........................................................................................................................................... 6
4 Indicative marks breakdown............................................................................................................................... 7
Appendix ............................................................................................................................................................. 7
A.1 Nucleo G071RB pinout................................................................................................................................ 7
A.2 Marking criteria in more detail..................................................................................................................... 8
A 2. 1 Notes.................................................................................................................................................. 8
A.3 Marking Rubric (Indicative).......................................................................................................................... 9
1

1 Assessment brief
90% of your module mark is achieved through submitting a code and a report on the task described below. Remaining 
10% of your module mark is gained, as the module progresses, by providing evidence of being signed-off for the 
successful completion of each of the assessed lab activities1 listed in section 3.3. 
Your task, outside the lab activities, is to:
1. Write a program, using the Mbed OS environment and the Nucleo board provided (Nucleo G071RB), to display 
the letters of your first and last name, in a scrolling fashion, on a single 7 segment display (provided in your kit
is the common cathode variant and is the one you must use) when a button specifically assigned (by you) is 
pressed to trigger the display of each name. See figure 1 for pin-out of the 7 seg unit.
2. Write a short description of your code development process (more on this in section 2)
Figure 1: A 7-segment LED display pin information
This is an individual coursework and that means all the work must be your own. Collusion and plagiarism will attract 
zero marks.
Read this document carefully and get back to me with any questions or concerns you may have via email or ask me 
during the lab sessions. Please do not ask the GTAs about the assessment and do not rely on your peers for accurate 
information.
1 10% of the module mark: Gained by READING the lab sheets BEFORE coming to the lab and making the necessary effort to 
ATTEND each lab and COMPLETE DIRECTED TASKS and getting SIGNED-OFF. You do not need to submit any work arising from 
your lab sheets, but you will need to declare having successfully completed the sign-off activities (which will then be verified). 
2 Assessment requirements
2.1 Specifications and Restrictions
1. First 5 Letters* of your first name must be displayed when a button is pressed once by the user, and
First 5 Letters* of your last name must be displayed when another button is pressed once by the user. 
E.g., For my (Rohan Kakade) first and last name, the outputs sequence would be as shown in figure 2 (1s inter letter gap is assumed here, but it can be anything reasonable). Click here for example videos.
Figure 2: Sample output for a system that display my first and last name
*Important note: If your first or last name contains less than 5 letters, then append any number(s) of your 
choice to make it 5 characters each.
e.g., if your first name is “Tate” and your last name is “Sefe”, then you can display Tate1 Sefe2 or you can display 
Tate3 Sefe8 etc. Hope you get the idea! If not, ask me.
2. Each lettermust be displayed for a suitably long time such that its comfortable for the user to read (you decide). 
1s would be typical.
3. Both your first and last name must be displayed on the same 7 segment display i.e. you mayNOT use a second
7 segment display. 
4. Letters must be displayed only in the format dictated by figure 3. No other format permitted.
5. The names must be your names (as recorded in university records) and not your nick names or shortened 
names or your favourite person’s name etc. 
6. The system functionality should be repeatable without requiring hard reset (i.e. without using the on-board
black button). 
Figure 3: How alphanumeric characters should appear on the 7-segment display. 


2.2 Submission requirements
8 elements constitute your assessment. They are described next. Please read carefully.
2.2.1 Report
Following 6 elements must be contained in a single document submitted in PDF format.
1. Block diagram of the system (on its own page ideally)
• Diagram showing how components are interfaced to the Nucleo board
• Do not draw by hand. I recommend using this free web tool, but you can use any tool you prefer.
• Embed/include links to datasheets of each component interfaced and the datasheet of the nucleo board 
(Nucleo G071RB)
2. System schematic (on its own page ideally)
• Circuit Diagram showing how components are wired to the nucleo board that includes pin numbers and 
component values. I recommend using EasyEDA online editor2
, but you are welcome to draw these using 
any tool you like.
3. Flowchart (on its own page ideally)
• Algorithm of your final program in flowchart format. 
• Please do not draw by hand. I recommend using this free web tool, but you can use any tool you prefer.
4. Code development story (1500 words max)
• Explanation of how the program was iteratively developed to its final stage. Show that you fully 
understand what your program does and why it does it
• Do not paste in entire codes! Comment on what changes between different code versions and why these 
changes were made. 
• 1500 words max translates to about 3 pages with 1.5 line spacing and 12pt format. Length of your report 
will vary depending on complexity of your code; more words do not equal higher marks. 
5. Functionality proof (picture)
• Pictures of each letter of your name being displayed as expected (10 pictures in total; make a collage with 
2 rows and 5 columns – first row for first name, second row for second name like in figure 2).
6. Sign-off proof
• A simple declaration at the end of the report saying “I claim sign-off for xx number of assessed labs”, 
where xx is the number of assessment lab activities you have been signed-off for. The markers will verify 
your claim.
2.2.2 Project folder and functionality proof
Following two elements must be submitted along with your report. 
7. Functionality video proof (.mp4 file) 
• Short (10-30s max) video (record using your phone or any other device) that clearly demonstrates the 
functionality of your program. Should not exceed 90 MB.
• Ensure circuit connections and the Nucleo board are visible. Good wire management and neat breadboard 
connections will be awarded.
• No marks for making fancy video edits and for adding audio commentary. No cuts or breaks in the 
recording i.e. functionality demonstrated in one take
• Recording must be in .mp4 format (so that its playable on a standard video player like VLC)
8. The Mbed project folder (.tar file)
The entire Mbed project folder (must include main.cpp and any header files)
• Find and delete the file called compile_commands.json from your project to restrict the file size to under 
25MB file size limit of the VLE. Right-click your completed project and choose “Download current selection” 
OR left-click the “Download active project” menu option from the File menu.
2 If you are using EasyEDA for schematic creation, then you might need to look for the STM32G071RBT6 component in its library. 
Refer to the lecture notes (on Schematic diagrams) for guidance.
3 Suggestions and guidelines
3.1 Hardware connection guidelines
1. LEDs are rated to have a maximum forward current and exceeding this can burn them out. Each LED on the 7-
segment display has a 20 mA max forward current rating. With 2.1 V forward voltage, the series resistor used 
should be at least (3.3-2.1)/0.02 i.e. 60 Ω. I recommend using 100 Ω resistor between a nucleo pin and any 
given segment. See figure 4.
Figure 4: Suggested 7-segment display interfacing to Nucleo 
(schematic made in easyEDA) 
2. You may choose to use the blue on-board button as one of the buttons, but the second button will need to be 
connected externally. Don’t forget to configure the pull-up or pull-down resistor to avoid a floating input
condition. E.g., “DigitalIn buttonname(D0,Pullup);” will initialise digital pin D0 with a pull-up resistor. 
3.2 Basic to advanced software implementation
3. A basic implementation, for pass mark, would demonstrate functionality using very linear programming that 
simply checks each button and then turns on and off the LEDs to display a certain letter with thread_for_sleep() 
to time the scrolling through of the letters. Nothing fancy here, but it meets the assessment brief.
4. Next level up - A simple system. 
• This could deploy functions and set mechanisms to resolve button press conflicts and perhaps have 
different scroll through times for the first and last names. 
• It could also perhaps display some information on the serial monitor such as number of times the user 
requests displaying each name.
• You could do something fun (yet simple) like displaying a default animation which gets erased and 
written with the letter sequence invoked by the button. 
• This is not an exhaustive list!
5. At the upper end - An intermediate and advanced system
• This could employ event-driven techniques for handling button events using callbacks to make code 
more compact and efficient. 
• You could create a class for driving the 7-segment display with methods (member functions) that allow 
controlling the inter-letter times and selecting the precise letter to be displayed. There is opportunity 
to pass on all pin states as a byte array to allow writing for example something like 
“display(11111101);” to display ‘a’. 
• Even better – you could pass on a letter or entire strings. Something like “display(‘r’);” or 
“display(“rohan”);” 
• Another interesting implementation could be asking the user to enter the names to be displayed and 
then the letters of the chosen letters are displayed on button presses as before. This will require your 
program be able to display any of the 26 alphabets. 


• You could utilise interrupt service routines that allow the processor to do something else while the 
buttons are not pressed. There might be an opportunity to use multiple threads. 
• Again, this is not an exhaustive list by any means! 
6. At whatever level you write your program, its important you clearly communicate your code development (it 
carries the most marks!). Remember to save different versions of your program, so that you can present 
snippets of each while discussing how your code has evolved.
3.3 Making the submission on time and getting lab sign-offs
7. As with anything important, do not try and submit at the last hour. You do not want to lose unnecessary marks 
due to late handins. 
8. For the sign-offs, it is your responsibility to ensure you get signed-off by a member of module staff (me or the 
lab GTAs) BEFORE you leave the lab. Preparation is thus key; reading the lab brief document for the first time 
during the lab will not work! If you miss a lab, for any reason, it is your responsibility to get signed-off in the 
following lab(s). 
9. Sign-off are only permitted in-person and attempting to get all/majority of the assessed weeks’ work signed 
off in one lab will likely end in disappointment3 . Sign-offs over email will be permitted in exceptional situations 
as judged appropriate by the module leader/school office. 
10. The assessed labs (that require sign-off): Lab 3 (Functions), Lab 4 (Objects), Lab 5 (Motor control and 
accelerometer sensing), Lab 7 (Interrupts), Lab 8 (Mutexes and Semaphores), Lab 9 (Pointers), Lab 10 (Arrays)
and Lab 11 (Strings). 
3.4 Tips on working
11. Practice making a video of your circuit and check that you can upload to your university google drive and that 
you are able to generate a link to this for inclusion in your report.
12. Start working on your project during the semester, rather than telling yourself “I’ll do it over Christmas”, 
because you will likely have a hundred other things going on then (social events, exam prep, other coursework, 
holiday etc.)
a. Clone this baremetal project if you don’t plan to use multiple threads or any event-driven techniques
(faster builds). Or clone this project if you want to use concurrent techniques (slower builds). These two 
projects differ only in the contents of their mbed_app.json files, so it's easy enough to convert from one 
configuration to the other if you find you need to.
b. Create a blank word document for your report or download and edit the report template document 
available on the VLE (will save you time). If you are not using the template document, then in your 
document create 8 headings (1 block diagram, 2 schematic, 3 flowchart, 4 code development story, 5 
functionality pictures, 6 How to use guide, 7 Project planning evidence (Gantt chart) and 8 Sign-offs 
declaration) to match requirements stated in section 2.2.1 and start working on headings 7, 1, 2 and 3 in 
that order before starting to write any code and proceeding to other sections. System planning before 
implementation.
c. Unless you are informed otherwise, once your report is ready, convert it to PDF format and give it a name 
“PaDIprojectreport”
d. Once your Mbed project is ready and you are happy with the functionality
i. Record video of functionality and save it in .mp4 format. 
ii. Download .tar file of your project (i.e. the entire Mbed project folder) as indicated in section 2.2.2.
iii. Move the .tar file, your .mp4 file and report’s .pdf file into one folder called “PaDIProject” 
iv. Zip the folder and upload to the VLE submission page before the deadline
v. Celebrate! You are done! 
3 You can expect 3-4 staff for 80 students in each session. Now imagine if 10 people were trying to get signed off with a few 
saying “Can I get signed-off for the last 5 labs please?”



请加QQ:99515681  邮箱:99515681@qq.com   WX:codinghelp





 

扫一扫在手机打开当前页
  • 上一篇:代写ELEC 3662、C++设计程序代做
  • 下一篇:COM1008代做、代写Java程序设计
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    戴纳斯帝壁挂炉全国售后服务电话24小时官网400(全国服务热线)
    戴纳斯帝壁挂炉全国售后服务电话24小时官网
    菲斯曼壁挂炉全国统一400售后维修服务电话24小时服务热线
    菲斯曼壁挂炉全国统一400售后维修服务电话2
    美的热水器售后服务技术咨询电话全国24小时客服热线
    美的热水器售后服务技术咨询电话全国24小时
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
  • 币安app官网下载 短信验证码

    关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

    Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥网 版权所有
    ICP备06013414号-3 公安备 42010502001045