Member Since: February 5, 2013

Country: United States

  • Rather than considering it an "intruder" I'd be inclined to use a PIR as a sanity check for the occupancy count: if the count is zero, and motion is detected, set the count to one. Also, if the count is non-zero, and the PIR has not activated in a long time, set the count back to zero.

    To prevent being suddenly plunged into darkness, I might also add some sort of audible cue (buzzer chirp, audio trigger board, etc) that the lights are about to go off. When the last person exits (count goes to zero) don't cut the lights immediately, but give a chirp then turn off the light a few seconds later. In the case of the count going to zero prematurely (miscount of the trip sensors or long PIR timeout) this gives you some warning and lets you wave your arms to keep the lights on. Because this also sets the count to one, you will only have to do the wave thing once, until someone else leaves the room. Rather than just a delay, the "count reached zero" chirp also gives you some comfort when you are the last person leaving, in that you know the lights will go off shortly, and your don't have to stop you n the hallway to see if that is the case.

    If you use something like the WAV trigger board, you can have additional sounds for count up, count down, number of people in the room, etc., although that might get annoying over time.

    If the system knows the time (ESP32 can get it from the Internet even without an RTC) you can also use the time as a backup to turn off the lights at night in case the count got out of sync. You can also use the time to automatically switch the PIR into signaling intruders during the night.

  • Am I missing something here? The TPMS readout only goes to 99, which disqualifies it from my first potential application which has 120 PSI tires. I can concede that most vehicles are in the 30 PSI range, so there still is a use for it for many people. But the compass rose readout only goes up to 199? What about headings between 200 and 360?

  • I would go one step further and put the address(es) right on the board silkscreen. In this case, where there is an address jumper, put it next to the jumper and list both addresses: jumper open and shorted.

  • There is indeed something odd about that add-a-fuse listing: a single piece is $18.60, but a pack of ten is $8.99? That latter price sounds more typical. The alternative you are thinking of might be something like this which is basically a brass shim that goes next to the fuse and lets you attach a wire with a Fast-On connector. Yes, they are cheap, but I've always found them to be difficult to use, as they just don't want to stay in place while you try to jam it and the fuse blade into the fuse holder, especially considering the tight places they put fuse blocks these day. Plus, you still have to add a separate fuse holder for the new accessory. These add-a-fuse adapters may cost a bit more, but they are so much more convenient and easy to use that I think they are worth it.

    Agreed about the nasty voltages n a car, and it's not just from the starter. Nasty spikes can happen any time. I put a front end consisting of polarity protection diodes, a TVS, and filter capacitors on any of my projects going in a car. Researching such protection circuits, I've found plenty of sources warning of such concerns, but I'm surprised that there are very few details on how to implement such protection, and no ready made solutions are available. They sell audio noise filters to put inline to accessories, but no power protection devices. Seems like an untapped market to me. Maybe it's because most commercially produced accessories already have the protection built in, and it's only the hobbiests/makers that would need one - and they are a smaller market that can just build the protection themselves?

  • It would be interesting to see a breakdown of WHY that 62% don't visit makerspaces. The article guesses that a majority simply don't want to, but I tend to think more along Drakonite's line of thinking that they just aren't available, aren't suitable, or are too expensive.

    I've looked at The Maker Map and it actually shows that there are four listings that are within a couple hours drive of me. But when looking at the details: * One is an electronics component retailer * One is a woodworking veneer retailer * One seems promising, but costs $600 a year, and the website offers no information on what they actually offer * One sounds absolutely fantastic and just what I would be looking for, but it is mis-placed on the map: it's actually about 2000 miles away in California.

    As Drakonite put forth, I probably have a better electronics workbench at home than many makerspaces, and access to an even better one at work. My main interest is occasional access to a laser cutter, and for $600 a year, I can send a lot of jobs out to Ponoko and still be ahead of the game.

    So, I contend that the reason I don't go to a makerspace is because one is not available at a reasonable price. But after writing the previous paragraph, maybe it will be interpreted that I simply don't want to go to one? An interesting dichotomy... But I still contend it's availability: if there was one with the equipment I needed, and available at a reasonable "pay as you go" basis as opposed to a long term "whether you use it or not" expensive membership, I would be all over it.

  • As a card-carrying old fart, I resemble that comment! ;)

    I got the joke right away. And as proof of my non-millenial status, I offer that I had to google ELI5 to figure out what rsp was saying...

    I don't share partly because of my long term background doing defense development, and proprietary commercial development (you certainly don't share details of either!) and partly because I have no interest or time for social media sites like Facebook, Twitter, or the numerous other similar venues. I do try to help others on a few various forums, but I don't generally post my projects there (often because they are specific to my needs, and probably not generally interesting.)

  • When I first read the headline quickly, I read it as the "ol' electrified guitar glued to the ground" which seemed really odd. But slowing down and reading it properly, it makes a lot more sense!

    It's not much work to add a 7805, but the Pro Mini can take up to 12 volts into the Raw input. Any reason you didn't go that way, and use the Mini's built in regulator?

  • Wow, that's going back about 33 years since I've done any 6800 assembler. Talk about a trip down memory lane... I recall that it did have a rich set of shift and rotate instructions. Rotates always shifted into the carry bit, but the carry bit didn't necessarily rotate into the register, depending on which instruction was used.

    Shawn, as mentioned by Sembarzuru, you don't need to do two shifts to read the bit value. It's good enough to use Sembarzuru's 0 or not 0 logic, but if you specifically want the result to be 0 or 1, you can still do it with one shift. Shift the whole port value right by the desired bit number, and then AND with 1:

    int btn = (PORTD >> btn_pin) & 1;

    Admittedly, this is not quite as easy to understand for a beginner, and the way you presented it makes more sense as it draws upon the lessons learned with the previous statement. But once you understand what's going on, this introduces just a little more processing efficiency.

    Another observation is a matter of personal taste and style, but the code you use to clear the LED pin relies on the operator precedence rules in order to read it properly:

    PORTD = ~(1 << led_pin) & PORTD;

    The ambiguity is over whether the negation (~) or the AND (&) operator is processed first - do you do the negation on just the shifted one, and then AND with PORTD; or do you AND the shifted one with PORTD and then negate it? There is no ambiguity to the compiler, but it may not be read properly unless one is rather familiar with the precedence rules. One could add parentheses to remove ambiguity, but things can quickly get cluttered. Or, as suggested by ComputerAided, use the compound assignment statement. Another very simple way to eliminate any reading ambiguity is to re-order the terms:

    PORTD = PORTD & ~(1 << led_pin);

    Now, it's clear that the arguments to the AND are PORTD and the shifted/negated one.

  • I haven't researched this (I haven't read the datasheet recently) but my gut feeling says that I would start reasearching it by looking at the clock generator section. You haven't changed the crystal/resonator oscillator settings, so it still thinks that it's driving a crystal/resonator. In my experience, these crystal oscillator circuits often have a phase locked loop (PLL) to track the frequency. These take some large number of clock cycles to lock onto the frequency. Since you're running it so far out of spec, it's virtually assured that it won't lock. After a while (2^14 clocks seems reasonable) it may give up and reset. That reset will take a certain number of clocks, during which time your LED is not changing state.

    At the very low speeds, you say it just stops. Could it be that the number of clock cycles it takes to re-initilize is longer than you are waiting to see if it restarts?

    I think it would be interesting to retry this with the clock settings updated for an external clock, making sure that any PLL is disabled.

  • "totally destroy someone‚Äôs data limit on mobile devices"

    THANK YOU! And it's not just mobile users - some of us don't have access to cheap unlimited bandwidth, and we run our whole house on a expensive cellular or satellite data plans with strict data caps. (Yes, there are supposedly "unlimited" plans out there, but they either require you to sign up for expensive partner programs, or slow you down to crawling speeds when you go over rather low limit for the month, or only include certain apps in their unlimited plan, or only include downloads in the middle of the night, or many other restrictions...)

    In this day and age when web sites seem to think that everybody has cheap unlimited bandwidth, it's refreshing to see one that realizes that isn't the case for everyone. Bravo!

No public wish lists :(