Army Wives
ARN The Knight Templar

Arduino For Kids Young and Old by Milligan Daniel

Arduino For Kids Young and Old by Milligan Daniel

Author:Milligan, Daniel [Milligan, Daniel]
Language: eng
Format: epub
Tags: Computer Hardware
ISBN: 9780985855635
Published: 2014-08-18T21:00:00+00:00

While you could retype everything in the file in order to make it available for use, this can be very error prone, tedious, and quite frankly a waste of time. The #include statement does this for you allowing you to build your sketches faster and more reliably. Note that the # character at the beginning of the include statement is required to indicate to the compiler that this is a special command. Once you have included the library that you need, in this case, the EEPROM library, you will be able to use the functionality that it provides in your sketch.

So we included some additional functionality in our code. That is pretty cool and something we will want to remember in the future to save time when creating more complex sketches. It is also good to note that you, as an end user, can make your own libraries of routines that you use a lot to limit the amount of coding that you need to do. The temperature conversion functions that we used previously would be good candidates for a library as we will probably use them again from time to time and we probably will not want to have to retype that information in again.

Now we come to the next new feature of the C programming language which is the structure. A structure allows the programmer to group a set of variables together into one container making it easier to pass around the data and to work with it. The following is our structure declaration which we will use in this sketch.

typedef struct { long signature; int brightness; } EE_Structure;

This structure is fairly simple and consists of the signature block and a brightness value. I have called it EE_Structure as this will be the structure of the data we will store in the EEPROM. It is important to note that this is the name of the structure definition and not the actual variable name I will use in my sketch. I am combining the brightness and a signature in the data so that I can determine if I have a valid value stored in the EEPROM when I look at it during future runs of my sketch. When I first run my sketch, I cannot guarantee what values will be in the EEPROM. The signature helps me determine if my sketch has ever been executed before. The second part of this structure is the brightness of the LED which will range from zero (0) to two hundred fifty five (255). This could fit into one unsigned character i.e. a byte however I reserved extra space in case I need it later on. So where does a structure come in handy when programming? Well, now I can use this structure just like I would a regular variable type such as an integer. I am now able to do the following:

volatile EE_Structure StoredData;

This allows me to declare both the signature and the brightness at the same time.


Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Popular ebooks
Arduino Project Handbook, Volume 2: 25 Simple Electronics Projects for Beginners by Geddes Mark(208)
But How Do It Know? by J. Clark Scott(167)
Building Evolutionary Architectures by Neal Ford(147)
Computers For Seniors For Dummies by Nancy C. Muir(116)
31 Days Before Your CompTIA A+ Exams (Shanette Luellen's Library) by Benjamin Patrick Conry(112)
Raspberry Pi Beginners Guide: Ultimate Guide For Rasberry Pi, User guide To Get The Most Out Of Your Investment, Hacking, Programming, Python, Best Hardware, Beginners Guide To Rasberry Pi by Steven Giles(109)
Getting Started with the micro:bit by Wolfram Donat(106)
Getting Started with Soldering: A Hands-On Guide to Making Electrical and Mechanical Connections by Vinck Marc de(103)
Arduino Project Handbook, Volume 2 by Mark Geddes(101)
The Internet of Things (The MIT Press Essential Knowledge series) by Greengard Samuel(98)
Mastering Docker - Second Edition by McKendrick Russ & Gallagher Scott(94)
Healthcare Information Security and Privacy (All-In-One) by Sean Murphy(93)
Mobile Computing Deployment and Management by Robert J. Bartz(92)
Networking A Beginner's Guide by Bruce Hallberg(90)
Assembly Language Using the Raspberry Pi: A Hardware Software Bridge by Robert Dunne(90)
Arduino: Simple and Effective Strategies to Learn Arduino Programming by Daniel Jones(88)
Minecraft for Makers by John Baichtal(87)
Programming the BBC micro:bit by Simon Monk(86)
Programming the Intel Galileo: Getting Started with the Arduino -Compatible Development Board by Rush Christopher(85)
Running Linux (5th Edition) by Matthias Kalle Dalheimer; Matt Welsh(83)