I'm looking to build a project which allows me to control an RGB Bulb using different facial expressions. I've seen that Wekinator has a pre-built facial expression input (Example code | Wekinator) and would like to use that if it's possible.
See the links in that site for the required hardware for your project. Come back only if you have found an Arduino as powerful as a PC or RasPi, WRT video recording and analysis.
I have an Arduino UNO R3; and a detailed facial feature tracking software, which comes as a wekinator bundle, which is under this: Example code | Wekinator
I have all the necessary components for the arduino, such as a breadboard, resistors and the RGB bulb itself.
You mentioned a powerful Arduino, is the UNO R3 acceptable?
As it's my first time using any form of arduino, I'm a bit puzzled on how I make my arduino connect to Wekinator - as the output
The facial tracking automatically connects to the Wekinators port (which i think use OSC), how would I be able to connect the arduino to the same port for it to be used as the direct output, thus allowing me to control the LED bulb using the tracking?
"As it's my first time using any form of arduino, I'm a bit puzzled on how I make my arduino connect to Wekinator - as the output"
The computers normally communicate with the arduinos thru a computer serial port (probably the simplest way). I don't know what an "OSC" is. so you will need to sort that part out in your project.
Wekinator uses OpenSoundControl (OSC) to communicate. Each OSC message has: A destination, which includes: - a hostname (i.e., a computer name; use localhost if you’re just running on your own computer) - a port number (e.g., 6448) - A message name, which is a text string identifying the message (e.g., /wek/inputs) - Message data; For Wekinator, this is typically a set of numbers, sent as floats.
As my face tracker uses OSC, I need to somehow convert Arduino's Serials to OSC (I think??) for the two to communicate
Is there a standard procedure to get my face tracker and arduino to communicate information as an input and output?
"Wekinator uses OpenSoundControl (OSC) to communicate. Each OSC message has:
A destination, which includes:
a hostname (i.e., a computer name; use localhost if you're just running on your own computer)
a port number (e.g., 6448)
A message name, which is a text string identifying the message (e.g., /wek/inputs)
Message data; For Wekinator, this is typically a set of numbers, sent as floats."
That sounds like typical network communication protocol. Probably the easiest thing to do is get a wifi enabled board and set it up to communicate with the computer as an access point or a server.