Diy wifi controller
This is expected behavior for a first build in React Native. Now that the app is installed , it's what you will use to control your lights. That web browser thing was just for testing. That's all you have to do. To control the lights, tap on the button for the controller it will show the IP address for now. The controls are self-explanatory.
Since each controller can handle two sets of lights, controls are present for two. Each one has a toggle switch to turn all of the lights off and on with one tap, and each of the colors has its own slider to control that color individually. You can configure the controller by tapping the Config button in the upper right.
On that screen, you can give it a nicer name, which is the name you will see displayed on the button that appears on the controller list. You can also change the IP address, in case your DHCP server assigned it a different address or you typed it incorrectly. Finally, you can delete the controller from the app entirely.
This doesn't remove the controller from your network - it just erases the app's knowledge of it. If you're here, it's likely that you already know how you are going to use the lights. I can't offer any instructions for this part because it's your project from here! I started this project to make backlit signs.
If you saw my previous Instructable , you already know that I was originally planning to write about those signs, but I kept finding ways I could improve the project until it turned into three separate Instructables. This is part two, and part three is here now. Use your imagination. These lights can be a lot of fun, and can enhance a wide variety of fixtures.
I was happily surprised when I finally got several sets of lights installed in my house and several of my family members downloaded the app and began playing with them. Like I mentioned in the introduction, my wife and I have had a lot of fun having wars overriding each other's color choices, and my young nephew was enthralled for the better part of an evening spinning around the room controlling nine sets of lights on three signs while learning how mixing primary colors creates other colors.
We've only started playing with the final product. I already have an idea for my next application, which is to provide focused lighting for 3D printing photography.
After that, the bar room in my house is in need of a makeover, and these lights will provide the perfect ambient lighting for the shelves and under the bar top where the bartender has to work. Be sure to check out the new and improved version of this controller - now with better instructions, simplified hardware, and a PCB you can purchase in case you don't want to make your own. As you may have read, I am a supporter of Open Source Software. All of the software for this project is available on github Link.
If you are a software developer and have some interest in progressing the software for this project, please head over to the github page and check out the Issues tab.
I could particularly use a few hours from someone with "best practices" experience in React Native. I believe that it would be amazing for it to become commonplace for products on the market to use Open Source software AND hardware, and this could be a good product to be on the front-end of that trend. If you have experience in successful crowdfunding or in something like working with SparkFun some entity that aids in the production and distribution of products , please let me know in the comments.
I don't have the capital to turn this into a commercial product, and I've never navigated the channels of obtaining funding for manufacturing a physical product. I would like to be able to sell the custom PCBs and the electronics case to hobbyists, and fully-functioning units to everyone else. Finally for this Instructable I am a software developer by profession, and I play with electronics as a hobby. I believe that there is a way to simplify the electronics possibly using a shift register?
If you have any ideas that either simplify the electronics or make it possible to add more lights for each controller, please let me know in the comments.
Hello again, I have read the posted comments for this project. I would like to give a more channel a try, meaning to use the PCA to get at least 4 stripes connected to one ESP I would guess to get the ESP code modified. Still, there is the issue with the App either Android or iOS. So, I basically have not the knowledge to do this. Maybe there is a way to modify the app that instead of adding an additional WiFi controller a "virtual" controller can be added, so that the user interface will not changed very much two set of sliders on one page seems to be good solution.
Another more simple way to increase the number of controlled stripes to at least three is to use 3 outputs per stripe for standard RGB led stripes and to add one slider set in the App GUI.
However, even this solution is easier to implement in ESP software still the adoption in App is needed. So, if anyone can support me tuning the app this would be really cool. Regards Andreas. As I mentioned before only the code in Github worked for me by the way code compiled also in VS Code with Platformio plugin. The only thing I have noticed now after I have tested the part again is that the pin mapping description as well as the pin mapping itself were wrong in either code Github and in instructable Zip-archive.
Question 2 years ago. Hey, I have added some comments. I cannot see them if I'm not logged into instructables. Mybe the new comments may be moved.
Question 3 years ago. Do not use the code in the ZIP-Archive on this web site. Everthing else was already available. It took me a while to understand this. The default is "sketch only". After new compiler run and upload the access point was working fine. Furthermore, consider that the SSID is case sensitive if you enter the data in the provided mask. To Hardware aspects. I would really recommend to use a levelshifter circuitry even if you use logic level Mosfet.
It depends from the used device and also the actual value of the 3. This can happen especially if the construction is made of two PCBs and one of the gate wires is broken to whatever reason. So it makes sense to reduce power dissipation by replacement of the with a pin to pin compatible DCDC converter.
The cost is about EUR 3,00 but you can omit the heat sink required by the original DCDC converter usage reduces the power dissipation by ca. I hope I could help you to get the stuff running. I haven't even finished my version. And finally I have to make the complete hardware getting to work. It is a great instructable and especially the software arduino sketch is awesome.
I really appreciate it and try to learn how to get IoT applications running. Answer 3 years ago. Thank you so much for the feedback. An old version of the Arduino code was included with that step.
I've updated the file, so people should get the proper code from that download now. Sorry about that, and thanks for pointing it out. Also, the WiFi settings on the Arduino will reset if it can't connect to a network within 30 seconds, so flashing the board shouldn't be necessary. I picked up the design from dozens of others on the Internet, and I have now constructed about 50 of these controllers with MOSFETs of wildly varying prices from different vendors, and I haven't had a single issue.
One comment I have It doesn't seem like paying EUR 3,00 to omit the heat sink is worth the tradeoff. Can you point to an example of a project to control LED light strips that uses a level shifter? I'm interested in ways to conserve pins, but I haven't seen a concrete example of such a project yet. I would love to see pictures and to find out what you do differently when you have yours built.
Reply 3 years ago. Thanks for your hints regarding WiFi settings and the workaround. Advantages less required input power, less heat generation and you save also space because a heat sink requires space. Regarding cost, yes the linear regulator including heat sink is cheaper than the DCDC converter. The level shifter I mentioned are to boost the 3. If this is the case, no i have not an example. The shift register requires to shift in the data and to update the outputs so you have to set control pins accordingly.
Basically the shift register provides one data input, one clock input and one output register control pin. It means a much higher update rate and you must control data and the setting of the control pins completely by software. One example of such a device is the 74HC PWM as used by you in your project is generated by a dedicated internal peripheral based on counters and you only have to update one register in order to vary the duty cycle done with the AnalogWrite within Arduino IDE from 0 to Reply 2 years ago.
Here is a picture from the assembled PCB. The PCB dimensions are selected so that it fits into a commercial housing. The idea to use level shifter is good from my point of view. Interesting fact is that the output voltages differ across the outputs. It varied between 3. This is really a low gate source voltage even for logic level FETs. The buffer ICs provide a gate source voltage of 5V. That is fine. I have no idea why the D4 output provides such a low High output voltage.
I guess that there are internally loads, which leads to this behaviour. I have provided kohm pull-down resistors at each port pin - so each digital output sees the same minimum output load.
You could extend this to more than 8 zones by simply daisy-chaining shift registers together to get more IOs. Unfortunately, there is not a dedicated 74HC component yet. However, we can make use of the Custom Switch Component to implement our own. Essentially the below code makes use of the open source ShiftRegister74HC library.
It creates a global object named sr for accessing the shift register pins. The code defines a new class called ShiftRegisterSwitch which implements some methods that are required to be an esphome switch. Each instance of this class resembles a single output from the shift register. For this project, the shift register is going to be adding switches that switch the relays for each watering zone. Below is a snippet from my esphome configuration file. Connect the battery to the L Motor Driver power supply input.
Connect the output pins of L to left and right motors. Thirdly, attach the motor driver board and Esp to the top of the board I have used the cardboard. You can use metallic or wooden anything that fulfills your requirement. Tightly screw all the components and mount them on the chassis. Use good quality and strong wheels so that the robot can move even on rough surfaces. Afterward, connect the gear motors to the Motor driver board. When I want to water a zone the relay will close the circuit so that current flows from the power supply and turns on the valve.
There are essentially three main parts of this circuit. The 8 relays for controlling each zone. And finally, the microcontroller and shift register to control the relays. AC power is typically used to controller sprinkler valves. However, we need to actually power a microcontroller as well which runs off 5V DC. You can also see from the schematic above that the common wire from the sprinkler valves is connected to one side of the AC power supply.
The other side is connected to the common terminal in all the relays. When a relay is active the circuit will be complete so that current flows through the sprinkler valve and waters the zone. Headers are on each side for the other boards to get power from.
The board comes with its own regulator to convert 5V DC to 3. The 3.
0コメント