Git Product home page Git Product logo

Comments (28)

rwaldron avatar rwaldron commented on July 22, 2024

I haven't had a chance to document it and it's definitely a work in progress, but if you're feeling adventurous :)

(note, I only know how to walk you through on a Mac)

If Arduino IDE is open, quit!

# Get yourself into this directory...
cd /Applications/Arduino.app/Contents/Resources/Java/libraries/

# make a backup of the existing Firmata
cp -r Firmata Firmata_stable

# rm Firmata
rm -r Firmata

# clone the experimental repo branch
git clone git://github.com/jgautier/arduino-1.git Firmata

# enter!
cd Firmata

# get the branch with pulseIn
git checkout -b pulseIn origin/pulseIn

Now open the Arduino IDE.

File > Examples > Firmata > Standard Firmata

Once that's loaded into the IDE, confirm it is the correct program by searching for "PULSE_IN"

Compile and upload!

If you receive an error about PULSE_IN not being in scope, then copy this:

#define PULSE_IN                0x74 // send a pulse in command

...and add it below this line:

#define REGISTER_NOT_SPECIFIED -1

Compile and upload to the Arduino. Close the IDE.

EDIT: (adding @korevec's additional instructions)

EDIT: March 2014, the steps below are no longer necessary, as the pulseIn branch ships in master

# Get into johnny-fives node module deps dir
cd johnny-five/node_modules

# copy the old firmata
cp -r firmata/ firmata-npm

# clone julian's upstream in place of the old firmata
git clone git://github.com/jgautier/firmata.git 

# enter the repo, create a pulseIn branch and pull julian's pulseIn branch
cd firmata && git checkout -b pulseIn && git pull origin pulseIn

Now you should be able to use Ping. Hopefully I haven't missed anything - let me know if I have :)

Also, I'm on IRC/freenode in #robotjs (nick: rwaldron)

from johnny-five.

kelly avatar kelly commented on July 22, 2024

Thanks for the quick response! It worked :) I added one more step. I had to checkout the pulseIn branch on https://github.com/jgautier/firmata/

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

The last git step didn't work for that? I should move these instructions to the read me

from johnny-five.

kelly avatar kelly commented on July 22, 2024

The last git step is for the arduino firmata pulseIn branch. It also needs the node firmata pulseIn branch. Or, am I confused? ;)

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

Haha -- yes, I totally missed that.

Can you help me update this with the missing steps? We'll add it to the repo for others to follow :)

from johnny-five.

jgautier avatar jgautier commented on July 22, 2024

might as well merge the pulseIn branch into master node firmata. shouldnt hurt anything with it being there.

from johnny-five.

Rolilink avatar Rolilink commented on July 22, 2024

i got problems here:

cd firmata && git cob pulseIn && git pull origin pulseIn

Cant find command cob

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

Oh, ouch. my bad. Those are shortcuts that I have on my system. I had copy/pasted this. I'm sorry about that.

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

Should be:

cd firmata && git checkout -b pulseIn && git pull origin pulseIn

from johnny-five.

Rolilink avatar Rolilink commented on July 22, 2024

ok thanks :)!

from johnny-five.

remy avatar remy commented on July 22, 2024

I just got this working on a 4 ping sensor ( HC-SR04 ) with directions from @nexxy. Basically, "bridge" the Trigger and the Echo pins. Simply put a jumper wire between these two pins as per @rwldrn's pic (the bridge between 18 & 19) - then the values come through on both the Trigger & Echo, so you can pop either one in the digital out.

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

It was weird when I opened this and saw the picture... since the breadboard and HC-SR04 are still sitting on my desk exactly as shown here...

from johnny-five.

remy avatar remy commented on July 22, 2024

@rwldrn and I had to screenshot your picture, because twitter screws with image urls, if you open them, it'll give you the full web page.

from johnny-five.

LeventErkok avatar LeventErkok commented on July 22, 2024

Hi there.. I'm working on a Firmata based Arduino project and needed a PulseIn function like you implemented here. Great work. It'd be really nice if this was included in the Standard Firmata release. Any chance you might send them a pull request?

Also, it might be more flexible if trigger and echo lines can be separated; i.e., send echo on one line and read the trigger on a different one. (The user can of course use the same pin if so desired.)

from johnny-five.

dwayn avatar dwayn commented on July 22, 2024

I merged the pulsein changes from https://github.com/jgautier/arduino-1/tree/pulseIn into AdvancedFirmata, so that hopefully we can get all custom functionality into a single place (steppers, pulsein, etc)
You can find it currently at: https://github.com/dwayn/AdvancedFirmata/tree/pulsein and I also have an outstanding pull request back to soundanalogous to get it merged into root repo.
Tested with eg/ping.js and all seems to be working correctly

from johnny-five.

gillesruppert avatar gillesruppert commented on July 22, 2024

For people coming to this issue now (23/07/2013): the master branch of https://github.com/jgautier/firmata works fine, whereas the pulseIn branch does not work at this point in time, so you can ignore the last step of @rwldrn 's instructions (i.e. checking out the pulseIn branch on @jgautier 's firmata repo).

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

Thanks!!

Avoid this altogether with http://www.maxbotix.com/Ultrasonic_Sensors.htm#LV-EZ

from johnny-five.

gillesruppert avatar gillesruppert commented on July 22, 2024

@rwldrn I will, but the HC-SR04 is really popular (and very cheap), so you see them used a lot. I thought I better let people know here to avoid the pain I've been through and for the trouble shooting guide. 😉

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

I know :) and I appreciate the update!

from johnny-five.

awaterma avatar awaterma commented on July 22, 2024

Thanks for this fix! Nexxy helped me get this running this afternoon via IRC and pointing to this issue. So cool to run the Arduino from Node. ;)

from johnny-five.

xhava avatar xhava commented on July 22, 2024

hi, i really like johnny-five i think that it is amazing but, there is something like documentacion or some books in order to learn about this amazing library named johnny-five.

from johnny-five.

felixsanz avatar felixsanz commented on July 22, 2024

is this still working? cause here i don't get anything in console

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

@felixsanz have you loaded the the modified version of StandardFirmata onto the board? https://github.com/rwaldron/johnny-five/wiki/Ping#setup

from johnny-five.

felixsanz avatar felixsanz commented on July 22, 2024

Meh, sorry. I was using "gort" to upload firmata and i thought that i could checkout that pulse-in firmata to gort, so gort uploads that new one. Fail. I needed to push the firmata using arduino IDE as your link suggest. Thx

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

@felixsanz Glad you were able to make progress. Let me know if you have any other questions

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

@felixsanz Looks like gort ships pre-compiled .hex files to be uploaded. I'm sorry if that tool was misleading, I know how awful the feeling of temporary failure can be. Here's my pledge: to avoid this in the future, I'm going to try to find a better way to manage the pulseIn branch of StandardFirmata. Ideally we can do it as a module that can be installed via npm.

from johnny-five.

rwaldron avatar rwaldron commented on July 22, 2024

@felixsanz check this out: https://github.com/AdamMagaluk/leo there are a whole bunch of "ino" modules for this. I'm going to look into making a pulseIn-enabled StandardFirmata ino for this :)

from johnny-five.

felixsanz avatar felixsanz commented on July 22, 2024

Thats a great tool, thanks!

from johnny-five.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.