So here’s another issue I found in the Beginning Arduino book I mentioned in a previous post. I was trying to work out Project 37, but I kept getting the same temperature reading over and over. After playing around with the code, I found out that the author forgot to add a simple line to the loop() function.

Add the following:

sensors.requestTemperatures();

to the Part 2 code from the book:

void loop()
{
  // print the temperatures
  Serial.print(“Inside Temp: “);
  printTemperature(insideThermometer);
  Serial.print(“Outside Temp: “);
  printTemperature(outsideThermometer);
  Serial.println();
  delay(3000);
}
The code in the book keeps getting the same temperatures from the sensors, but the sensors are never told to get new temperatures. Simple fix that will hopefully save people from tearing their hair out.

TEM Image of Aerographite

Recently, I was shown this article regarding a new material being developed dubbed Aerographite. It seems to fall in the same category as aerogels where you create a network of carbon to develop a macroscale material that is very strong and very light. Aerographite is a network of woven carbon tubes that is being touted as the world’s lightest material.

What caught my eye wasn’t the specifications of the material, but the applications for it and the conclusions that people were jumping to. It reminded me of how a couple of years ago, Yi Cui developed his silicon nanotube battery anodes and everyone was claiming that devices would last 10 times longer when running on a battery. These articles, for the most part, seem to miss the fact that while these material advances seem huge on a lab scale specimen, they most likely have trouble scaling to production levels. The raw material specifications don’t take into account things like packaging when it comes to a full battery system, for example.

The aerographite article claims that the applications of this type of material are limitless and that it would revolutionize filtration systems and energy storage. The article made no mention how much of the material was produced and unfortunately I do not have access to the original paper to check this information. This is significant because of a similar material advancement in the last couple of decades. Carbon nanotubes (CNT) came into prominence in the 1990s and were seen as the solution for building a space elevator because of their tensile strength. However, CNTs ran into the issue of scalability for a project that size and we still don’t have a space elevator. It is very difficult to produce very long nanotubes and I see this aerographite as having a similar issue. While it is true that there are numerous applications, articles such as this one make it sound like those revolutions are just around the corner. 

What people must realize is that materials innovations take approximately 20 years to get from the lab to market. It is a very slow process and many of those “limitless” applications may never come to fruition. So the next time you read a similar article, appreciate the hard work the scientists have put in and the significance of the milestone, but please keep in mind that all the world’s problems are not solved and there is still a lot of work that needs to be done to get through the slow process of material innovation.

So one of the inspirations I had for restarting this blog was the fact that when I ran into an issue with following Michael McRoberts’ Beginning Arduino book, I couldn’t find a clear solution online. I decided that if I post my solution on this blog then hopefully some future reader of this book will be less confused than I was.

Overall, Beginning Arduino is a great book, but I disagree with the author’s claim that understanding the book requires absolutely zero experience. This may be true for the early chapters, but as the projects become more complex (and inherently more interesting), there is less explanation from the author about why certain things were done or how certain things work. This is an issue when things don’t work the way the book says they should and basic troubleshooting doesn’t find a clear solution.

I ran into this issue the most in Project 19 where I wasn’t sure if my approach was incorrect or if the author was doing something incorrect. I’m not the only one who ran into a similar issue so I will detail my approach below for when anybody else gets stuck on this project so they can have one more source of information.

Below are the components I used in my setup:

Read the rest of this entry »