CTC Classics: Finding books with frickin’ laser beams!
CTC, a project from the 2015 edition
CTC stands for Creative Technologies in the Classroom, an initiative from Arduino Education aimed at helping teachers get up to speed with 21st century skills in the context of STEAM. We have been working with CTC since 2013, with our first experience in Castilla La Mancha, Spain. During a varying period of time, teachers are introduced to project-based learning as they run a full course with their students. At the end, teachers and students meet with their partners at a technology faire to show the result of an open-ended innovation process.
In this article series, I present projects made by students and exhibited at CTC faires. At those events, students come and pitch their experiments in front of hundreds of thousands of their peers from schools spanning all across their region. I select some of these projects and reinterpret them as a way to inspire other groups of students and their teachers in making new, interesting, user-centric, and thrilling projects.
What is CTC Catalunya and what makes it different?
CTC Catalunya is the longest of Arduino’s CTC projects, having had faires since 2015. Thanks to the generosity of the EduCaixa Foundation and the help from Cesire, Catalunya’s government department, we have reached out to as many as 200 public schools at the time of writing.
In order to achieve this, we designed a plan where the educators of different regions of Catalunya were trained in becoming trainers themselves, so that they could constitute their own regional support teams as a way to make the project sustainable over time. You can imagine that, after four years, there are many familiar faces. People have grown to like this project, and the CTC faire has become part of the educational landscape to the point that many teachers plan for it within their annual agendas.
What about the project I chose for this blog post
One of my favorite projects of all-time is a system that enables you to look for books on the shelf by means of a laser pointer. Imagine you want to find that one novel; how many times have you had to browse through hundreds of your books and were unable to locate it for a while? Even if you have a database of all of your books, you would still have to make sure you place them in a certain location and need to go looking for it.
Two students at the CTC Catalunya Faire 2015 conceived the idea of a database of books that connected to an Arduino-controlled laser, which would point to a particular book on the shelf.
Schematic diagram: lasers, servo motors, and some code
As many years have passed since the project was presented, I don’t have documentation on how it was built. This is going to be a bit of the topic in this series. I am not looking at being super precise in replicating these projects; rather, my aim is provide some guidelines on how this could be made and inspire others to get the idea and improve it. If you want to see how I make things for real, I invite you to follow my livecast sessions every Thursday at 7pm CET. I’ll be implementing one project from scratch each month.
When it comes to my understanding on how this project was built, it is clear that the students used an Arduino Uno board, a Processing sketch, two standard servo motors, and a laser pointer. I have prepared a schematic for you to see how it could work, as well as a diagram that explains the basic interactions between the Processing code and the Arduino one.
(Here is where I have to apologize because of the diagram. I didn’t have a lot of time to enhance its appearance, but CC0 clipart images are your friend and let me make things quickly.)
An idea of how it works
Take a look at the flow chart above, which explains more about the project. The user will interact with the Processing sketch whenever he or she wants to search for a book. It is very likely the project that the students made had everything hardcoded in the program. In other words, the system was not letting you easily add new books to the database, but were stored in a text file that the Processing sketch would load upon boot.
The books were presented in the form of a dropdown list for you to choose from. Once you selected one of the items in the list, the Processing sketch would send the coordinates to the servo motors. Those coordinates also had to be stored in the same text file as the names of the books. With the coordinates, that had to be the angles for each one of the servos, the pointer would be directed towards the shelves, highlighting the location of the book.
Since this had to be shown at a faire where thousands of people would come by over a four-hour period, the students couldn’t prepare a much more complex presentation. This is why I have to make some assumptions about how far they went in their building. I also assume that they had to think through the ways to calibrate everything, since they didn’t have a lot of time to set up. The project worked flawlessly for the entire faire.
This is why I like it so much
At home we like books, we always have. When I was a kid, my parents had books in the living room, the dining room, mine and my brother’s room. As an adult, I have bought thousands of books and read every week. We own a 7m long bookshelf where books are sorted by color. When we discuss a project or think about possible ideas for what to build next, we look through our books. After a while, finding books is a time-consuming activity. I need one of these book-finding robots in my home!
Other projects with lasers?
You’ve likely seen at least one of the servo-controlled laser pointer projects for entertaining your cats here, here, or even here. Those are just one example of the fun things you can do with Arduino and lasers. In the context of CTC, there is actually a whole series of projects using laser diodes for creating music instruments. But that is an entirely different story, If you want to read about it, stay tuned for more adventures in CTC at the Arduino blog!
The CTC Caire was supported by Cesire at the Generalitat de Catalunya and the EduCaixa foundation.
March 30th, 2018 at 15:31:29
This project looks really good ! Well done 🙂
I would like to do the same principle, but instead of using a laser, i would use leds.
But the code should be the same.
Could you tell me where i could find it ?
Thank you, and good job again ?