My book (continued)

Another set of links:

http://ruggedcircuits.com/Arduino/ArduinoBook.Chapter1.pdf http://ruggedcircuits.com/Arduino/ArduinoBook.Chapter2.pdf http://ruggedcircuits.com/Arduino/ArduinoBook.Chapter3.pdf http://ruggedcircuits.com/Arduino/ArduinoBook.Chapter4.pdf http://ruggedcircuits.com/Arduino/ArduinoBook.Chapter5.pdf

Dr.Andrew

does it really require 2 threads?

If it says "Continued" in the subject, how about providing a link to the previous thread, so we do not have to search. Thx.

I've taken a very quick look at the 5 chapters you provided an here are my first impression. Before I start with the good and the room for improvement, please don't take what follows as a personal attack. On the whole I think you're on a worthwhile project which I hope you succeed at. Also, I have assumed the chapters are presented roughly in the order they'll appear in the book.

Chapter 1: This one is only confusing and I think not the proper material to start the book. Whoever might be Mr. von Neumann and all those ALU be, I think it will frighten people away. Also much of the information in that chapter seems to be only of little relevance to the daily use of computers.

Chapter 2 seems to take a better hands on approach to and it's easier to see how that related to the Arduino. I haven't looked in details at the examples, but the introduction with the dancing seems to be an interesting approach.

Chapter 3 again is a relapse to frighten people away. Too much theory which seem to be only distantly of relevance. EMF and Coulombs are all nice, but I think people should first get Volt, Amperes and Ohms into their heads. Later on the chapter improves and becomes more accessible. Also, saying what other books in the first paragraphs do doesn't come across very smooth. People read your book because they want to hear what or how you say it, not how other authors do it.

Chapter 4 seems to be a fair continuation of the better parts of Chapter 3. I haven't looked at it in details yet.

Chapter 5: This is the best chapter of the whole bunch and the most accessible one. This is the kind of writing I would have hoped for for the other chapters too. I only had a short time to look over it, but you go into relevant details at the right places for beginners. Explaining how breadboards work is a good idea I would have overlooked. I need to look into it some more.

All in all, I think chapters 1 to 4 need heavy rework. The mixture of theoretical tidbits mixed with definitions and academic jargon somehow misses the audience. If you write a book for beginners, write about stuff beginners can relate to. I think, chapter one should be a rough introduction about what microprocessors are and where they're used, how they differ from regular PC, best explained at a level my grandmother and my 6 year old son can understand. Chapter 5 might make a good second chapter and then build on this to introduce other concepts like Loops, Programming, Volt, Variables, Ampere, Ohm, Arrays, Semiconductors etc based on this. When you explain, try to stay away from theoretical background knowledge, focus on the practical application side of facts. Introduce facts only if they're necessary to apply a concept correctly. More people were saved by knowing 500V hurt and Amperes can kill than those save by the knowledge that electrons move from - to + and not the other way.

I hope, those few comments help and didn't offend too much.

Korman

Hi Andrew,

Good start, I have a few comments.

Ch 1, The majority of this is too confronting for a beginner. I think the info is pretty good but maybe towards the end when people are more comfortable with uCs. I'd stick with things that a beginner is going to use straight up, serial ports etc, and move ALUs and other "under the hood" stuff to an "advanced" chapter. Also I'm not sure about spelling out all the logic function in NAND equivelants, I know that can be done but who has in the last 30 years? Also, as a beginner I might wonder what the hell an AND gate is good for. Maybe examples showing one being used to OR a couple of interrupts or whatever.

Ch 2, pretty good I think, I love the dance analogy. It's too early for a proper grammar/spelling check but I'd change "make a boy or a girl" to "make someone".

Ch 3, Once again maybe most of this in an "advanced" chapter, but things like serial and parallel are good for the beginner. I've been developing embedded systems on and off for 30 years and I still have no real concept of what EMF is, but for 99% of what an Arduino is used for I don't think that matters.

