algorithmic modeling for Rhino
I am excited to announce the release of Firefly 1.006! This is a major release and includes many new components and bug fixes, along with a number of new tutorials and example files. Here are a few notable features:
Firefly 1.006 unveils a new Arduino Code Generator component which attempts to convert any Grasshopper definition into Arduino compatible code (C++) on the fly. It works by detecting components that are 'upstream' from the Uno/Mega Write component. The Code Generator checks the component ID against a library of custom C++ functions which then get added to the code if there is a match. The code can be simultaneously saved as a .pde (Arduino Sketch) file to be opened in the Arduino IDE.
In addition, there is also a new Upload to I/O Board component which allows you to upload any sketch (see above) directly to your Arduino board from within the Grasshopper environment. A lot of stuff happens behind the scenes with this component. Essentially it creates a dynamic MakeFile and calls a shell application to convert the .pde file into a .cpp (C++) file and then into .hex code (machine readable code) to be uploaded to the microcontroller. Now, you can automatically convert your Grasshopper definition into Arduino code and upload it directly to your board! Note: WinAVR is required to be installed on your machine in order to properly upload sketches to your board. You can download the latest version here.
We didn't stop there. The communication process has between Grasshopper and your Arduino board has been overhauled. Thanks to the newly rewritten GH_Timer (by David Rutten), the Uno/Mega Read components are now roughly 10x faster than previous versions. The Firefly Firmata has been re-written to be more flexible and efficient. The Uno/Mega Write component have changed how it sends data out to the board as well. Simply right-click on any input and set the data type to Digital, PWM, or Servo... That's right, you can dynamically attach a Servo to any pin now!
If that weren't enough, I've also added several components to handle network communication, namely UDP (User Datagram Protocol) and OSC (Open Sound Control). The UDP Listener and Sender components allow you to send/receive messages over a wireless or LAN network using asynchonous transmission. OSC messages are essentially specially formatted UDP messages and the OSC Listener and Sender components add functionality in handling this type of information.
There is much much more too (I didn't even mention the new XML Search or State Detection components)! For a full list of modifications and feature enhancements, check out the change log included in the download link.
To download the latest version of Firefly, please visit: http://www.fireflyexperiments.com/download/
If you are using Firefly and would like to share your projects, comments or ideas please e-mail us (info@fireflyexperiments.com) or post to the discussion forum. Updates will be posted to the Firefly website.
Firefly Developers:
Andy Payne [LIFT Architects; Harvard GSD - Cambridge, MA]
Jason Kelly Johnson [Future-Cities-Lab; CCA - San Francisco, CA]
Tags:
Thanks Andy!!!
I'm going to testing your new release now!!!
;)
dear Andy thanks for the new plugin am testing it now :) but i have a problem here i cant control the servo it works all the time i just plug the wire and it works without any control with the slider. thank you
Hi Ahmed,
You said your servo is or is not working? First, make sure you are using the new Firmata sketch included in the latest download folder. This file has been completely re-written so if you are using an older version of the Firmata but trying to use the new components... you will get poor results. So, make sure to use the new Firmata sketch.
Once it's been uploaded, simply open the port inside Grasshopper and then drag the Uno Write component onto the canvas. Set the Port number to be the same as the Open Port component... and set the Start input to true. Then, right-click on the input pin on the Uno Write component and set the input state to Servo (otherwise it will send the wrong information out to the board). Connect a slider to this pin (making sure the lower and upper limits are 0-180). You should see your servo move to the position that the slider has set.
Of course, this is assuming you are using a standard servo (and not a continuous rotation servo). Does this help?
-Andy
Andy thanks alot for your prompt replay, unfortunately i found it a continuous servo :(,
i am sorry for wasting your time , i will try to change the servo and try again :D
http://www.ram-e-shop.com/ds/motor/ROBOT%20SERVO%20MOTOR%20ZZT-SM-S...
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by