Ben A

Member Since: February 28, 2014

Country: United States

  • Oh yeah, I see that. What were they thinking.

    Also, apparently Unicode is broken in your comments? “test” Yup, definitely completely broken.

  • “wall mounted” is not the words you are looking for on this and several other adapters introduced May 2019.

  • Sure, but today's novices will be writing tomorrow's tutorials, and if we tell them today that "and" is a thing, whereas "&&" is a historical synonym/symbol for the same thing, then maybe ten years from now we'll have more readable tutorial code.

    I CAN DREAM.

  • You're right that the choice of basis operators is arbitrary. (A common basis choice in high-level languages is AND, OR, and NOT.) You're also right that NAND and NOR are the only operators that can be a basis by themselves. (A common basis choice in semiconductor design is NAND by itself.)

    But there isn't anything about NAND that is more fundamental than NOR, and arguably there isn't anything about NAND that is more fundamental than the combination of AND, OR, and NOT. They are just different choices of basis that are more useful in some applications than others.

  • There is no need to teach people obtuse punctuation like "&&" and "||" when C++ (and, by extension, Arduino) has perfectly reasonable "and", "or", and "not" keywords. You can — and, I think, especially in beginner tutorials, should — just write "P and Q" instead of "P && Q", perhaps with a sidenote telling people that, for historical reasons, && is a common synonym for it.

    Also, while expressing XOR is "(P or Q) and not (P and Q)" is perfectly valid (and, as someone else pointed out, well-suited to gate-level optimization), I've found the form "(P and not Q) or (Q and not P)" is easier for beginners to understand, mainly because — by being an or of ands — it can very easily be related to a logic table.

  • The thing I would worry about the most: reliability of this sensor. You can't really afford false negatives here, and if the probes oxidize they will stop conducting and fail with a false negative. I think you're better off with a non-contact water level sensor, or at least using a non-contact sensor as a backup.

  • Sidebar (which you can also see by reading my code, but I am summarizing here since people asked): the sensor is giving back readings from -2048 to +2047, with Z axis baseline around -512. That means that the sensor has a 12-bit ADC and ±4g range.

  • My answer is at https://github.com/airbornemint/SparkFun-accelerometer-challenge

    Its output for the four known datasets is: 80 (77 expected, +4% error), 92 (81 expected, +14% error), 106 (93 expected, +14% error), and 76 (79 expected, -4% error).

    Its output for the two mystery datasets is: 232, 172.

    Enjoy.

  • Thanks for clarifying. Please consider being less condescending in your responses.

  • How does this work with a 3-pin JST and nothing connected to the RX pin (according to the 2nd photo)? From the data sheet, it uses a command-response serial protocol, so I'd expect both TX and RX to be necessary for proper operation.

No public wish lists :(