CS12020 for CGVG. Practical 1. Jim Finnis
|
|
- Anabel Rose
- 5 years ago
- Views:
Transcription
1 CS12020 for CGVG Practical 1 Jim Finnis (jcf1@aber.ac.uk)
2 About me 20 years in the games industry (more or less) Windows, PS2, Xbox, Gamecube, Wii development experience DirectX (more than I like to think about) OpenGL As well as a few engines... These days I'm studying for a PhD, giving hormones to robots
3 What we'll be covering Using the Arduino and custom-built shield as a very simple gaming platform Building a simple game Learning a little about displays Learning a little about inputs Because even with the best games engines, you always need to know what's really going on underneath.
4 What we'll be covering Learning about the architecture of a typical game The main loop State machines Most importantly, building on and using your knowledge of C.
5 This session Learning about the shield Connecting it Installing the library Running a test program Learning how the display works A simple exercise
6 The Shield Your Arduino, plugged in underneath Digital pin 13 LED y x Buttons 1-5 LED display headers passed though from the Arduino
7 The Shield 8x8 Bi-color LED matrix (red and green) Allows for four colours But can only show one row at a time! There are ways around this. Single red LED Connected to pin 13, like the one on the Arduino 5 buttons
8 Book out your shield! Go to the front and get a shield Sign the form to tell us you have a shield! Collect a worksheet while you're there
9 Connecting your shield Make sure you connect it with the Arduino disconnected from the PC. Make sure you connect it correctly. Double check every time Don't force it.
10 Connecting your shield Two chips and red LED this end Arduino connectors this end 6 pin row 6 pin analog header (labelled A0-A5 on your Arduino)
11 Care for your shield This is my shield. There are many others like it but this one is mine. Keep your shield dry avoid corrosion Keep it in a Tupperware box Don't knock it about or pile things on it Wrap it in cloth, tissue paper in its box Probably a good idea to keep it connected to the Arduino We have spares, but not many And you'll lose your deposit
12 Connecting your shield Now do worksheet 1, section 1 Don't move on yet.
13 How the display works The LED matrix can only show one row at a time (or rather, all rows switched on will show the same pattern) So how can we show a picture with different patterns for each row?
14 Persistence of Vision We very quickly turn show each row in turn by itself About 1000 times a second! This looks like a single picture because of persistence of vision (although it's really a bit more complicated than that) This is how old CRTs used to work Flickering lights at faster than about 16Hz appear steady And this is why low frame rates look bad in games.
15 Interrupts Functions which run automatically in response to hardware events What your program is doing is saved, the interrupt runs, the code goes back to your program. Your code doesn't notice Timers, button presses, etc. (except for a little time lost in the interrupt) This is how multitasking operating systems work
16 Interrupts We output the frame buffer to the LED matrix using an interrupt. Interrupts can be triggered by internal timers as well as external signals Our interrupt redisplays each line of the screen at very short intervals (but it's OK, the library sets it up for you) All you need to do is set pixel values in the frame buffer.the interrupt will do the rest.
17 The frame buffer The frame buffer is an array of values which the system uses to generate the display. The end product of all drawing operations is always a frame buffer. Our frame buffer is an array of 8 short (16 bit) integers Each entry in the array is a row, each adjacent pair of bits is a column one bit for red, one bit for green.
18 The frame buffer data[0] = R G R G R G R G R G R G R G R G data[1] = R G R G R G R G R G R G R G R G data[2] = R G R G R G R G R G R G R G R G data[3] = R G R G R G R G R G R G R G R G data[4] = R G R G R G R G R G R G R G R G data[5] = R G R G R G R G R G R G R G R G data[6] = R G R G R G R G R G R G R G R G data[7] = R G R G R G R G R G R G R G R G
19 Example
20 Example data[0]: = 0 data[1]: = 512 data[2]:? data[3]: should be obvious data[4] and so on should be really obvious
21 Writing to the AberLED frame buffer Luckily for you, you don't need to know how to access the bits directly but it still might be useful to you. For example, setting a whole row to red. To set an individual pixel to a colour, use AberLED.set(x,y,colour) where the colour is GREEN, RED, YELLOW or BLACK.
22 Coordinates The coordinate system for set() x (0,0) is top left This is a fairly common setup y
23 swap()? Your test code starts the system up, sets some pixels and then calls swap(). That's because the AberLED system is double buffered.
24 Tearing and Flickering These used to be common effects in games Tearing is due to the display being refreshed (redrawn onto the physical display) before we've finished working on it. Flickering is due to the need to build up the display in layers, some of which are going to get overdrawn think of a Head Up Display Both problems arise because the frame buffer is being displayed while we're drawing on it!
25 Tearing Also at
26 Flickering Consider the layers in this scene being built up
27 The solution We need to draw everything all at once somehow Obviously we can't really do that But we can build up our image on another frame buffer and then instantly copy it to the display buffer.
28 Double buffering Even better, we can keep two buffers. The back buffer is being drawn on while the front buffer is being displayed, When we've finished drawing, we swap the two buffers over (some people calling this flipping) The buffer we just drew as the back buffer is now the front buffer, and is being displayed The old front buffer now the back buffer, we can write our new picture to it.
29 Double buffering Graphics hardware (or interrupt) rendering the front buffer to the display Front displaying displaying displaying displaying Back drawing drawing drawing drawing Drawing code writing data to the back buffer
30 Double buffering So when you render a frame (a single picture) to the display you must: Clear the display to erase what was in the buffer before Draw your image by writing to the back buffer Swap the back and front buffers What you just drew will now be displayed, What was just displayed will now the back buffer and can be drawn over
31 Double buffering Why are we swapping? Why not just copy the back buffer to the front buffer? Hint: we can do the swap without copying any memory. How?
32 Double buffering We never actually move the buffer data We just swap pointers to it!
33 Pointer swapping buffera bufferb unsigned short buffera[8]; unsigned short bufferb[8]; unsigned short *frontbuffer = buffera; unsigned short *backbuffer = bufferb; back front
34 Pointer swapping buffera bufferb void swap(){ unsigned short *tmp = frontbuffer; frontbuffer = backbuffer; backbuffer = tmp; } back front
35 Pointer swapping buffera bufferb void swap(){ unsigned short *tmp = frontbuffer; frontbuffer = backbuffer; backbuffer = tmp; } back front
36 Pointer swapping buffera bufferb void swap(){ unsigned short *tmp = frontbuffer; frontbuffer = backbuffer; backbuffer = tmp; } back front
37 Pointer swapping buffera bufferb void swap(){ unsigned short *tmp = frontbuffer; frontbuffer = backbuffer; backbuffer = tmp; } back front
38 Pointer swapping buffera bufferb void swap(){ unsigned short *tmp = frontbuffer; frontbuffer = backbuffer; backbuffer = tmp; } back front
39 The Test Code #include <AberLED.h> void setup( ){ AberLED.begin(); AberLED.clear(); for(int i=0;i<8;i++){ AberLED.set(i,i,YELLOW); } AberLED.swap(); } void loop(){ } Include the library definition Start the LED library Clear the back buffer Set pixels (0,0), (1,1), (2,2) and so on to yellow in the back buffer Swap the front and back buffers The front buffer, the one which the interrupt is continuously displaying, will now show what we have drawn.
40 Extra information For those of you interested in the electronics The LED matrix requires 24 control signals one for each row, two for each column (red and green) We're controlling these using just 6 pins on the Arduino using shift registers chips which take a serial signal (i.e. a stream of bits over time) and convert them to a parallel signal (i.e. lots of outputs) More information on the worksheet
41 Making it move Our current program only draws one thing a diagonal line. What about animating something? We can use the Arduino loop() function, which is run repeatedly once setup() has finished.
42 Inside the loop function Clear the display with AberLED.clear() Draw everything Swap the buffers with AberLED.swap() Update variables Delay Why?
43 Exercise 1 Can you make a red dot move left to right across the screen? What variable(s) do you need? How should they change each time round the loop? How do you detect when the dot reaches the edge? What should the variable(s) do when that happens?
44 Exercise 2 Can you make it bounce off the ends instead of wrapping round? Do you need any more variables?
45 Input Your Arduino has 5 buttons You can get the state of each button with the getbutton(int number) if(aberled.getbutton(1)) Serial.println( eek );
46 Exercise 3 Can you change your program to make it move the dot in response to user buttons? Use buttons 1-4 to make the dot change direction, and button 5 to make it stop. What variables do you need? What should you do when the dot goes off the edge? Are there any problems?
CS12020 (Computer Graphics, Vision and Games) Worksheet 1
CS12020 (Computer Graphics, Vision and Games) Worksheet 1 Jim Finnis (jcf1@aber.ac.uk) 1 Getting to know your shield First, book out your shield. This might take a little time, so be patient. Make sure
More informationCS12020 for CGVG. Practical 2. Jim Finnis
CS12020 for CGVG Practical 2 Jim Finnis (jcf1@aber.ac.uk) This week Solution to last week and discussion Global variables and the model The Main Loop pattern States and the State Machine pattern Random
More informationLinked Lists. What is a Linked List?
Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the
More informationUniversity of Hull Department of Computer Science C4DI Interfacing with Arduinos
Introduction Welcome to our Arduino hardware sessions. University of Hull Department of Computer Science C4DI Interfacing with Arduinos Vsn. 1.0 Rob Miles 2014 Please follow the instructions carefully.
More informationRobotics and Electronics Unit 5
Robotics and Electronics Unit 5 Objectives. Students will work with mechanical push buttons understand the shortcomings of the delay function and how to use the millis function. In this unit we will use
More informationD - Tic Tac Toe. Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9
D - Tic Tac Toe Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9 INTRODUCTION Let's use our 9 sparkles to build a tic tac toe game! Step 1 Assemble the Robot
More informationMITOCW watch?v=hverxup4cfg
MITOCW watch?v=hverxup4cfg PROFESSOR: We've briefly looked at graph isomorphism in the context of digraphs. And it comes up in even more fundamental way really for simple graphs where the definition is
More informationConnecting Arduino to Processing
Connecting Arduino to Processing Introduction to Processing So, you ve blinked some LEDs with Arduino, and maybe you ve even drawn some pretty pictures with Processing - what s next? At this point you
More informationStarting Windows Live Mail
1 Starting Windows Live Mail Click on the Start button Mail. and then, on the Start Menu, click on Windows Live A window like this will open: This picture shows you the whole screen. I've 'maximised' the
More informationSlide 1 CS 170 Java Programming 1
CS 170 Java Programming 1 Objects and Methods Performing Actions and Using Object Methods Slide 1 CS 170 Java Programming 1 Objects and Methods Duration: 00:01:14 Hi Folks. This is the CS 170, Java Programming
More informationLoad your files from the end of Lab A, since these will be your starting point.
Coursework Lab B It is extremely important that you finish lab A first, otherwise this lab session will probably not make sense to you. Lab B gives you a lot of the background and basics. The aim of the
More informationThe Stack, Free Store, and Global Namespace
Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information
More informationLaboratory Exercise 8
Laboratory Exercise 8 Introduction to Graphics and Animation The purpose of this exercise is to learn how to display images and perform animation. We will use the Nios II processor, in the pre-build DE-series
More informationPROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between
MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query
More informationIntroduction to Game Programming Lesson 4 Lecture Notes
Introduction to Game Programming Lesson 4 Lecture Notes Learning Objectives: Following this lecture, the student should be able to: Define frame rate List the factors that affect the amount of time a game
More informationDirect Variations DIRECT AND INVERSE VARIATIONS 19. Name
DIRECT AND INVERSE VARIATIONS 19 Direct Variations Name Of the many relationships that two variables can have, one category is called a direct variation. Use the description and example of direct variation
More informationArduino IDE Friday, 26 October 2018
Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.
More informationCS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.
CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be
More information36mm LED Pixels. Created by Phillip Burgess. Last updated on :45:20 PM EDT
36mm LED Pixels Created by Phillip Burgess Last updated on 2013-07-26 03:45:20 PM EDT Guide Contents Guide Contents Overview Project Ideas Wiring Powering Code Installation Using the Library Troubleshooting
More informationSlide 1 CS 170 Java Programming 1 Multidimensional Arrays Duration: 00:00:39 Advance mode: Auto
CS 170 Java Programming 1 Working with Rows and Columns Slide 1 CS 170 Java Programming 1 Duration: 00:00:39 Create a multidimensional array with multiple brackets int[ ] d1 = new int[5]; int[ ][ ] d2;
More informationMITOCW MIT6_172_F10_lec18_300k-mp4
MITOCW MIT6_172_F10_lec18_300k-mp4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for
More informationPong in Unity a basic Intro
This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this
More informationSmoother Graphics Taking Control of Painting the Screen
It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window
More informationMITOCW watch?v=penh4mv5gag
MITOCW watch?v=penh4mv5gag PROFESSOR: Graph coloring is the abstract version of a problem that arises from a bunch of conflict scheduling situations. So let's look at an example first and then define the
More informationCS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.
CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions The Midterm Exam was given in class on Tuesday, October 16, 2012. 1. [7 pts] Synthetic-Camera Model. Describe the Synthetic-Camera Model : how
More informationContents. What's New. Version released. Newsletter #31 (May 24, 2008) What's New New version released, version 4.3.3
Campground Master Newsletter #31 (May 24, 2008) 1 Newsletter #31 (May 24, 2008) Contents What's New New version released, version 4.3.3 Q & A Retrieving credit card information Guarantee Info missing the
More informationCPSC 320 Notes, Playing with Graphs!
CPSC 320 Notes, Playing with Graphs! January 14, 2017 Today we practice reasoning about graphs by playing with two new terms. These terms/concepts are useful in themselves but not tremendously so; they're
More informationMITOCW watch?v=4dj1oguwtem
MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive
More informationCOMP : Practical 6 Buttons and First Script Instructions
COMP126-2006: Practical 6 Buttons and First Script Instructions In Flash, we are able to create movies. However, the Flash idea of movie is not quite the usual one. A normal movie is (technically) a series
More informationLesson 18: Animation. Computer Programming is Fun!
Lesson 18: Animation So how do you make your drawings move and change? That's what this section is about. I'd like to introduce you to your new friend, Mr. Timer. A timer gives you the ability to tell
More informationComputer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D)
Computer Graphics Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Introduction Applications of Computer Graphics: 1) Display of Information 2) Design 3) Simulation 4) User
More informationAdobe Photoshop How to Use the Marquee Selection Tools
Adobe Photoshop How to Use the Marquee Selection Tools In Photoshop there are various ways to make a selection and also various reasons why you'd want to make a selection. You may want to remove something
More informationInstruction Case Vba Excel Between Two Dates
Instruction Case Vba Excel Between Two Dates Countdown Timer Between Two Times (Not Dates) I've had serious issues with how VBA handles times and dates before in this manner, is there something. In some
More information(Refer Slide Time: 1:43)
(Refer Slide Time: 1:43) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 27 Pattern Detector So, we talked about Moore
More informationSo on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees.
So on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees. According to the 161 schedule, heaps were last week, hashing
More information521493S Computer Graphics Exercise 1 (Chapters 1-3)
521493S Computer Graphics Exercise 1 (Chapters 1-3) 1. Consider the clipping of a line segment defined by the latter s two endpoints (x 1, y 1 ) and (x 2, y 2 ) in two dimensions against a rectangular
More informationM i c r o s o f t E x c e l A d v a n c e d P a r t 3-4. Microsoft Excel Advanced 3-4
Microsoft Excel 2010 Advanced 3-4 0 Absolute references There may be times when you do not want a cell reference to change when copying or filling cells. You can use an absolute reference to keep a row
More information4. Write sets of directions for how to check for direct variation. How to check for direct variation by analyzing the graph :
Name Direct Variations There are many relationships that two variables can have. One of these relationships is called a direct variation. Use the description and example of direct variation to help you
More informationLesson 4: Animation. Goals
Introduction: In this session you are going to use custom built tools in Arduino to help you turn images or animation into code that automatically uploads to your DIY Gamer. It is a fun and easy way to
More informationPC Transporter Components PC Transporter Pinouts
PC Transporter Components PC Transporter Pinouts 1) From Apple II Speaker connection on motherboard 2) IIe keyboard adapter 3) Composite video (To IIe monitor or VCR/TV *VIDEO* input) 4) PC Transporter
More informationOpen GL Framework For A Computer Graphics Course
Open GL Framework For A Computer Graphics Course Programmer: Daniel Odle Sponsor / Advisor: Dr. Morse University of Evansville 4-26-03 Table of Contents Introduction 3 Statement of Problem 3 Design Approach
More informationIntroduction to Programming in C Department of Computer Science and Engineering. Lecture No. #44. Multidimensional Array and pointers
Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #44 Multidimensional Array and pointers In this video, we will look at the relation between Multi-dimensional
More informationBlitz2D Newbies: Definitive Guide to Types by MutteringGoblin
Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin Types are probably the hardest thing to understand about Blitz Basic. If you're using types for the first time, you've probably got an uneasy
More informationDigital Circuits. Page 1 of 5. I. Before coming to lab. II. Learning Objectives. III. Materials
I. Before coming to lab Read this handout and the supplemental. Also read the handout on Digital Electronics found on the course website. II. Learning Objectives Using transistors and resistors, you'll
More informationInstruction Case Vba Excel Between Two Date
Instruction Case Vba Excel Between Two Date Countdown Timer Between Two Times (Not Dates). No problem. We won't Random date-time between two date-times in Excel VBA 0 two processes in VBA. Excel VBA Date
More informationAdobe Flash CS3 Reference Flash CS3 Application Window
Adobe Flash CS3 Reference Flash CS3 Application Window When you load up Flash CS3 and choose to create a new Flash document, the application window should look something like the screenshot below. Layers
More informationCoursework Lab A. Open the coursework project
Coursework Lab A The aim of this lab session is for you to learn the basics of how the coursework framework works. In this first of two lab sessions you will learn about drawing backgrounds and handling
More informationOPERATING SYSTEMS CS136
OPERATING SYSTEMS CS136 Jialiang LU Jialiang.lu@sjtu.edu.cn Based on Lecture Notes of Tanenbaum, Modern Operating Systems 3 e, 1 Chapter 5 INPUT/OUTPUT 2 Overview o OS controls I/O devices => o Issue commands,
More informationMITOCW watch?v=sdw8_0rdzuw
MITOCW watch?v=sdw8_0rdzuw PROFESSOR: Directed acyclic graphs are a special class of graphs that really have and warrant a theory of their own. Of course, "directed acyclic graphs" is lot of syllables,
More informationComputer Graphics and Visualization. Graphics Systems and Models
UNIT -1 Graphics Systems and Models 1.1 Applications of computer graphics: Display Of Information Design Simulation & Animation User Interfaces 1.2 Graphics systems A Graphics system has 5 main elements:
More informationNote. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.
Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how
More informationSlide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 Advance mode: Auto
CS 170 Java Programming 1 Expressions Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 What is an expression? Expression Vocabulary Any combination of operators and operands which, when
More informationModule 13C: Using The 3D Graphics APIs OpenGL ES
Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library
More informationMITOCW watch?v=rvrkt-jxvko
MITOCW watch?v=rvrkt-jxvko The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More information3D LEADS 2D: ANIMATING A 3D CHARACTER WITH A 3D STAND-IN USING MAYA
Chapter 3 3D CHARACTER LEADS 2D CHARACTER 53 printing and pegging of the 3D assets and possible registration issues. In scenes where one character is definitively leading the other one, it is an easy pipeline.
More informationInstructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships
Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,
More informationWhat's the Slope of a Line?
What's the Slope of a Line? These lines look pretty different, don't they? Lines are used to keep track of lots of info -- like how much money a company makes. Just off the top of your head, which of the
More informationENGR 40M Project 3c: Switch debouncing
ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the
More informationHow to Improve Your Campaign Conversion Rates
How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email
More informationReal Time Data Plotting
Real Time Data Plotting Introduction This lesson will show how to write a program plot data on a X-Y graph. On the Arduino, write a program to sample a sensor and print the voltage to the Serial interface.
More informationIntroduction to Computer Graphics (CS602) Lecture No 03 Graphics Systems
Introduction to Computer Graphics (CS602) Lecture No 03 Graphics Systems 3.1 Raster-Scan Systems Interactive raster graphics systems typically employ several processing units. In addition to the CPU, a
More informationCHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of
CHIPS Newsletter Vol 5 From: "chips@elproducts.net" To: "Chuck Hellebuyck" Thursday, April 29, 2010 12:07 AM CHIPs Vol 5 / April 28, 2010 Official Newsletter
More informationMITOCW ocw f99-lec12_300k
MITOCW ocw-18.06-f99-lec12_300k This is lecture twelve. OK. We've reached twelve lectures. And this one is more than the others about applications of linear algebra. And I'll confess. When I'm giving you
More informationModule 003: Introduction to the Arduino/RedBoard
Name/NetID: Points: /5 Module 003: Introduction to the Arduino/RedBoard Module Outline In this module you will be introduced to the microcontroller board included in your kit. You bought either An Arduino
More informationMITOCW watch?v=0jljzrnhwoi
MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More information2.2" TFT Display. Created by lady ada. Last updated on :19:15 PM UTC
2.2" TFT Display Created by lady ada Last updated on 2017-12-22 11:19:15 PM UTC Guide Contents Guide Contents Overview Pinouts Assembly Arduino Wiring Arduino UNO or Compatible Wiring Wiring for Other
More informationAdd in a new balloon sprite, and a suitable stage backdrop.
Balloons Introduction You are going to make a balloon-popping game! Step 1: Animating a balloon Activity Checklist Start a new Scratch project, and delete the cat sprite so that your project is empty.
More informationCSE143 Notes for Monday, 4/25/11
CSE143 Notes for Monday, 4/25/11 I began a new topic: recursion. We have seen how to write code using loops, which a technique called iteration. Recursion an alternative to iteration that equally powerful.
More informationAll textures produced with Texture Maker. Not Applicable. Beginner.
Tutorial for Texture Maker 2.8 or above. Note:- Texture Maker is a texture creation tool by Tobias Reichert. For further product information please visit the official site at http://www.texturemaker.com
More informationGraphical LCD Display Datasheet EB
Graphical LCD Display Datasheet EB043-00-1 Contents 1. About this document... 2 2. General information... 3 3. Board layout... 6 4. Testing this product... 7 5. Circuit description... 8 Appendix 1 Circuit
More informationCS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012 1 Today s Topics Vectors review Shirley et al. 2.4 Rasters Shirley et al. 3.0-3.2.1 Rasterizing Lines Shirley et al.
More informationOverview: The Map Window
Overview: The Map Window The Map Menu Map Window Tools and Controls Map Drawing Tools Clipboard Commands Undoing Edits Overview: The Map Window The MFworks Map window is a powerful facility for the visualization
More informationJava Programming. Computer Science 112
Java Programming Computer Science 112 Review: Problem solving Class 4 is the Whole Point of Programming. You can keep the papers; we gonna go through them on the board. If you are desperately confused
More informationArduino 05: Digital I/O. Jeffrey A. Meunier University of Connecticut
Arduino 05: Digital I/O Jeffrey A. Meunier jeffm@engr.uconn.edu University of Connecticut About: How to use this document I designed this tutorial to be tall and narrow so that you can read it on one side
More informationIntroduction to Flash - Creating a Motion Tween
Introduction to Flash - Creating a Motion Tween This tutorial will show you how to create basic motion with Flash, referred to as a motion tween. Download the files to see working examples or start by
More informationFlying Start AS Computer Science. September 2015
Flying Start AS Computer Science September 2015 Name: To your first AS Computing lesson, you will need to bring: 1. A folder with dividers An A4 ring binder with labelled A4 dividers would be ideal. The
More informationComputer graphic -- Programming with OpenGL I
Computer graphic -- Programming with OpenGL I A simple example using OpenGL Download the example code "basic shapes", and compile and run it Take a look at it, and hit ESC when you're done. It shows the
More informationShadows in the graphics pipeline
Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects
More informationBuilding an Arduino-powered underwater ROV
Building an Arduino-powered underwater ROV An ROV offers an entirely different way to use Arduino to explore a new world. This project is a bit different in two ways. First, there is quite a bit of mechanical
More informationP1_L3 Operating Systems Security Page 1
P1_L3 Operating Systems Security Page 1 that is done by the operating system. systems. The operating system plays a really critical role in protecting resources in a computer system. Resources such as
More informationECE 2036 Lab 4 Setup and Test mbed I/O Hardware Check-Off Deadline: Thursday, March 17, Name:
ECE 2036 Lab 4 Setup and Test mbed I/O Hardware Check-Off Deadline: Thursday, March 17, 2016 Name: Item Part 1. (40%) Color LCD Hello World Part 2. (10%) Timer display on Color LCD Part 3. (25%) Temperature
More informationWater meter + Arduino = Aquameterduino!
Water meter + Arduino = Aquameterduino! The idea of this project is to use an arduino to count every drop of water that goes through the water company meter. Said arduino needs to be connected to my LAN
More informationMITOCW ocw f99-lec07_300k
MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those
More informationMultiJAMMA Switchboard Installation and User s Manual
MultiJAMMA Switchboard Installation and User s Manual 2000, Clay Cowgill Revision 1.0 Notice Regarding this Kit Warning! Although this kit has been tested and the techniques used will not directly cause
More informationCreate a memory DC for double buffering
Animation Animation is implemented as follows: Create a memory DC for double buffering Every so many milliseconds, update the image in the memory DC to reflect the motion since the last update, and then
More informationConstraint Satisfaction Problems: A Deeper Look
Constraint Satisfaction Problems: A Deeper Look The last problem set covered the topic of constraint satisfaction problems. CSP search and solution algorithms are directly applicable to a number of AI
More informationNote: Please use the actual date you accessed this material in your citation.
MIT OpenCourseWare http://ocw.mit.edu 18.06 Linear Algebra, Spring 2005 Please use the following citation format: Gilbert Strang, 18.06 Linear Algebra, Spring 2005. (Massachusetts Institute of Technology:
More informationB - Broken Track Page 1 of 8
B - Broken Track There's a gap in the track! We need to make our robot even more intelligent so it won't get stuck, and can find the track again on its own. 2017 https://www.hamiltonbuhl.com/teacher-resources
More informationFormal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5
Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they
More informationCPSC 320 Sample Solution, Playing with Graphs!
CPSC 320 Sample Solution, Playing with Graphs! September 23, 2017 Today we practice reasoning about graphs by playing with two new terms. These terms/concepts are useful in themselves but not tremendously
More informationSlide 1 CS 170 Java Programming 1 Testing Karel
CS 170 Java Programming 1 Testing Karel Introducing Unit Tests to Karel's World Slide 1 CS 170 Java Programming 1 Testing Karel Hi Everybody. This is the CS 170, Java Programming 1 lecture, Testing Karel.
More informationLecture 4 Advanced Computer Graphics (CS & SE )
Lecture 4 Advanced Computer Graphics (CS & SE 233.420) Topics Covered Animation Matrices Viewing Lighting Animating Interactive Programs Consider planet.c Want to animate rotating the Earth around the
More informationEVENT-DRIVEN PROGRAMMING
LESSON 13 EVENT-DRIVEN PROGRAMMING This lesson shows how to package JavaScript code into self-defined functions. The code in a function is not executed until the function is called upon by name. This is
More informationAzon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage
Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress
More informationCS Homework 10 p. 1. CS Homework 10
CS 111 - Homework 10 p. 1 Deadline 11:59 pm on Friday, December 2, 2016 How to submit Each time you would like to submit your work: CS 111 - Homework 10 If your files are not already on nrs-labs, be sure
More informationThe personal computer system uses the following hardware device types -
EIT, Author Gay Robertson, 2016 The personal computer system uses the following hardware device types - Input devices Input devices Processing devices Storage devices Processin g Cycle Processi ng devices
More informationVolume Shadows Tutorial Nuclear / the Lab
Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.
More information4.3, Math 1410 Name: And now for something completely different... Well, not really.
4.3, Math 1410 Name: And now for something completely different... Well, not really. How derivatives affect the shape of a graph. Please allow me to offer some explanation as to why the first couple parts
More informationA CHILD S GUIDE TO DIRECT DATALOGGING WITH EXCEL. (All brickbats and bouquets gladly received - on the Arduino forum)
A CHILD S GUIDE TO DIRECT DATALOGGING WITH EXCEL version 5 (All brickbats and bouquets gladly received - on the Arduino forum) This is an aide memoire for the PLX-DAQ macro for Excel. Parallax do not address
More informationTutorial 3: Constructive Editing (2D-CAD)
(2D-CAD) The editing done up to now is not much different from the normal drawing board techniques. This section deals with commands to copy items we have already drawn, to move them and to make multiple
More information