3 ms·
Problem: when a certain alarm condition occurs, an LED on the control panel needs to blink. Dimwit #1: Ah, use a 555 timer. Dimwit #2: Use an Arduino with th
by DannyB2 9y ago
Problem: when a certain alarm condition occurs, an LED on the control panel needs to blink.
Dimwit #1: Ah, use a 555 timer.
Dimwit #2: Use an Arduino with the Blink sketch.
Senior Software Developer: I'll use a Linux board with a blink program running on Node.js. The blink program will watch for the alarm condition and blink the LED in response. The program will also provide a web based configuration interface. What if marketing changes the requirements from a simple blink pattern to:
blink blink (pause) blink blink (pause) etc...
The simple 555 timer approach would be too inflexible.
The arduino approach would require altering, recompiling and re-flashing the firmware.
The senior software developer approach would be sufficiently flexible that you could connect a web browser and reconfigure the blink pattern.
Each blink pattern can be given a name and saved. Such as the slow-blink, fast-blink, double-blink, etc. Each pattern consists of a list of on/off states associated with a duration in milliseconds. Anyone can point their browser to this and reconfigure new blink patterns that become popular.
What could possibly go wrong?
- imba404 9y agoNot quite sure if this is sarcasm... Here's my counter-argument in case you were serious. Dimwit #1: 555's fail when hell freezes over. An engineering intern can make changes and see it work. The PCB will cost more than the electronics. 555 as a component will be available for years. Dimwit #2: Arduino/ATMEGA are so well documented that the next engineer supporting this should have no problem making appropriate changes even 10 years from now, assuming Microchip sustains the ATMEGA product line. Senior Software Developer: You've introduced an attack vector [the web interface], increased the BOM cost [the Linux board], programmed it in a language that changes on a yearly basis [node.js]. Not to mention having to provide a Linux image source programmable [preferably eMMC], and ensuring compatibility of the web config for major browsers for the lifetime of the product. All for a blinking LED.
- softawre 9y agoHis post was obviously sarcasm.
- cr0sh 9y agoDimwit #0: A couple of transistors, some resistors, a cap or two - instant flip-flop...
- CamperBob2 9y agoDimwit #-1: Specify a flashing LED
- kees99 9y agoDimwit #-2: Hey, we already have a microcontroller on this board, and it happens to have plenty of free flash/ram/10mA-sink-gpio. Specify a regular LED and an extra timer in RTOS.
- makapuf 9y agoDimwit -#0.5 whadayamean a couple ? we already have a diode. http://easy-electronics4u.blogspot.fr/2012/02/simplest-led-flasher-one-transistor.html http://easy-electronics4u.blogspot.fr/2012/02/simplest-led-f... Although I'd use a tiny micro or a blinking diode by now.