Immediate download Coding the Arduino: Building Fun Programs, Games, and Electronic Projects (Technology in Action) Dukish ebooks 2024
Immediate download Coding the Arduino: Building Fun Programs, Games, and Electronic Projects (Technology in Action) Dukish ebooks 2024
com
https://ebookmeta.com/product/coding-the-arduino-building-
fun-programs-games-and-electronic-projects-technology-in-
action-dukish/
OR CLICK HERE
DOWLOAD NOW
https://ebookmeta.com/product/coding-the-arduino-building-fun-
programs-games-and-electronic-projects-1st-edition-bob-dukish/
ebookmeta.com
https://ebookmeta.com/product/fun-and-games-building-miniature-models-
multiplying-decimals-kristy-stark/
ebookmeta.com
https://ebookmeta.com/product/grokking-algorithms-an-illustrated-
guide-for-programmers-and-other-curious-people-1st-edition-aditya-y-
bhargava-2/
ebookmeta.com
https://ebookmeta.com/product/safe-as-houses-private-greed-political-
negligence-and-housing-policy-after-grenfell-1st-edition-stuart-
hodkinson/
ebookmeta.com
https://ebookmeta.com/product/fruits-and-their-roles-in-
nutraceuticals-and-functional-foods-sajad-ahmad-wani-editor/
ebookmeta.com
https://ebookmeta.com/product/asp-net-web-api-2-building-a-rest-
service-from-start-to-finish-2nd-edition-jamie-kurtz-brian-wortman/
ebookmeta.com
The DIY Investor 3rd edition Andy Bell
https://ebookmeta.com/product/the-diy-investor-3rd-edition-andy-bell/
ebookmeta.com
TECHNOLOGY IN AC TION™
Coding the
Arduino
Building Fun Programs, Games,
and Electronic Projects
—
Bob Dukish
Coding the Arduino
Building Fun Programs, Games,
and Electronic Projects
Bob Dukish
Coding the Arduino: Building Fun Programs, Games, and
Electronic Projects
Bob Dukish
Canfield, Ohio, USA
iii
Table of Contents
Chapter 3: Microcontrollers����������������������������������������������������������������37
Describing Microcontrollers��������������������������������������������������������������������������������37
Writing a Program�����������������������������������������������������������������������������������������������43
Review Questions������������������������������������������������������������������������������������������57
Project 3��������������������������������������������������������������������������������������������������������59
iv
Table of Contents
Multidimensional Arrays�����������������������������������������������������������������������������������135
Dice Game���������������������������������������������������������������������������������������������������������136
Review Questions����������������������������������������������������������������������������������������140
Project 6������������������������������������������������������������������������������������������������������142
v
Table of Contents
Appendix�������������������������������������������������������������������������������������������277
Using and Writing Libraries�������������������������������������������������������������������������������277
Answers to Chapter Review Questions and Projects����������������������������������������280
Chapter 1�����������������������������������������������������������������������������������������������������280
Chapter 2�����������������������������������������������������������������������������������������������������281
Chapter 3�����������������������������������������������������������������������������������������������������282
Chapter 4�����������������������������������������������������������������������������������������������������283
Chapter 5�����������������������������������������������������������������������������������������������������284
Chapter 6�����������������������������������������������������������������������������������������������������285
Chapter 7�����������������������������������������������������������������������������������������������������286
Chapter 8�����������������������������������������������������������������������������������������������������286
Parts List�����������������������������������������������������������������������������������������������������������287
Index�������������������������������������������������������������������������������������������������289
vi
About the Author
Bob Dukish has been working in the field of computers and electronics
for over 35 years. He served in the military, worked as an electronic
component engineer, ran a corporation, and taught engineering at both
the high school and college levels. He has two associate’s degrees in
technology, a bachelor’s degree in physics from Syracuse University,
and master’s degrees from both Kent State University and Rensselaer
Polytechnic Institute. His last master’s degree was earned at the age of 54,
and he considers himself to be a lifelong learner.
vii
About the Technical Reviewers
Dave Brett started his electronics career in the U.S. Air Force as an
instructor in the Radar School at Keesler AFB. He went on to work as a
technician for the Ohio State University, and as a 2-way radio technician
for MSS. Dave taught electronics for many years at ITT Technical Institute
in Youngstown Ohio, and is now is an Instructor at the Pittsburgh Institute
of Aeronautics. He graduated from Youngstown State University with a
master’s degree in Education and is certified by the Electronics Technician
Association, CompTia, and the Society of Broadcast Engineers. Dave is
an avid Amateur Radio enthusiast and participates in the Amateur Radio
Emergency Service.
ix
Warning
Electrical circuits and components may contain lethal voltages even
when disconnected. Do not attempt to test, modify, or repair electrical
equipment. Hazardous voltages might be present, and even low voltages
can produce high currents that can cause severe burns. Care must also
be taken, as some Arduino boards have exposed solder connections that
could come in contact with conductive materials and cause a short circuit.
xi
Introduction
Communication and Creativity
Life-forms on our planet are biologically programmed through evolution
to be interested in their surroundings for self-preservation, but some go a
step further. There is a popular expression: “Curiosity killed the cat.” Our
human species is extraordinarily inquisitive as well (although not equal to
the cat), but it is our curiosity coupled with communication and creativity
that has propelled humankind to become the dominant species on the
planet. What is truly special about the human race is our ability to discover,
retain, convey, and most important, synthesize new concepts. The
communal knowledge that we amass allows us as a species to learn from
past experiences, and we use our creativity to develop entirely new ideas.
This has brought about modern technological marvels such as telephone,
television, computers, and all of the other items ubiquitous in our modern
lifestyle. Humankind’s insatiable need to be linked together with others
and communicate information builds a database of knowledge where
creative thought can then be applied to synthesize new concepts. This is
undeniably how the exponential growth in technological advancement has
occurred. Paraphrasing Sir Isaac Newton, we stand “on the shoulders of
giants.”
We can extrapolate back to prehistoric times and make an educated
assumption that knowledge was shared in early societies by individuals
patterning after others within a group even before spoken or written
language was developed. As time progressed and history developed, we
know through writings that early humans sought to satisfy their curiosity
and used creative thought to make sense of the world around them.
xiii
Introduction
xiv
Introduction
status, the grandeur of the universe should resonate with us and unite
all of humankind. Unfortunately, parochial systems persist, and we have
amassed the knowledge and technology to obliterate the planet we live
on. Several nations across the globe have a hairpin trigger on nuclear
devices that could purposefully destroy our entire civilization. Perhaps the
reason that we have not been able to eavesdrop on communication signals
emanating from civilizations orbiting other stars is that they are either too
young or have gotten to the point at which we are now and have developed
nuclear weapons and destroyed themselves. Let’s hope for the best for
them, and for ourselves.
xv
Introduction
A
cknowledgments
A very intelligent gentleman who worked as a professional house painter
offered thoughtful advice when I complained that a job was so massive
that it would take “forever” to complete. His response was to not look at
the overall project, but to only concentrate on one section at a given time.
That advice rings true in every aspect of life, and especially in complex
areas like computer hardware design and software programming. What
at first glance might seem insurmountably difficult to comprehend can
xvi
Introduction
indeed be conquered by having laser-like focus and taking things one step
at a time. Thank you, Tom Martinko. Thank you to the code reviewers Dave
Brett and Mark Furman who tested every line of code for functionality.
I would also like to thank my students from the Trumbull Correctional
Institution in Ohio and their desire to overcome adversity and achieve
success as productive citizens by gaining new employment skills. Finally,
I would like to express my gratitude to the great college instructors I was
lucky to have had, who helped me understand complex material by not
putting tedious and unnecessary roadblocks in the way.
xvii
Discovering Diverse Content Through
Random Scribd Documents
deux ailes d'infanterie devaient se déployer, et envelopper l'armée
de Constantin, déja rompue par la cavalerie. Le prince, qui avait le
coup d'œil militaire, comprit le dessein des ennemis à l'ordre de leur
bataille. Il place des corps à droite et à gauche pour faire face à
l'infanterie et arrêter ses mouvements. Pour lui, il se met au centre
en tête de cette redoutable cavalerie. Quand il la voit sur le point de
heurter le front de son armée, au lieu de lui résister, il ordonne à ses
troupes de s'ouvrir: c'était un torrent qui n'avait de force qu'en ligne
droite; le fer dont elle était revêtue ôtait toute souplesse aux
hommes et aux chevaux. Mais dès qu'il la voit engagée entre ses
escadrons, il la fait enfermer et attaquer de toutes parts, non pas à
coups de lances et d'épée, on ne pouvait percer de tels ennemis,
mais à grands coups de masses d'armes. On les assommait, on les
écrasait sur la selle de leurs chevaux, on les renversait, sans qu'ils
pussent ni se mouvoir pour se défendre, ni se relever quand ils
étaient abattus. Bientôt ce ne fut plus qu'une horrible confusion
d'hommes, de chevaux, d'armes, amoncelés les uns sur les autres.
Ceux qui échappèrent à ce massacre voulurent se sauver à Turin
avec l'infanterie: mais ils en trouvèrent les portes fermées, et
Constantin, qui les poursuivit l'épée dans les reins, acheva de les
tailler en pièces au pied des murailles.
Cette victoire, qui ne coûta point de sang au
vainqueur, lui ouvrit les portes de Turin. La plupart iv. Suites de la
des autres places entre le Pô et les Alpes lui victoire.
envoyèrent des députés pour l'assurer de leur
soumission: toutes s'empressaient de lui offrir des Incert. Pan. c. 7.
vivres. Sigonius, sur un passage de saint Jérôme,
conjecture que Verceil fit quelque résistance, et
que cette ville fut alors presque détruite. Il n'en est Sigon. Imp.
Occ. p. 52.
point parlé ailleurs. Constantin alla à Milan, et son
entrée devint une espèce de triomphe par la joie et
les acclamations des habitants, qui ne pouvaient Hieron. Epist.
se lasser de le voir et de lui applaudir comme au ad Innocentium.
libérateur de l'Italie. t. i, p. 3. ed.
Vallars.
Au sortir de Milan, où il était resté quelques jours
pour donner du repos à ses troupes, il prit la route de Vérone. Il
savait qu'il y trouverait rassemblées les plus
grandes forces de Maxence, commandées par les v. Siége de
meilleurs capitaines de ce prince et par son préfet Vérone.
du prétoire, Ruricius Pompéianus, le plus brave et
le plus habile général que le tyran eût à son Incert. Pan. c. 8
service. En passant auprès de Bresce [Brixia], et seq.
Constantin rencontra un gros corps de cavalerie,
qui prit la fuite au premier choc et alla rejoindre
Nazar. Pan. c.
l'armée de Vérone. Ruricius n'osa tenir la 26.
campagne; il se renferma avec ses troupes dans la
ville. Le siége en était difficile: il fallait passer l'Adige [Athesis], et se
rendre maître du cours de ce fleuve qui portait l'abondance à
Vérone: il était rapide, plein de gouffres et de rochers, et les ennemis
en gardaient les bords. Constantin trompa pourtant leur vigilance;
étant remonté fort au-dessus de la ville, jusqu'à un endroit où le
trajet était praticable, il y fit passer à leur insu une partie de son
armée. A peine le siége fut-il formé, que les assiégés firent une
vigoureuse sortie, et furent repoussés avec tant de carnage, que
Ruricius se vit obligé de sortir secrètement de la ville pour aller
chercher de nouveaux secours.
Il revint bientôt avec une plus grosse armée, résolu
de faire lever le siége ou de périr. L'empereur, pour vi. Bataille de
ne pas donner aux assiégés la liberté de Vérone.
s'échapper, ou même de l'attaquer en queue
pendant le combat, laisse devant la ville une partie Incert. Pan. c. 9
de ses troupes, et marche avec l'autre à la et 10.
rencontre de Ruricius. Il range d'abord son armée
sur deux lignes; mais ayant observé que celle des
Nazar. Pan. c.
ennemis était plus nombreuse, il met la sienne sur 26.
une seule ligne, et fait un grand front de peur d'être
enveloppé. Le combat commença sur le déclin du jour, et dura fort
avant dans la nuit. Constantin y fit le devoir de général et de soldat.
Il se jette au plus fort de la mêlée, et profitant des ténèbres pour
courir, sans être retenu, où l'emportait sa valeur, il perce, il abat, il
terrasse; on ne le reconnaît qu'à la pesanteur de son bras: le son
des instruments de guerre, le cri des soldats, le cliquetis des armes,
les gémissements des blessés, les coups guidés par le hasard, tant
d'horreurs augmentées par celle d'une nuit épaisse, ne troublent
point son courage. L'armée de secours est entièrement défaite;
Ruricius y perd la vie: Constantin hors d'haleine, couvert de sang et
de poussière, va rejoindre les troupes du siége, et reçoit de ses
principaux officiers, qui s'empressent avec des larmes de joie de
baiser ses mains sanglantes, des reproches d'autant plus flatteurs,
qu'ils sont mieux mérités.
Pendant le siége de Vérone, Aquilée [Aquileia] et
Modène [Mutina] furent attaquées: elles se vii. Prise de
rendirent, avec plusieurs autres villes, en même Vérone,
temps que Vérone. L'empereur accorda la vie aux d'Aquilée et de
Modène.
habitants; mais il les obligea de rendre leurs
armes; et pour s'assurer de leurs personnes, il les
mit sous la garde de ses soldats. Comme ils Incert. Pan. c.
étaient en plus grand nombre que les vainqueurs, 11 et seq.
on crut nécessaire de les enchaîner, et on
manquait de chaînes; Constantin leur en fit faire de Nazar. c. 27.
leurs propres épées, qui, forgées pour leur
défense, devinrent les instruments de leur servitude.
Après tant d'heureux succès, rien n'arrêta sa
marche jusqu'à la vue de Rome. Il paraît viii. Constantin
seulement par un mot de Lactance, qu'aux devant Rome.
approches de cette ville il éprouva quelque revers;
mais que sans perdre courage, et déterminé à tout Lact. de mort.
événement, il marcha en avant et vint camper vis- persec. c. 44.
à-vis du Ponte-Mole, nommé alors le pont Milvius.
C'est un pont de pierre de huit arches sur le Tibre,
à deux milles au-dessus de Rome dans la voie Fabric. descript.
urb. Rom. c. 16,
Flaminia, par laquelle venait Constantin. Il avait été et alii passim.
construit en bois dès les premiers siècles de la
république; il fut rebâti en pierres par le censeur Emilius Scaurus, et
rétabli par Auguste. Il subsiste encore aujourd'hui, ayant été réparé
par le pape Nicolas V, au milieu du quinzième siècle.
Tout ce que craignait Constantin, c'était d'être
obligé d'assiéger Rome, bien pourvue de troupes ix. Maxence se
et de toutes sortes de munitions; et de faire tient enfermé
ressentir les calamités de la guerre à un peuple dans Rome.
dont il voulait se faire aimer. Maxence, soit par
lâcheté, soit par une crainte superstitieuse, se Incert. Pan. c.
tenait renfermé: on lui avait prédit qu'il périrait, s'il 14 et seq.
sortait hors des portes de la ville; il n'osait même
quitter son palais, que pour se transporter aux
Lact., de mort.
jardins délicieux de Salluste. Cependant affectant pers. c. 44.
une fausse confiance, il n'avait rien retranché de
ses débauches ordinaires. Par une précaution
frivole, il avait supprimé toutes les lettres qui Noris. in num.
annonçaient ses infortunes; il supposait même des Diocl. c. 5.
victoires pour amuser le peuple: et ce fut
apparemment dans ce temps-là qu'il se fit décorer tant de fois du
titre d'Imperator, qui lui est donné pour la onzième fois sur un
marbre antique; vanité ridicule, qui donne à la postérité, plus
exactement que l'histoire même, le calcul de ses pertes. Quelquefois
il protestait hautement que tous ses désirs étaient de voir son rival
au pied des murs de Rome, se flattant sans doute de lui débaucher
son armée, et peu capable de sentir la différence qu'il devait y avoir
entre les troupes de Sévère ou de Galérius, et des soldats conduits
par Constantin et par la victoire. Il s'en fallait bien qu'il fût aussi
tranquille, qu'il affectait de le paraître. Deux jours avant la bataille,
effrayé par des présages et par des songes, que sa timidité
interprétait d'une manière funeste, il quitta son palais, et alla s'établir
avec sa femme et ses enfants dans une maison particulière.
Cependant son armée sortit de Rome, et se posta vis-à-vis de celle
de Constantin, le Ponte-Mole entre deux.
Ce dut être alors que Maxence fit jeter un pont de
bateaux sur le fleuve, au-dessus du Ponte-Mole, x. Pont de
apparemment vers l'endroit appelé les Roches- bateaux.
Rouges [Saxa rubra], à neuf milles de Rome.
C'était le lieu qu'il avait choisi pour combattre, soit Euseb. vit.
que le poste lui parût plus avantageux, soit pour Const. l. 1, c.
obliger ses troupes à faire de plus grands efforts 38.
en leur rendant la retraite plus difficile, soit que, se
défiant des Romains, il voulût livrer la bataille hors Zos. l. 2, c. 15.
de leur vue. Ce pont était construit de manière qu'il
pouvait s'ouvrir ou se rompre en un moment,
n'étant lié par le milieu qu'avec des crampons de Aurel. Vict. de
fer, qu'il était aisé de détacher. C'était en cas de Cæs. p. 175.
défaite un moyen de faire périr l'armée victorieuse
dans le temps même de la poursuite. Des ouvriers Vict. epit. p.
cachés dans les bateaux devaient ouvrir le pont, 221.
dès que Constantin et ses troupes seraient
dessus, pour les précipiter dans le fleuve.
Lact. de mort.
Quelques modernes, fondés sur le récit que persec. c. 44.
Lactance, les panégyristes et Prudence font de
cette bataille, nient l'existence de ce pont; ils
prétendent que ce fut du pont Milvius que Libanius, orat.
Maxence dans sa déroute tomba dans le Tibre, 3. t. 11, p. 105
et 106. ed.
soit qu'il l'eût lui-même fait rompre avant l'action, Morel.
comme Lactance semble le dire, soit que la foule
des fuyards l'en ait précipité. Mais nous suivrons
ici Eusèbe et Zosime, qui décrivent en termes Praxag. apud
précis ce pont de bateaux, et dont le témoignage Phot. cod. 62.
très-considérable en lui-même, surtout quand ils
s'accordent ensemble, est ici appuyé par le plus Acta Metr. et
grand nombre d'anciens auteurs. Alex. apud
Phot. cod. 256.
La nuit qui précéda la bataille, Constantin fut averti
en songe de faire marquer les boucliers de ses
soldats du monogramme de Christ. Il obéit, et dès Incert. Pan. c.
le point du jour ce victorieux caractère, imprimé 27.
par son ordre, parut sur les boucliers, sur les
casques, et fit passer dans le cœur des soldats Prud. ad Sym. l.
une confiance toute nouvelle. 1, va. 448.