This Arduino reads punch cards for cloud computing
You already know that computers store and interpret data in binary: ones and zeroes. There are many, many ways to store binary data, because it works with anything that can maintain at least two states. In the early days of computing, punch cards were common. They were paper cards with a grid of points. A hole at any of those points could represent either a one or zero (depending on the system), while the lack of a hole would represent the opposite. To bring old and new together, Nino Ivanov built an Arduino punch card reader for cloud computing.
Cloud computing turns processing into an internet service, letting customers run whatever calculations or programs they like without needing to maintain their own hardware. In a typical use case scenario, the customer would simply upload their code or data from a computer to the cloud service for processing. But that data can come from anything, including punch cards. Ivanov’s project uses punch cards (which he seems to have cut by hand) that are read by an Arduino, transferred to a computer, and then entered into the cloud computing terminal interface.
Each punch card is just a piece of grid paper with some squares cut out. Each row contains six bits, which an Arduino Uno reads using a cobbled-together reader made with LEDs and photoresistors. If there is a square cut out, the light will pass through and the corresponding photoresistor will detect the light. A small servo motor feeds the punch card through the reader. In this case, Ivanov encoded a Common Lisp program to process factorials in the cloud. But the same general concept could apply to any language or data — though most are much less efficient than Lisp and would require a far greater number of punch cards.