Menu
About me Kontakt

On the 'I Like To Make Stuff' channel, the author recently showcased how to transform a regular projection screen into a smart screen that can be controlled via a voice assistant. This motorized screen, featuring three buttons (up, down, and stop), is a prime candidate for modification, despite initially seeming unsuitable for smart technology integration. The author approaches the topic by recognizing that smart home phenomena are becoming more prevalent and increasingly incorporated into everyday life. Moreover, he adds that many modifications in electronics require minimal knowledge, and the simplicity of such modifications can entice more people to try something new.

The first step in the project involved analyzing the remote control for the screen, where he successfully processed the button signals using a low-cost ESP board, a tiny Arduino. The main goal was to 'hijack' the remote buttons by connecting them to pins on his board. Despite the surprise regarding the power supply, which operated at 12 volts, the author remained optimistic, seeking ways to accommodate the demand.

In discussing the functioning of the circuitry, emphasis was placed on the fundamentals of basic electrical interactions, explaining how the remote’s central chip responds to button presses, relaying specific signals. For those unfamiliar with electronics, the author provides links to his online course, aimed at simplifying the understanding of this technology.

Once the code was confirmed to work on test LEDs, it was time to connect everything to the remote control. Tests revealed that powering the device via USB was feasible, simplifying the entire project. A crucial component was also the limit switch that helped stop the screen at a designated position, ensuring that the assembled screen had full functionality.

Ultimately, the final project was an intriguing success that exceeded initial expectations. It’s no wonder the modification video has garnered substantial interest; currently, the 'I Like To Make Stuff' channel boasts 936,126 views and 29,941 likes. This indicates that such 'smart' projects capture the attention of both enthusiasts and novice electronics fans, eager to delve into the topic in a more accessible manner.

Toggle timeline summary

  • 00:00 Introduction to smart electronics and connected devices.
  • 00:17 Explanation of screen's functionality with three buttons.
  • 00:35 Description of a basic motorized screen acquired inexpensively.
  • 01:03 Plan to enhance the screen's capabilities by connecting it to a smart device.
  • 01:56 Overview of basic electronics concepts related to remote controls.
  • 02:39 Detailed explanation of how pressing buttons sends signals.
  • 03:10 Connecting Arduino pins to simulate button presses on the remote.
  • 04:14 Testing the functionality of the Arduino code with LEDs.
  • 05:20 New capabilities of the software to control brightness and color.
  • 06:43 Discussion about voltage requirements for powering devices.
  • 07:15 Introduction of a limit switch to stop the screen at desired height.
  • 08:07 Testing the integration of the smart features successfully.
  • 08:31 Discovery that the remote can operate on lower voltage than initially thought.
  • 10:20 Attempting to finalize the physical setup of the device.
  • 12:04 Successful execution of the voice command to control the screen.
  • 12:39 Ending discussion about educational resources available for electronics.
  • 12:49 Conclusion of the project and transition to blooper segment.

Transcription

