xekon Posted November 4, 2023 Share Posted November 4, 2023 (edited) I am working on a project where I have several momentary buttons, these are the normally open type of button, then when you press the button it completes the circuit. These buttons are able to perform tasks manually, but I also have a webcam setup, and would like a way to have autoit short these circuits when certain colors are seen. (I can handle programming this part myself) I have been using autoit for various tasks going on 20 years now, but it has always been a simply software solution. The biggest problem is trying to search for solutions.... searching things like autoit button, autoit hardware button, autoit relay, is not very specific. I get the idea that somebody more versed in controlling circuits via autoit would be able to point me in the right direction. (soldering is not an issue) Edited November 4, 2023 by xekon Link to comment Share on other sites More sharing options...
Andreik Posted November 4, 2023 Share Posted November 4, 2023 Take webcam input and process the content with OpenCV (or something similar) to look for your colors in different regions of your screenshot. OpenCV it's well documented and there is an UDF that support most if not all functions available. xekon 1 When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted November 4, 2023 Moderators Share Posted November 4, 2023 Moved to the appropriate forum. Moderation Team Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
xekon Posted November 4, 2023 Author Share Posted November 4, 2023 Appreciate the suggestion on OpenCV, but I prefer to stick with autoit if anyone knows of a UDF that allows interacting with hardware. Will keep OpenCV in mind for some projects though. Link to comment Share on other sites More sharing options...
jchd Posted November 4, 2023 Share Posted November 4, 2023 More information is needed: 1/ which kind of charge these "switches" are going to power (AC or DC, voltage, current)? 2/ how many "switches" do you need? 3/ which port are available to drive your "switches" (USB, serial, //, other)? 4/ how this interface will be powered (from USB, from an external adapter, battery)? 5/ how frequent are the changes (once per ms, once per s, once per hour, once a month,...)? 6/ do you care about cosmetic (a pretty ad-hoc box) or is a hobby-style device OK? 7/ what is your budget for the hardware part? Depending on your 7 answers, there can be several solutions, ready-made or more DIY. xekon 1 This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
xekon Posted November 4, 2023 Author Share Posted November 4, 2023 (edited) The momentary switches are buttons on devices, that can be pressed manually, but I also soldered some wires to the button's solder pads so that I can hopefully automate some stuff. I prefer DIY or inexpensive. I think what I am looking for is something like the GPIO pins on the raspberry pi, but something that can be controlled directly from a desktop PC, maybe some kind of usb device that has IO pins that can be used as output, I could then send signal to short two of the pins together, and those pins could lead to the wires that I tapped into the momentary buttons. One of the things I am trying to do is have one camera trigger another cameras flash/shutter, but I can think of other type uses, like if certain activity is seen on camera then trigger a siren. I think I am on the right track with looking for some kind of GPIO board, but something that autoit could directly send a signal to would be great, otherwise I could see me writing an autoit script that calls some 3rd party program to send signals to the gpio device, which just seems kinda messy. 1. switches are open/close which instructs the device to do something or not do something 2. I would be controlling between 4 and 8 switches/buttons 3. usb would work, my pc has plenty of those, I could also make serial work with a usb to serial adapter (pc motherboard has no serial) 4. can be powered however. 5. the frequency of the event will depend on how often detected, could range from 3 times a minute to every couple hours. (when detected I would short two pins for maybe 200ms, to make sure the appropriate device registers the button press) 6. Cosmetics don't matter, I mean I have already hacked apart some consumer devices to add wire leads to the buttons, lol. 7. cheaper the better Edited November 4, 2023 by xekon spelling Link to comment Share on other sites More sharing options...
mutleey Posted November 4, 2023 Share Posted November 4, 2023 53 minutes ago, xekon said: I think I am on the right track with looking for some kind of GPIO board, but something that autoit could directly send a signal to would be great, otherwise I could see me writing an autoit script that calls some 3rd party program to send signals to the gpio device, which just seems kinda messy. A microcontroller would easily solve this, atmega 328p for example. There are several communication UDF's that would be very easy to adapt, you could use an Arduino UNO via the USB port or communicate directly with the 328p via serial Rx/Tx. xekon 1 Link to comment Share on other sites More sharing options...
jchd Posted November 4, 2023 Share Posted November 4, 2023 You still haven't told wich power (ac/dc, voltage, current) you'll be switching. Anyway, there's no need for an extra µC here, unless your requirements exceed what can be handled by easily found cheep devices. https://fr.aliexpress.com/w/wholesale-usb-to-8-relays.html argumentum and xekon 2 This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
xekon Posted November 4, 2023 Author Share Posted November 4, 2023 (edited) I really appreciate the responses guys! I also found another post where a person is doing basically exactly what I want to do: https://maker.pro/forums/threads/how-can-i-press-a-push-button-with-a-relay.265601/ Knowing I might want to complete the circuit of up to 8 buttons, that would mean I need 16 relays. I watched this video, and my immediate thought was WOW those are loud: https://www.youtube.com/watch?v=TFt480sxNWg So Now I am thinking I want to try solid state relays to accomplish my goal, either directly controlled over USB, or if I have to controlled while connected from a raspberry pi. I found this 8 channel one, but I am wondering if they can be found for less: https://www.ebay.com/itm/235155940733 (this one is not usb so I would have to connect it to an arduino or raspberry pi) Edited November 4, 2023 by xekon Link to comment Share on other sites More sharing options...
jchd Posted November 4, 2023 Share Posted November 4, 2023 3 hours ago, xekon said: Knowing I might want to complete the circuit of up to 8 buttons, that would mean I need 16 relays. Why 16? A relay is basically a switch and probably the relays they use are SPDT (simple pole dual positions). For SSR (solid-state relays) the specifications for switched voltage and current are more important than standard relays (typically 10A 250V~). You still haven't specify what you need. Are you switching low analog signals, which frequency range, high-current loads, halogen lamps, ceramic oven, you name it? xekon 1 This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
xekon Posted November 5, 2023 Author Share Posted November 5, 2023 (edited) OH! now I understand what your asking, they are switches that are mounted to a PCB, One of them is a camera, I soldered wires to the underside of the shutter button. I assumed the pcb is a circuit and that its just checking continuity or sending very low voltage and current when pressed. I also have an infrared light that you press the same button repeatedly to cycle modes (not a toggle switch) Off, Low, Med, High, Off, that one is probably also low voltage, but I will check it. Assuming all switches are very low voltage and current the solid-state-relay board should do the trick right? I would just need to figure out the best way to interface it with the PC so that autoit can talk to it. I do not know the frequency range, but I could probably use my digital volt meter to check the volts/current on the buttons. The Camera is powered by 2 AA batteries, so there can't be much current going through that shutter button I would think. Edit, more info: The idea is I have a webcam that looks for general movement, then I have a more high resolution Camera that I can signal to take high res pictures, and if its night time also turn on additional infrared lights, if it goes well I have more cameras I would like to setup as well. I know there are high end cameras that can do all of this, but this is just meant to be an experiment in remotely triggering hardware to perform functions, even old hardware that is not setup for internet of things type remote control. Edited November 5, 2023 by xekon Link to comment Share on other sites More sharing options...
xekon Posted November 5, 2023 Author Share Posted November 5, 2023 (edited) so if I bought one of these: https://www.ebay.com/itm/235155940733 I am guessing I could interface my pc with it directly over usb using this FT232H breakout usb to gpio board: https://www.adafruit.com/product/2264 but would Autoit have any way to communicate with the Adafruit FT232H Breakout? Edited November 5, 2023 by xekon Link to comment Share on other sites More sharing options...
xekon Posted November 5, 2023 Author Share Posted November 5, 2023 (edited) The more I look at relays, the more I see why it matters what I am using them for, the product I was looking at appears to be good for 75-250 VAC I am not even sure it would do what I am wanting. Maybe what I need is to use an optocoupler, I just need a device that can complete simple small circuits, like the shutter button on a camera, or the power button on my computers front panel header. (sounds fun!) https://forum.arduino.cc/t/arduino-to-turn-on-pc-using-opto-coupler-help-needed/468878/5 Then I find products like this https://www.ebay.com/itm/324988937994 why is 3.6 volts the minimum, I can understand a maximum, but why a minimum, I thought optocoupler was all about isolation, I just want to complete the circuit and let the button send whatever voltage it normally would send. What if my button actually sends less? I guess I need to get a volt meter on my intended buttons to control! Edited November 5, 2023 by xekon Link to comment Share on other sites More sharing options...
xekon Posted November 5, 2023 Author Share Posted November 5, 2023 I think I have got it. I can use https://www.adafruit.com/product/2264 and I can use some 3.3v mosfets to act as the switches: https://electronics.stackexchange.com/questions/235672/for-3-3v-microprocessors-whats-the-best-way-to-power-the-gate-of-a-mosfet very steep learning curve when dealing with electronics, spent most of the day reading. Link to comment Share on other sites More sharing options...
Solution jchd Posted November 5, 2023 Solution Share Posted November 5, 2023 You need to consider your setup in gory detail. Triggering the switches is just one of the remaining problems. If you use mosfets, then you need to realize they can't cope with alternating voltages at drain-source. Also isolation between 8 or so devices to switch is not granted and it also comes with the question about isolation from the PC (or other device) triggering the switches from the reference voltage of the switches devices! Grounding together the PC and up to 8 distinct devices will most probably causes serious issues, noise, damage, frustration. So yes, you need opto-coupling at the trigger inputs. Since you don't have 8 (or so) lines out of the PC, you also need some USB to 8 digital lines device. Then if the phototransistor of the stock PC817 can reliably switch any of the 8 (or so) devices, then you're fine since the 8 emitters of the 8 PC817 are isolated from each other. But if you need more switching power for any of the switched device, then you need another layer or a more capable optocoupler, e.g. TLP350 (but these then need higher power supply). I attach the datasheet for the typical PC817 and TLP350. Note that the output max current is about 30mA @ 5V. PC817X.pdf TLP350.pdf xekon 1 This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
xekon Posted November 5, 2023 Author Share Posted November 5, 2023 (edited) Thank you very much! I ordered a couple of these PC817 8 way optocouplers: https://www.ebay.com/itm/334974375491 Will be like a month before they arrive, going to see what the most affordable "USB to 8 digital lines device" is that I can find. So far I am not finding anything for less than the Adafruit FT232H breakout usb to gpio for about $14 https://www.adafruit.com/product/2264 Update after a bit more reading: The Adafruit uses CircuitPython, which is a fork of micropython. CircuitPython is actually developed BY Adafruit. I found a board that I believe would work similar(ESP32 CH340C), it is only $3 but it would use micropython: https://www.ebay.com/itm/166409779569 The difference is that it might take longer to get up and running with the micropython version, circuitpython already has massive library you can draw from. Having never worked with either, im not sure about possible limitation like file transfer etc, the Adafruit FT232H from the description sounds very capable, they compare it to a swiss army knife! Edited November 6, 2023 by xekon Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now