Firefly offers a set of comprehensive software tools dedicated to bridging the gap between Grasshopper, (a free plug-in for Rhino) the Arduino microcontroller and other input/output devices. It allows near real-time data flow between the digital and physical worlds – enabling the possibility to explore virtual and physical prototypes with unprecedented fluidity.
hassan.orion
Mar 24, 2011
hassan.orion
Mar 24, 2011
hassan.orion
i m uploading standat firmata2_2_for uno_3... just mentioning if there s any prob with that.
Mar 24, 2011
hassan.orion
Mar 25, 2011
claudemit
Jul 12, 2011
Andy Payne
Hi claudemit,
At the moment, there is no way (with Firefly) to post data to Pachube. Its been on my list of something to consider implementing into the tool set, I just didn't know if there was a lot of demand for it. But, I can take a look at it. It will likely be a little more complicated as it requires more information to create a feed (than just downloading the current values). I'll try to take a stab at it, but I don't know when I'll have a time-frame on the next release. Sorry that I don't have a better solution at the moment, but thank you for your feedback.
Cheers,
Andy
Jul 12, 2011
claudemit
hi andy,
Thanks for your reply.I think we can download the date of some existing buildings from pachube,and then make some simulation and different optimizations in grasshopper or Physical models.It will be funny to show the comparison diagrams on pachube.well,it's just some random thoughts about the "demand".
Jul 21, 2011
Gia Djahaia
Arduino+2 Infrared Proximity Sensors, Firefly(Grasshopper), Kinect, vvvv.
Students:
Aleksandr Stepanov
Maksim Pesov
Anna Misharina
Nelly Kareva
Ekaterina Kapatun
Mentors:
Eduard Haiman
Vadim Smakhtin
Giya Djahaya
Branchpoint.ru
Aug 22, 2011
Gia Djahaia
Branchpoint Interaction Workshop on Strelka 2011.
Interactive cluster workflow.
Aug 22, 2011
Andy Payne
Hi Giya,
Great videos... Very fun. I really like the dance floor visualization. Congrats!
-Andy
Aug 22, 2011
Gia Djahaia
Thank you. Btw we were lacking of some features in firefly while developing speedometer based on two proximity sensors and arduino.
We had to rewrite the bang (TogEdge) component and FlipFlop component like they are in vvvv to grasshopper in order to perform needed boolean operations. And grasshopper timers are awful. We need normal flexible counters!
So my "wishlist" for next firefly release is about adding this features. I will appreciate if you implement these things.
Cheers.
-Giya.
Aug 22, 2011
Andy Payne
HI Giya,
Thanks for the suggestions. I have to admit that I'm not an expert in vvvv and as such I don't exactly know how the TogEdge and FlipFlop components work. If you could describe how they work (and how they might be applied in a normal setting) I could definitely look into adding this functionality into Firefly. Also, if possible, I'd like to move this discussion over to the Firefly forum so it can be tracked more closely: http://www.fireflyexperiments.com/discussions/post/1579096?lastPage...
Thanks again for your input.
Cheers,
Andy
Aug 22, 2011
EliseElsacker
Oct 4, 2011
claudemit
hi,I meet a problem,when i send some data to grasshopper with the serial read,the UNO read shows error:solution exception:conversion from string "23.20" to type 'integer' is not valid. How can i solve this problem?
Dec 9, 2011
Andy Payne
Hi claudemit. Do you think you could upload a screenshot of your definition? I'm just curious to know how you setup your definition/arduino sketch to see how I can help troubleshoot your problem.
Cheers,
Andy
Dec 9, 2011
claudemit
hi andy,I use the DPin2 connect a Temperature &Humidity sensor AM2302 with the library written by http://www.ladyada.net/learn/sensors/dht.html. if I send the result to firefly meanwhile i use the "UNO read " ,it just show "solution exception:conversion from string "23.20" to type 'integer' is not valid" and not work.I have tried to change the type of the result ,as integer and float,but it comes out similar error . So i reedit the arduino file like this,it seems to solve my problem.Firefly_UNO_Firmata.pde Please give me some suggestion.
Dec 13, 2011
Andy Payne
Hi claudemit,
There's two different approaches you could take to get this to work. The first, and I believe the easiest in this case, would be to use the Generic Serial Read component instead of the Uno Read. The Uno Read has been specifically set up to work with the Firefly_Firmata and expects that the data being sent over from the Arduino has been formatted properly. If you just try to use the code from the LadyAda tutorial, then the data doesn't match what the Uno Read component is expecting, and it throws you an error. The Generic Serial Read component is much more flexible... Essentially, it will return anything coming over the serial port (looking for a carriage return and new line feed as the end of line marker). I haven't test this, but you should be able to use the code (as is) from the LadyAda tutorial, and just use the Generic Serial Read to return the data. You'll need to open the port first (just like before) but just use the Generic Read instead of the Uno Read.
The other option is hacking up the Firefly firmata to get it to work with the DHT library and so that the data is properly formatted correctly. It looks like you were fairly close... but here are a few problems that I see. First, I see you commented out the DPin2 sensor reading line... which is completely fine... but farther down you're actually adding two sensor readings (humidity and temperature). The Uno Read component is looking for a string with a certain amount of elements in the buffer... so if you're sending two new sensor elements, you need to comment out two of the other lines. So, I would recommend also commenting out the DPin4 sensor reading line. Also, I see you changed the delimter between the sensor elements to a semi-colon (;) instead of a comma (,). The Uno Read uses the comma to determine where to parse up the string coming over from the Arduino... Thus, these need to remain as commas and not semi-colons. As far as I can tell, the rest looks good. Hopefully this helps.
Cheers,
Andy
Dec 13, 2011
claudemit
Hi andy,
Thanks for your reply.
I have tyied just sending one of the sensor readings to GH each time using the Generic Serial Read component. The problem occurs when I use the uno Read component to read the other pins at the same time. So I change the Firefly firmata file to send all the information to GH using the Generic Serial Read component. I find that the Uno Read uses the comma to determine where to parse up the string coming over from the Arduino...so I change it to a semi-colon (;) ,and segment them in GH.I don't know why I can't send somthing by Generic Serial Read component and use the Uno Read at the same time.
Dec 14, 2011
Andy Payne
Hi claudemit,
I guess I'm a little confused as to what it is you would like to do. How many sensors do you have in your setup? There are a few different ways to tackle this problem... I'm just trying to find out the most efficient way to do it.
As I said, the Uno Read has been setup specifically to work with the Firefly Firmata. If you modify the Firmata (which is totally fine to do) just know that the data being sent over to Grasshopper has to be formatted the same as the original Firmata sketch. The Uno Read component uses commas as the delimeter (where to split the data). If you add in some of you're own data, make sure it's separated by commas and not semi-colons. The Uno Read component isn't really that different from the Generic Serial Read component. The biggest difference is that the Uno Read has already been setup to parse through the string of data, splitting it up at the commas and sending the values out to the right output pin. The Generic Serial Read component just returns the overall string of information (without doing any post-processing on the string data). So, I don't know why you would want to use both of them at the same time. I would recommend using one or the other. If you use the Generic Serial Read, you can basically send any string of data over the serial port... however, you may need to do some post-processing on this data (such as splitting the string up at the commas). If you use the Uno Read, then the string has to be formatted in the exact same way as the original firmata sketch (so the same number of sensor values separated by commas). Otherwise it will throw you an error. Does this make sense?
Dec 14, 2011
Philipp
Hey, i have two requests for the nest version.
First, i played aroud with a kinect node and it is awesome. Altrought, i think it will be nice to have another one just with customizable grid of points, their depth and color.
Second idea is actually already realised bu David here - it is a node which works same as "if button pressed" but instead "if object selected"/ But now it works bit slowly, maybe you`l find how to speed it up ( just rewrite it in c#?)
Dec 26, 2011
Andy Payne
Hi Phillip,
Thank you for your suggestions. I have been working on a whole new suite of computer vision components... and your Kinect suggestion would work well here. It's something I plan to implement... I just I have to find the time to work on it. But thank you for bringing it to my attention.
I will also look into the second idea... But I was wondering if you could describe the application for such a component. It looks like you want to find the GUID from the geometry in a Rhino file, and when a certain piece of geometry is selected, then this component would return true, otherwise it would return false. Is this correct? Do you want this to drive a light? motor? start a counter? all of the above? I'm just curious as to where you might want to use this type of component.
Cheers,
Andy
Dec 27, 2011
Philipp
Andy, thank you for quick reaction. oh yeah, it will be great to implement some face/hand recognision components...)
Yes, actually i just wanted to "separate" data 0 to show only the data connected to selected point or face, or start a reaction algorithm (kangaroo or spm, lets say). But it will be cool also to connect this to firefly to actuate led or servos, you are right.
Dec 28, 2011
Pablo0o0oo0o000oo
KINECT+FIREFLY INSTALATION
In this post pretty well explains the work done during the workshop of parametric motionthat was used for grasshopper + kinect
I HOPE U LIKE IT...
Mar 1, 2012
Mårten Nettelbladt
The current download link has a typo: http://www.fireflyexpreiments.com/
Mar 8, 2012
Andy Payne
Thanks Marten! The link has been fixed.
Mar 8, 2012
Mehmet Ali
I am looking for a way to connect Grasshopper to Lego Mindstorms NXT robotic kit. Does firefly have a functionality on this fact?
Mar 15, 2012
Andy Payne
Hi Mehmet,
Unfortunately, I have no experience with Lego Mindstorms so I don't know if it's possible to control it or not. I can say that I haven't built any tools specifically for this functionality... but that's not to say it couldn't work with some modifications. Firefly essentially works through serial communication so if Lego Mindstorm can receive information using the serial protocol then it's possible it could work. You will probably want to use the Generic Serial Write component for this (as the Uno Write is specific to the Arduino and the Firefly Firmata).
-Andy
Mar 15, 2012
Scott Davidson
Mehmet -
You may want to look at this blog post on Lego Mindstorms: http://www.robotshop.com/gorobotics/articles/lego-mindstorm-nxt-ard...
Mar 15, 2012
Andy Payne
Regarding Ryan's questions:
Hey Andy, I'm curious what drivers you are using for the PS Eye?
Thank you,
ryan
You can download the PS3 Eye camera drivers from (http://codelaboratories.com/downloads/) At the bottom of the page, you'll see a link for the CL Eye Platform Driver (for single cameras). This should be what your looking for.
HTH,
Andy
Mar 16, 2012
kleerkoat
Thanks Andy, I forgot about the discussion area right above here. Still having problems with the C_sawapan_media.dll not being found. Any ideas? Thanks.
Mar 16, 2012
Andy Payne
Ryles,
So your using Rhino 4.0 (with the latest release of Firefly 1.0066 which was released just 2 days ago)? And you've made sure to copy all of the files in the installation folder (including the C_sawapan_media.dll into the Roaming Folder for Grasshopper (making sure to remove any prior versions of Firefly which may have already been installed)? And you've unblocked each of the files? If you've followed each of these steps, then I'll need to speak directly with Panagiotis, as his library should work on most machines. It's using DirectShow to automatically connect to your video capture device (BTW, have you tried disabling your default video capture device, if you have one... sometimes with the PS3 camera it will still try to default to an older one if it's installed and thinks that is the default camera... You can disable it in the Device Manager). Let me know if you followed all of these steps and are still running into issues, and I'll try to talk to Panagiotis about whether there is something in his library that would be causing the issue.
-Andy
Mar 16, 2012
Philipp
Hoorrah! Now waiting for kinect gestures components)
Mar 18, 2012
Mohammad Azinkia
Do u know how can we run over 4 servo motor by an Arduino!?Is it possible?
Mar 20, 2012
Andy Payne
Hi Mohammad,
Yes, you can easily drive more than 4 servo motors with a single Arduino Uno. Basically, the Firefly Firmata takes advantage of the Servo library which is part of the stardard Arduino IDE. With the Servo library you can control up to 12 servo motors using an Arduino Uno (there is one limitation in that the servo library disables PWM capabilities on pins 9 and 10). You can find out more about how the servo library works here: http://arduino.cc/en/Reference/Servo
The biggest issue in controlling more servo motors is the amount of power you need to supply to each motor. It's likely that a single Arduino powered directly from the USB cable will be able to supply enough power to control more than 2 motors. You will likely need to provide an external power supply that has the proper voltage and amperage specs to properly power your motors. I don't know which servos your using (and how many) but you should look at the datasheet and determine your power requirements. Adafruit sells a pretty beefy regulated (switching) power supply which may work for your application (http://www.adafruit.com/products/658). This one will supply up to 10 Amps of current and 5V regulated voltage. Does this help?
-Andy
Mar 20, 2012
Mohammad Azinkia
Thanx andy for taking your times! Actuly I want to know if we have many servoes about 50, how can we run them by arduino?
Mar 22, 2012
MiChaElLa
Is it me or does it take forever to load to the discussions?
Mar 25, 2012
Andy Payne
Hi MiChaElLa,
No, I haven't had any troubles loading the discussions. Is it just on the Firefly discussions? Or other groups as well? Is anyone else having trouble like this?
-Andy
Mar 26, 2012
Andy Payne
Hi Mohammad,
You can control up to 9 Servos using the Uno Write component and you can control up to 34 Servos using the Mega Write component. If you want to control up to 50 Servos, then you'll likely need to buy 2 Mega boards, or some combination of Megas and Unos. Again, power will likely be the most important consideration as each of those servos (if they're all going to be driven at the same time) will draw some amount of current, so you need to add up your loads to determine your power requirements.
HTH,
Andy
Mar 26, 2012
MiChaElLa
Hi Andy,
I get this when I try to post to the discussions:
Please keep this page open so we can finish uploading your files to the forum.
Meanwhile, feel free to open a new browser window and continue using Grasshopper.
It just spins and spins... and I can't seem to add to the discussion...
Mar 26, 2012
MiChaElLa
Hi Andy
I was trying to post to the firefly discussions...
Mar 26, 2012
Andy Payne
Hi MiChaElLa,
This sounds like a NING issue (the provider for the Grasshopper forum). What browser are you using? I typically use Chrome and haven't had any issues, but I feel like I've had some problems in the past with other browsers. Have you tried emailing the NING Technical support, or even Scott Davidson from Rhino (who setup the forum)?
-Andy
Mar 26, 2012
Danny Boyes
@ MiChaElLa,
I sometimes get this when I have the file open that I'm trying to load. As soon as I get the message and then go and close the image or gh file it completes.
I use Chrome as well.
Mar 26, 2012
MiChaElLa
Thanks for the info. I am using chrome as well. I'll email them. Perhaps in the mean time I can ask via the comments? or message you? what I am having issues with? Thank you.
Mar 26, 2012
Danny Boyes
I don't actual use Firefly that much I just joined the group to give you my insight on the uploading issue. I would suggest you start a discussion and use a website like Mediafire.com to upload your files to then you can post the links in the discussion.
---
In the interest of neutrality I would like to say that there are other file uploading websites available :))
Mar 26, 2012
kleerkoat
@ Andy... Got it working flawlessly with my PS Eye, guess my laptop's webcam is bunk.
Thanks for your help and the plugin!
Mar 26, 2012
kleerkoat
@Andy... this is really odd. it didn't work with my laptop's camera, plug in the PS Eye, and the laptop camera then works and it doesn't use the PS Eye. Tried disabling the laptop camera and it stopped capturing. No complaints, just thought i'd share that oddity. Main thing is, I can get it working now!
Mar 26, 2012
Mohammad Azinkia
Thanks andy!
Mar 28, 2012
Carlos B.M.
Hi!!!
I'm having problems With the "UNO READ": it 's red all the time and no data is collected. I can "Write" and control manually some Leds, but not through the data collected by my sensors. I have developed an equalizer definition, And I need to control it With a sound sensor.
Even When I change the position of the USB in other sockets, always recognize that I'm using COM 3. Is this normal??
I hope you could help me to make it work, before Friday! It's my project delivery day.
Thanks,
Carlos
Aug 1, 2012
Andy Payne
Hi Carlos,
For future reference, it's probably better to start a discussion (above) for more detailed questions... that way we can start a thread about the topic and track any questions all the way through. Nevertheless, the description of your problem makes me think that for some reason the data being sent from your arduino isn't being formatted correctly, and thus the Uno Read component is throwing an error when the incoming data doesn't match the expected format. You may have already tried this, but can you double check that you have loaded the Uno Firmata properly onto your board. You might have loaded the Mega Firmata onto your Uno board, in which case it may not be sending the right data over to Grasshopper. To see if the firmata is working properly, load it onto your board and then launch the serial monitor in the Arduino IDE (make sure your port is closed in Grasshopper and that the serial monitor baud rate is set to 115200). You should see a long string of data (separated by commas) streaming down the page. That is the string of data that is being sent over to Grasshopper... so if this is working properly, then you should be able to open the port in Grasshopper and then use the Uno Read component to retrieve that data and parse it up.
If this doesn't work, could you post a screen shot of your circuit, or provide more information about what type of sensor you are using? You mentioned a sound sensor (is that a microphone?). Hopefully we can figure this out before your deadline (although I'm currently out of town and do not have regular access to my computer... so I may be a little less responsive than usual).
Cheers,
Andy
Aug 1, 2012
Carlos B.M.
Ok Andy!! thank you very much for your suggestions, any way I changed my strategy, and I have used an other arduino board in the computer of my partner, to save up time. I will check forward these steps to try to knwo What-the-Fck is going on with mine!
Thanks for all!!
Aug 2, 2012