Ch 4, Too many equations I think. I know one would be a better engineer knowing all this (heck I would be a better engineer if I knew all this :)) but the book is for a "novice", I think at first such a person just wants to know that a 330R resistor is about right for a LED with 5v and some simple calculations (Ohms law) to figure this out.

NOTE: I'm hopeless at maths and this might be just my personal bias showing through.

Ch 5, The title says it all, this is the fun part and I think this should be the model for the entire book. I can see an Arduino and what to plug into where to get something working, easy to follow diagrams, some simple (albeit badly formatted but I guess you'll fix that) code etc. Good stuff and IMO well targetted at a novice.

Hope that helps, as I said my views on all the theory might just be my personal bias, but I've been doing this for years without knowing most of that, so a novice can surely get by I think.

This is certainly a worthwhile project if done well.


Rob

The term "continued" refers to the continued topic labeled "My book". Does it require two threads. No, but the two people who volunteered to upload the chapters into a link needed to be honored. Hence the two threads.

I appreciate the constructive comments I received and will consider them seriously. Thank you very much. Good comments!

Dr.Andrew

I can see ur work and time putted in it and i appreciate it, but i have to agree with Korman and Graynomad.

There is 2 much theory. Its clearly meant for beginners, but even so it has 2 much theory. I would say there are 2 kinds of people on this forum and using arduino:

tehnicians/engineers, which have the knowledge about most of this theory, now u could say this toturial is not meant for them, they have to learn programing arduino somewhere... Now i am/was one of them and i found toturials posted bellow very appropriate for tehnical skilled people and begginers, maybe consider them as a reference

and

hobbyist, which i would say that u have hobbyist which are also interested into theory( but then they proly have theoretical knowledge from other books already) and hobbyist which just want to wire it up and it works

whats common to both groups, they want it as simple as it can get People want to see how to wire things up(schematics), maybe a simple explanation how an IC or other new part works, if they want to know more it was never so easy as before with google or datasheets etc. Code thats well commented withing code and maybe just simple explanations outside the code. Practical experiences and cathchs, thats the most interesting part for me.

And tehnical people like charts, pictures, tables, schematics, because at same second i look at it i am already thinking hmm this works like this, interesting, what does this do and i go google up or at that point i go read explanation with enthusiasm and not just because i have to. Despite i do find fair amount of pics and tables in all chapters, but i still think chapter 1-4 needs more practical part.

For example look at: Earthshine begginers guide (one of better guides as far it concerns me) http://tronixstuff.wordpress.com/2010/04/04/getting-started-with-arduino-chapter-zero/ (ok this 1 is a bit 2 much based on a "Getting Started with Arduino (Massimo Banzi)" book) http://www.ladyada.net/learn/arduino/lesson0.html http://roguescience.org/wordpress/ They are plain and simple and if u need more advance knowledge u have datasheets, google, arduino forum and bunch of blogs about arduino out there.

Chapter five, page 14 or page 142, if code is short, try to keep it as hole on 1 page. Or even better as u posted void setup and void loop and commented each for itself, maybe it would be great if u posted whole code at later point, that might not be a problem at such easy project, but what once u have lot of code or even using libriaries....

I just have to agree with tronixstuff on his page

and also assume a basic knowledge of electronics.

He does recommend a book. But i think if people dont have basic knowledge about electronics, they should try something with analog components (transistors, resistors and stuff...) before tinkering with arduino.

I agree with all your constructive comments, and I take them seriously. I want to write a book for the novice, but one that leaves him with knowledge about, say, how to read a resistor, what is Ohm’s Law, the basic function of an LED and how to calculate the current limiting resistor. I want the novice to know what is a voltage divider (that’s what basically a potentiometer is), how an LDR functions, etc. How can grasp the topic of PWM if you do not know what is duty cycle. I will include a chapter on measuring instruments.

I agree that my chapters cover more than is required. However, I have read most of the available books on the topic, and I am not too impressed. I do not want to come with a “slam, bam, thank you ma’am” book. Most of the books I have reviewed show how things are connected but not why they are connected the way they are. Code most of the time is given and is not commented, so you have to scratch yourself as to what that code does. I want to explain things a bit more, it is the professorial in me. One day, I was teaching basic circuit theor to a sophomore class, and I mentioned the term “prime number”. Immediately after, I noticed a hand g up, and a question asked “Dr.Veronis, what is prime number?”!!!

I appreciate you all telling me what my proposed book is too much of. However, I would appreciate your comments more if you can show me, in a form of table of contents, what my book should contain. At the same time, I should not let the forum members write my book for me.

Thank you again warmly for your comments. I know you all mean well; hence no personal grunt.

Dr.Andrew

my 2 cents,

There are different blocks needed in the book I think:

BLOCK I : Tools

  • electricity can kill
  • elementary tools (cutter, screwdrivers, knife Voltmeter, etc)
  • how to solder [incl warning about heat and fresh air]

(one - three pages)

BLOCK II : Projects beginner
goal is to learn working with basic components

Every chapter has the following structure:

X.1: Today’s project
what are we gonna build today e.g. button with led
*goal of the project: learn how buttons and led’s *
what can be done with the outcome: make a burglar alarm, a fridgedoor detector, a morse key practiser etc

X.2: What do we need for this project
list and short description of components, wires, breadboard etc. including images

X.3: wiring up the hardware
X.3.1 In plain english
X.3.2 Schematic - (Fritzing?
X.3.3 Step by step guideline how to connect,
X.3.4 How to build it in a box

X.4: coding up the software
X.4.1 In plain english
X.4.2 Flow diagram
X.4.3 Code // incl comments

X.5: It doesn’t work
How to debug the system - hardware - software

X.6: Variations on a Fuga
Small changes e.g. LED on another pin, two LEDs , three switches

X.7: Further reading
link to the relevant nerd sections in block III V

Every page must have room for making notes. (its a workbook)

BLOCK III : Projects advanced
goal is to combine basic components making things more complex

  • garden watering system

BLOCK IV : Projects for experts
goal is even more difficult (real life) projects, e.g. interrupts, Timer Internet etc

reason to split the projects in 3 levels is to build up the knowledge and giving people the feeling they are growing. Especially young people are sensitive (right word?) for this.

BLOCK V: Nerd sections
place for theoretical stuf about this project , references; e.g. what is a pull up and pull down resistor

BLOCK VI: Components
An alphabetical index of all components used in this boek from Arduino to Z-sensor (whatever that is) with connection tips, e.g. pins of LED etc

BLOCK VII : Challenge
Invitation to send in projects of their own and every year a number of projects will be chosen for the next years edition. This adds a competitive element. It should be linked with some website

thinkingoutloudmodus

Thank you for your response. This is the sort of guidance I would like to receive. However, bear in mind that I don't want to copy something that has been copied a thousand times, like blinking an LED. So, as you see, my project no.1 fully describes several things about an LED and describes a simple traffic light system, a little different from blinking.

Thanks for the input; if you think of anything else, please, let me know.

Dr.Andrew

However, bear in mind that I don't want to copy something that has been copied a thousand times, like blinking an LED.

If something has been copied a thousand times, there's a good chance that it works well and you should at least make sure your alternative is working just a swell. And the blinking is about the most simple thing you can do with an Arduino to allow a beginner to figure out the most basic things like connecting the Arduino to the computer and writing, compiling and uploading the first program. The traffic light is a nice touch for a second example.

Korman

Korman

If 10 books contain the same copy, an eleventh copy won’t be of much use. If a VW works well, should all other car makers copy it?The traffic light is just as simple, yet it is different. I think you are missing the point, I want to write a DIFFERENT book, not copy Massimo’s book Get Started with the Arduino. For example, Chapter Two uses a pair of dancers to explain programming in an easier manner. Different. I use flowcharts; a flwchart is a nice graphical way of showing how a program works. Different. I have nice illustrations not done by hand. Different. When I show an example using an LDR, I will explain the Different ways an LDR is connected, how it is used in real life, etc. Different. And several other things are and will be DIFFERENT. So, rather than argueing with me, please, would you do what thinkingoutloudmodus has done and show me a proposed Table of Contents? I would like to see how you, Korman, view the contents of a good book. The chapters will be reworked, but some basic theory is of the essence. It was proposed that, if a novice needs some circuit theory, and I think a novice does, the novice can review other books. Isn’t that a waste of time? Why not that brief circuit theory in the same book? It was proposed that, if someone wants to calculate the current limiting resistor to an LED, he could do that by using Ohm’s Law. Agreed, but should he not be exposed to Ohm’s Law in some chapter? Should he not know what a lot of current does to an LED? Should he not know what current is, to begin with? Or, should he stick a 220-ohm resistor because everybody does that?

Korman, I LOVE this debate. This is how good books are built. And I am listening to you. However, please, also listen to me. Keep your comments coming.

Andrew [smiley=dankk2.gif]

thinkingoutloudmodus

My name is rob tillaart , thinking out loud was my modus operandi, no offence taken, I think it is a nice nickname, thanks :)

Robtillard (Rob)

I agree with you; you have chosen a nice nickname. By the way, I love Holland, especially the fresh Herring sandwich in downtown Amsterdam.

Dr.Andrew (Andrew) :)