These days most electronics have some sort of a smart feature, some sort of a connectedness so that you can control them from an app or from a voice assistant, but not everything. A lot of times it's not worth the cost to the manufacturer to make something like a lamp smart because it just turns on and off, but you can still control that with a smart plug. But unfortunately the smart plug doesn't really handle things that have more than two states like this screen. The screen actually has three states. It's got a go up button, a go down button, and a stop button so you can get it to the right height that you want. And even though it's not made to be smart, I think we can modify this and make it smart. I wanted to point out that this screen is not anything fancy. It's one of the cheapest screens I could get on Amazon. It's a hundred inch screen that's motorized. It's got those same three buttons on a wall control that it has on the remote. And yes, it has a remote. So it doesn't really need to be smart, but why not? And especially if we can make it smart with just a couple of dollars of electronics. First things first, I don't want to ruin this thing. So I'm going to leave the wall controls as they are for now, unless I absolutely have to mess with them. And instead, I'm going to try to hijack the buttons on the remote. And by hijack, I mean, I want to connect the buttons on this transmitter to pins on this little ESP board. Basically, this is a tiny Arduino that's really inexpensive and easy to program. But you know, first things first, let's rip this thing open and make sure it's actually going to do what I think it's going to do. So kind of what I was expecting, there are three little buttons, which we can easily tap into and kind of fake the button presses, which is the whole point here. The thing I wasn't expecting is that this little remote runs on a 12 volt battery. It's not a huge deal. We can work around it, but I just didn't expect that. Before we move on, we've got to talk about the basic premise here. And if you're not an electronics person, this may help kind of explain what the plan is. Of course, shameless plug, I do have an online course that teaches how to do basic electronics, how to program Arduinos and how to do projects like this. If you want to check it out, I'll put links down in the description. But if you don't, let's at least just run over what's happening. If you're an electronics person, you may want to skip ahead. But if not, here's a very simplified version of what's happening in a remote like this. You've got a battery down here that's passing electricity through a circuit, through a bunch of different components and stuff. And basically you have a little chip here that's waiting for electricity to come from one of three places. When you press a button, you're either allowing or not allowing electricity to pass through a certain place. So these three things act as triggers. When you press one, it lets this little chip know that electricity has come through and that means it needs to do something. And in this case, it needs to send out a signal to say, go up or go down or stop, depending on which button you press. And on a microcontroller or an Arduino, you've got these little pins that stick out. Using some code that you can write, you can either send or not send electricity through those different pins. And depending on what those pins are connected to, you can trigger or not trigger things. So I want to use those two things together. I want to use the pins that I can control on the Arduino to hijack or trigger the buttons without actually pressing them. Effectively, I want to connect some of these pins to the sides of some of these buttons and fake a button press. So that begs the question, how do you tell the Arduino when to push a button? Or how does it know what to do and when to do it? Luckily, some really awesome people have written some software to make that very, very easy and I've used it before. A couple of years ago, I actually used the same software to make a remote-controlled finger to press a button in my shop when I asked my Amazon devices to push the button. The way this works is basically it's mimicking what these smart devices do to get them on the network and give them functions and you just put it on one of these. Once you've got that software on here, you can name this, connect it to the network and give it commands. Basically, you can make it do whatever you want. So first off, we've got to get some code on this thing. Now, walking through code in a video is not very interesting, but basically what I did was create three devices on this thing through code and they're called ScreenUp, ScreenStop and ScreenDown. Now, before we hook this thing up to the remote and potentially mess something up, let's hook it up to some LEDs just to make sure that the code is doing what it's supposed to do. I hooked up an LED to a pin, each one with a resistor, so that I've got three kind of status LEDs to test this out. Now, I will say, if you're not an electronics person, this may all seem like magic. If you don't know how to code, that may seem like magic, but it's not. It's something that anybody can learn. Our online course starts you at the very beginning. You don't have to know anything going into it and you can learn all of this stuff. It's a lot of fun. So here's where we're at. Three LEDs connected to three pins. I just asked my Amazon system to discover devices and it found all three of the ScreenUp, ScreenDown and ScreenStop. And basically, if we just test these out, they turn on the pins. And that's actually all from the example code. I didn't write anything from scratch. I just modified what was there for my particular instance. But along the way, I realized that that software has actually gotten better. It can do more than turn things on and off. It turns out that instead of emulating one of these that just turns on and off, now it emulates a light bulb. So you can turn it on and off, but you can also set the brightness and the color, which means we have a lot more options. And that actually makes it simpler because we don't need three devices. We just need one. So if we're thinking about using this as a single device, it's going to simplify it because now if we turn it on, it will make the screen go down. If we turn it off, the screen will go up. And then we can set the brightness to be between 0 and 100, and that can tell us how far down to go if we even need that. But I don't think we actually even need that. I think we just need a physical button right here that when this hits it, it stops it. So I think we can actually just make a little smart controller that also has a physical limit switch here just to stop the screen when it gets down far enough. I think I've got all the pieces we need to do this, but we have to talk through it because there's kind of a weird translation that has to happen. This is the remote that we've talked about, and it's running on a 12 volt battery. This is a 12 volt DC power supply. So theoretically, you could just wire this directly to this and have a remote that was plugged into the wall, which is weird, but that's kind of what we're going to do. And the problem comes in when we try to hook this thing up because it could take 12 volts in, but it's not really good for it. And if you put too much voltage into something like this, you're basically just going to melt it. So theoretically, you wouldn't want to put more than nine volts into this, but preferably five, which is why there's a USB port on this. USB provides five volts almost always. But luckily, we've got a really simple way to step down from a 12 volt input to the five that we need. And when you're talking about electronics, there's a bunch of different ways to do this. But one way is just to buy a step down transformer. This will actually take 12 volts in and put five volts out. So it's going to be perfect for what we need. So getting those things wired together is not really a big deal, but we do need one more component to stop the screen when it comes down to the right height, and that is a limit switch. The switch is actually that tiny little red thing in there, and that gets pressed by this arm, no matter where you hit the arm. And the roller on the end makes it so you can pretty much hit it from any angle. This is great when you're trying to detect when something is moving into something or away from something. So step one, let's get all this stuff wired together to make sure that my idea is even going to work. And then we'll figure out how to integrate the whole thing into the screen. I had my Amazon system detect the screen, and so now it's one of my devices, and it totally works. I've got it set up so that if you power the thing on, it will bring the screen down. And if you power it off, it will take the screen up. But the thing I really needed it to do was for the limit switch to stop it either direction that it's moving, and that works. And that's awesome. I mean, it's basically fully functional at this point. But in addition to that, I accidentally found out something really cool. I had this whole thing hooked up to the computer through USB so that I could write the code and test it. And I didn't have the 12-volt power supply hooked up. And it turns out that that remote doesn't actually need 12 volts. It turns out you actually don't need the 12-volt battery for that remote to work. In fact, it worked just fine with 3.3 volts that came out of the Arduino, which means we can simplify the whole circuit and the whole thing can run off USB power. And with that, the electronics are pretty much done. I just need to add USB power to this. The next step is to take all of this stuff and put it in something to kind of hide it, but also make it mountable. It's got to sit underneath where the screen comes down so that that bar hits the limit switch to stop it from moving. So now it's time to just do some design. I had to 3D print a few different versions of that to make sure everything would fit well, but also that the USB port was accessible. And now we've got the final layout and I've got a final design that matches the mural over there. So now it's just a matter of putting this thing on the wall and making sure that it works. Once I get this to stop where I want it to stop on its own, then I can use that position to make sure that this button is pushed right there. And as long as this is in that place, it should stop it. So I went to try it out and it didn't work at all. Like it didn't do anything. It had power and everything, but it just didn't work. So I took it all out of the case to check the connections and it worked just fine. Then I put it back in the case and tried it again and it didn't work. Basically I did this back and forth for about an hour before I realized that I think the antenna for the remote is right here and I was covering it up with the switch and apparently that switch is enough to stop it from being able to send any commands to the thing. So I printed a new version of this, moving the switch down and I think we're good to go. But as I was sitting there messing with it, trying to make it work, something else occurred to me. I was using one device to turn it on and off to make the screen go up and down and I really don't need to. It turned out that it was actually weird to try to turn the screen on and off when there was another switch or other switches that could kind of interrupt that. So basically here's what I changed. I actually ended up changing the code. So now that my little controller has two devices on it, it's got one called screen up and one called screen down and I can turn both of those things on or off to activate the right button. So if I actually wanted to do this with voice, I would have to say, Alexa, turn screen up on, which is not a natural thing to say, but I'm actually never going to say it. The plan is actually to use this thing kind of behind the scenes as part of a routine and if you're not familiar, when you use a voice assistant, a routine is a way for you to say one command and have it trigger a whole bunch of other stuff. Like for instance, I could say, Alexa, it's movie time. And when she hears that command, she might turn on the LEDs around the top of the room, but turn off the lights. She may turn on the projector and bring down the screen and then we're ready for a movie. Let's try it out. Alexa, it's movie time. Totally works. Now I did luck out a little bit in that the buttons in the remote could take the same voltage that my microcontroller put out, but if that wasn't the case, I could have put a relay in the middle of those that would let me take a low voltage input and control a higher voltage output. But that's the type of stuff that we talk about in our online course, Arduino for Makers. Again, shameless plug. I would love it if you checked it out. You can watch the first few videos for free. I'll put a link to it down in the description and there'll be a discount down there. That's it for this one. Thanks for watching. Now it's time for bloopers. So first things, my Amidon, Amidon, Amidon, like this, that took way too long. There's no battery in the remote anymore. Oh. Ah, it did the thing again. To integrate. It's, I wonder if she thought I said Alexa.