A common question asked by new makers is “what is the difference between a microcontroller development board and a single-board computer?” Or, in more common terms, “what is the difference between an Arduino and a Raspberry Pi?” There are many technical differences, but people are really asking about why you would use one over the other. The answer, in most cases, is that you use an Arduino to handle low-level control of sensors, motors, and so on, and you use a Raspberry Pi for computing processor-intensive tasks. If, however, you need both, then MrDemonFrog’s Minecraft-controlled LED array illustrates how to do so.
MrDemonFrog’s project is simple. The hardware consists of an Arduino Uno board and four LEDs: red, blue, green, and amber. Those LEDs light up depending on what the player looks at inside of Minecraft. MrDemonFrog built a special map to demonstrate this. It has four huge walls in those primary colors. If the player looks at the red wall, then the red LED illuminates. The same is true for the other colors.
This project is interesting because it shows how users can combine the power of a computer (including a Raspberry Pi) with Arduino’s ability to interface with hardware components. MrDemonFrog utilizes a Python script and OpenCV to detect the color in front of the Minecraft player. Once it determines the color, it sends a command to the Arduino through the Serial communications port. Instead of the Arduino making decisions on its own, as you probably experienced in beginner tutorials, it offloads that decision-making to the computer and simply acts as an interface for the low-level hardware (the LEDs).