The thing about novice is, that when it comes to basics, led and resistor is basic of basic and most important something is blinking or shining and that gives courage to novice to move on. And i am certaint that what ever u do with led and is appropriate for novice was explained in some book before.

If u dont wanna copy things then do more advance examples, once ur done with novice project. Yes most of them are explained on forums and blogs, but not in books. For example do description of how to write/read from SDcards, description of ethernet, DS1307, emulating usb keyboard, IR reciver and trasmiter, 2 arduinos throught I2C, arduino and RS485, different temperature sensors... LM36/35/37 and do an example of normal LM35 that measures negative and positive temperature and as well example of an LM35DZ that measures only positive. Then do a connection to LM335, also explain a DS18S20 and maybe do an example for a PT100...

Maybe different approach to things, for instance with SDcard u can do it with SDuFat, which is bigger but has much more functions and u could also do it with FileLogger which is smaller, less then 4k if i am not mistaken and can only write.

GregAG

Thank so very much for your suggestions. This is the sort of critique I love and expect. All your suggested advanced projects will be included in my book. I am so grateful to all the forum members for they have not only encouraged me but also have given me valuable suggestions.

Dr.Andrew [smiley=dankk2.gif] [smiley=dankk2.gif]

GregaG,robtillard,Korman

Could you guys give me your personal email address? If so, please, send it to my address: f104pilot@earthlink.net

Dr.Andrew [smiley=vrolijk_26.gif]

I love Holland, especially the fresh Herring sandwich in downtown Amsterdam

Herring sandwich? Don't they sell the herring on a little tray, with a small wooden fork, and no bread?

florinc

If you have been to Amsterdam, you will come across some food carts parked next to one of the million canals. Among the foods they sell, fresh herrin wrapped in a bun, similar to a hot dog bun, is one of them. If you live in Holland or plan to visit, I recommend herring sandwiches.

Dr.Andrew

Could you guys give me your personal email address? If so, please, send it to my address: f104pilot@earthlink.net

Purpose?

Also delicious and famous are the dutch stroopwafels. - http://en.wikipedia.org/wiki/Stroopwafel - yummi! Recipe: - http://www.dianasdesserts.com/index.cfm/fuseaction/recipes.recipeListing/filter/dianas/recipeID/694/Recipe.cfm