Тёмный

#98 Telephone Dialler ☎️ and Hardware Debounce Solution (retro) 

Ralph S Bacon
Подписаться 54 тыс.
Просмотров 4,7 тыс.
50% 1

Use a vintage rotary telephone dialler to enter values into your Arduino sketch
This won't dial a telephone number but can be use for any project where a single digit number can be entered - an ideal retro replacement for a matrix push button pad, for example.
I spotted this on eBay (they do come up occasionally for a reasonable sum, and more frequently for an extortionate amount) and thought "I wonder what I can do with that?"
Well, I'm still wondering, although I have got it working 100% reliably with all the switch bounce problems sorted with a very simple hardware solution from Jack Ganssle. It's worth looking at and thinking about, especially if you have problems with switch bounce and are fed up trying to solve it in software.
All links can be found here:
github.com/RalphBacon/Telepho...
OR, individually:
A Guide to Debouncing - Part 2, or, How to Debounce a Contact in Two Easy Pages, Jack Ganssle
www.ganssle.com/debouncing-pt2...
The complete PDF from Jack Ganssle, well worth reading, is in my Github and here:
www.eng.utah.edu/~cs5780/debou...
Page 19 is the key circuit, really simple but 100% effective!
Fascinating insight to how telephone diallers work
www.britishtelephones.com/howd...
The demo sketch I used is in the Github. It was based on an old sketch from the Rotary Encoder video!
--
If you like this video please give it a thumbs up, share it and if you're not already subscribed please do so :)
My channel is here:
/ ralphbacon
How can I remember this? Memory tip: "See" Ralph Bacon, geddit?
[You can also use this link: / ralphbacon ]

Наука

Опубликовано:

 

9 ноя 2017

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 99   
@vilufml6867
@vilufml6867 2 года назад
Just the kind of help i needed! I'm going to built a Digital Music Instrument and thought of modifying the rotatory dial of an old telephone so it can work as an input. Very helpful video as I was struggling with connections from the dial to an Arduino, i'll link you in the credits! Thanks again
@RalphBacon
@RalphBacon 2 года назад
Very kind of you, sir! I'm glad the video was of help.
@MrJanulis
@MrJanulis 6 лет назад
Happy you found the info useful. Waiting for SW debouncing part to become true!
@RalphBacon
@RalphBacon 6 лет назад
Ah yes, Aidas, software debouncing. I've read Ganssle's paper on this a couple of times but have yet to try anything of his out. But keep tuned as we all need a definitive solution.
@pekkagronfors7304
@pekkagronfors7304 6 лет назад
Very interesting and informative. Thanks for the PDF link regarding debounce.
@RalphBacon
@RalphBacon 6 лет назад
Indeed, Pekka, that PDF is an absolute MUST READ if you have any interest in debouncing. I've yet to read the software side of things but I certainly plan to do so. Thanks for posting.
@c0smiq
@c0smiq 2 месяца назад
Thanks for the video. Really educational :) I have an old T-65 which needs some kind of cool project, and this helps.
@RalphBacon
@RalphBacon 2 месяца назад
Glad it was helpful!
@boldford
@boldford 6 лет назад
That brought back memories of my early working career. Not just replacing defective dials but repairing them too. Arguably, the ones most abused where those fitted to public pay-phones.
@RalphBacon
@RalphBacon 6 лет назад
Who would have thought that public phone boxes would get abused by vandals, hey, Brian? But I like the rotary dials from public phone boxes, because they were all shiny metal and probably had metal gearing too. They were really smooth in operation (before they got vandalised anyway). No chance of getting one of those I'm afraid, not unless you buy the phone box to go with it for a few thousand. Ah, memories.
@boldford
@boldford 6 лет назад
Nostalgia ain't what it used to be.
@williammiller7543
@williammiller7543 6 лет назад
Ralph, I caught a quick glimpse of your DSO and noticed that you haven't updated the software yet. Your scope seems to be running very well without the firmware update. I was blaming the SW for the problems I was having but it might have been problems with my construction instead. Anyway the newer firmware seems to clear up my problems. This was another GREAT video. Thanks for all your hard work.
@RalphBacon
@RalphBacon 6 лет назад
You're too kind, William, and glad you liked the video. I enjoyed sorting out the switch bounce for *any* device using Jack Ganssle's brilliantly simple, yet highly effective, circuit. I hope to test this using a Rotary Encoder soon. On the subject of the DSO I checked my s/w version a couple of weeks ago and I thought it was the latest? Not so? I even took it apart to flash it and discovered (or so I thought) that I didn't need to. I'll check again, but as you say, it is working rather well for the simple stuff we usually do with Arduinos. Glad yours is now behaving properly too. Thanks for posting.
@rafaelmarroquin4429
@rafaelmarroquin4429 6 лет назад
I really love the old engeniering in the day-to-day devices (sorry for my english im not native speaker)
@RalphBacon
@RalphBacon 6 лет назад
Muchas gracias, Rafael, en espanol me llamo tambien Rafael! I too love the old (retro) engineering like this dialler. I'm not sure I could actually live with a telephone like this though, no redial, no phone book, no SMS, no WhatsApp!!! But for an Arduino project it certainly is interesting. Gracias por su publication (post).
@gavinsmalley1513
@gavinsmalley1513 6 лет назад
And another perfectly appropriate video - I'm actually in the process of making a project with one of these turning it into a USB keyboard by hooking it up to a Digistump ATTiny85 (which in theory should present as a HID device) It was, I have to say, inspired by your touch project for your little hot-key box. My problem is that the contacts don't always seem to make as the cam releases so I miss pulses, but I'm sure some judicious switch cleaner may resolve that.
@RalphBacon
@RalphBacon 6 лет назад
If you have really old one (or one in poor condition) then the contact could easily have got dirty or corroded over time. As you say, switch cleaner and a *really* thin and fine emery board (like the ones ladies use for their nails) may sort it out. Interesting what you say about turning one of these diallers into a USB keyboard - I'm guessing you're just using it as a number pad, or how are you getting letters out of it? Sounds interesting though (you see, there goes the inspiration moment again).
@gavinsmalley1513
@gavinsmalley1513 6 лет назад
The plan is just to use it as a number pad possibly with a button connected to another pin as an "enter" key. The whole thing will then be hooked up to a raspberry pi and be a way of selecting options, entering passcodes etc.
@RalphBacon
@RalphBacon 6 лет назад
Sounds cool. Even if you are using a Pi not an Arduino :) When you get it going don't forget to make a short video on RU-vid and share it here, it would be great to see what folks are using these things for. Thanks for the update!
@javierpallalorden
@javierpallalorden 6 лет назад
I like your little oscilloscope.
@RalphBacon
@RalphBacon 6 лет назад
In that case, Javier, you should watch video #92 JYE Oscilloscope Kit Build where I show you how easy it is to put together. And it's around the £16 - £18 mark ($20 maybe). Cheap but useful. Just ensure you get a *genuine* JYE one not some fake. Watch the video to see where I bought mine from.
@tubical71
@tubical71 6 лет назад
ok, i must admit, i´m getting old as i´m still using one of these old telephones. It´s a "W-48" entirely made out of bakelite and it has, of course, a rotary dialler as well ;) And some younger people don´t actually know how to operate it...;) The diode in that debouce circuit is a clever solution for very fast pulses, i´ll surely include it in my next debounce circuit. Thanx for sharing...:)
@RalphBacon
@RalphBacon 6 лет назад
Wow, if you knew how much that would cost to replace, Tubical, you would insure it separately!!! I'm amazed that someone is still using the old rotary dialler. Don't you miss the redial button? The phonebook (I suppose you have a hand written one of those)? Amazing. Very, very retro indeed. Yes the circuit from Jack Ganssle is excellent and clever too. Certainly it deserves a place in every Arduinites (digital) bookshelf. Thanks for letting us know that rotary dial telephones are still in use!
@tubical71
@tubical71 6 лет назад
There was a time when these old and black only phones where considered just plain garbage, i have about another four of them i think, and they all had been given to me, for free....as in: there is a guy who "collects" old garbage, let him have this....back in end of the 80th i thing... Now it´s "Retro" style and i´m aware that some people paying some two eventually a three digit pricetag to own one of these. I hardly use my POTs but it´s fun to have it and when it rings you´ll never miss a call due to a fail of hearing ;)
@RalphBacon
@RalphBacon 6 лет назад
Well, eBay is your answer if you ever a need a bob or two (that's UK-speak for a dollar or two)! Yes, they were certainly good ringers and they even do what they were designed to do: make phone calls! Good to hear from you, TubiCal.
@danebeck7900
@danebeck7900 3 года назад
It's possible to do this without modifying or taking apart a rotary phone. The phone input wires were normally connected to a DC power source, and the contacts would open and close the circuit to that DC source. If you connect the primary windings of a transformer in series with the DC source and the phone, you can detect the switching events on the secondary windings. An easy way to do this is to connect two LEDs across the secondary windings in opposite polarity. When the contacts open one LED will flash and when the contacts close the other LED will flash. You can then read those light flashes with a pair of phototransistors to convert the flashes to digital pulses in a separate logic circuit, or just use optoisolators. Once you have the digital pulses you can denounce using whatever hardware or software scheme you want. Anyways that allows you to accomplish the exact same thing without hacking the antique phone itself.
@RalphBacon
@RalphBacon 3 года назад
Good to know, Dane. I didn't cannibalise a phone to do this, though, I just bought the dialer. But I like your thinking and the information, appreciated.
@maxximumb
@maxximumb 6 лет назад
Excellent. I don't know why I want one, but despite cursing them back on the old phones, I want one for a project. Just need to think of a way to use one.
@RalphBacon
@RalphBacon 6 лет назад
That was exactly the thought process that I had, Maxx, and I'm still thinking of where I might use it but one day it will come to me, I'm sure. As well as getting suggestions via this channel too. They're great to play around with.
@maxximumb
@maxximumb 6 лет назад
Could I ask a favour? Please would you post a photo of the front of the dial with a ruler for scale? I had the idea to see if it would be possible to make a 3D printed version, triggering a couple of microswitches to generate the pulses. The mechanics in the back will have to be engineered differently, but knowing the diameter of the dial and finger holes would make modelling the front a bit quicker. Don't worry if you are too busy, I can always see if I could get dimensions from a screen shot. I just though I'd ask. If I can get one to work, I'll share the design files, so your viewers could make one if ebay can't deliver. Thanks.
@RalphBacon
@RalphBacon 6 лет назад
No problem, here's a link to a DropBox folder: www.dropbox.com/sh/nox1l1ht71p9asd/AACpup5yWMmxdgzcIxMPjIP0a?dl=0 Any issues let me know (or if you want specific photos of it or further measurements). From what I saw the main dial was a tad over 7cm and the inner dial (where the number goes) 4cm.
@maxximumb
@maxximumb 6 лет назад
Awesome. Thanks.
@GeekMustHave
@GeekMustHave 6 лет назад
Thank you so much. The minute I saw that I said "A retro password system". I knew a little about key bounce but not about the Schmitt Trigger. I'm considering building a video editing controller to edit Camtasia videos. It would have 10 arcade style buttons which appear to be some of the worst buttons when it comes to bounce. Those buttons would, in turn, be connected to an Arduino device which can be used as a USB keyboard. Each button press would emulate the keyboard keys for that editing command. Looks like I'll need a Schmitt trigger for each button. I've seen some chipsets from China with 4 triggers in a chip. Do you think there is a better approach to this? Keep broadcasting?
@RalphBacon
@RalphBacon 6 лет назад
The chip I eventually settled on was the industry standard SN74HC14 which contains 5 single input Schmitt triggers. But *beware* that you will need two triggers per switch unless you're prepared to deal with inversion of the logic in your software (when the switch goes high the trigger goes low, not ideal). So I connect two triggers in line, per switch, to bring the logic to the correct state. Which means I only get two triggers (plus half a trigger) per chip. There are numerous other Schmitt trigger chips out there (including octal - 8-way - which might not even be inverting so that would be worth investigating). See what you can find and let me know and I'll give it the once over, if you like? You need TTL level not CMOS level remember for the Arduino - some chips are available in the two variants.
@RalphBacon
@RalphBacon 6 лет назад
I just found this one: 74HC7014 Hex non-inverting precision Schmitt-trigger so that gives you *five* Schmitts per chip, meaning you would only need two. Looks interesting. Not sure whether it's available as a DIL format, might be surface mount. More here: assets.nexperia.com/documents/data-sheet/74HC7014.pdf
@GeekMustHave
@GeekMustHave 6 лет назад
Thank you, Looks like Avnet has them $1.60 which isn't bad. This should help me keep the size down.
@GeekMustHave
@GeekMustHave 6 лет назад
I'll try dealing with the inversion in software, I don't imagine there would be any issues. Did I just say that? I'll buy a few extras. ;-)
@RalphBacon
@RalphBacon 6 лет назад
Yes, some trial and error may be required. See how it goes. Within your software there's nothing to stop you defining "ON" as a low value and "OFF" as a high value, just to keep things straight in your mind. See how it goes... as you say, what could possibly go wrong?
@Ed19601
@Ed19601 6 лет назад
The debouncing is very informative. I will need to recalculate to 3V3, but it is always good to see that when checking the calculations in the pdf for 5Volt, I get to exactly the same values. Though I found the MC14490 now 5 for 1.60USD at aliexpress, the SN74HC14 is 10 for that price... but am i gonna need 60 inputs?? Anyway, very informative
@RalphBacon
@RalphBacon 6 лет назад
Remember that for the SN74HC14 you will need two gates per switch, otherwise you will get an inverted signal; so your code would have to check for LOW when the switch is HIGH - all a bit confusing! I used two gates per switch in my demo CD4093 Schmitt trigger (not a great choice for Real World use but OK for demo) to get the non-inverted output. The MC14490 looks interesting (and, ignoring the price differential) I wonder if it works any better than, say, a SN74HC14 with the "100%" debounce circuit? Frankly I just like Jack Ganssle's circuit so I'll stick with my SN74HC14 for now!
@Ed19601
@Ed19601 6 лет назад
Ralph S Bacon yes indeed. Thanks for pointing it out. In my case it doesn't matter that much as I look for a state change as it will be a toggle switch. But ofcourse that isn't valid for every situation. I think I stick with your method
@TheUnofficialMaker
@TheUnofficialMaker Год назад
wow the price of these has quadrupled! nice debounce circuit.
@RalphBacon
@RalphBacon Год назад
Indeed! It works well but there are other ways (which I've covered in other videos).
@stewartrv
@stewartrv 6 лет назад
Very nice I was able to get my hands on a couple old complete telephones and would like to make one of them into a front door bell and intercom. And for another I wanted to make it into a Skype phone, maybe using numbers to select specific people to call... :)
@RalphBacon
@RalphBacon 6 лет назад
Sounds very cool your project there Stewart, not to mention retro. Old (dialler) telephones are easy to come by but the price is sometimes eye-watering. And many of them have been converted to work with our modern telephone lines too. I shall have to think what I will use this dialler for. If you have any suggestions...
@stewartrv
@stewartrv 6 лет назад
I was lucky and got a couple complete (unadulterated) telephones here in Budapest for approx 15 GBP. You could convert a cheap keypad safe to store chocolate or other stuff you shouldn't binge on! They are crap and easy to break into as standard so you can't really harm it using this dialler! Something like this: www.ebay.com/itm/STARK-Digital-Electronic-Safe-Box-Keypad-Lock-Home-Office-Hotel-Gun-Steel-Black-/401192822967
@RalphBacon
@RalphBacon 6 лет назад
Excellent suggestion for a Real World project using a telephone dialler. Er, hang on, that safe looks just like mine. Oh bother! No wonder the chocolate keeps going missing.
@andymouse
@andymouse 6 лет назад
That was really great ! made me think of my old boss's phone with a mechanical lock on it, he didn't no you could tap the handset rest buttons to dial.....hahahahah!......he was a tight git
@RalphBacon
@RalphBacon 6 лет назад
I can just about remember trying that trick out, Andymouse123. I'm still wondering what I can use my dialler for, but I just like it. Very retro. Thanks for posting.
@rokolczuk
@rokolczuk 4 года назад
great video, helped me a lot. However I encourage people trying this out to at least try with software deboucing approach. My dial works perfectly with pulse debouncing set to 60 ms
@RalphBacon
@RalphBacon 4 года назад
Thanks for sharing! 60mS is a loooooong time in µController land, usually a switch will not bounce for more than 5mS, so even 20mS would be extraordinarily bad! I guess the telephone dialers didn't care about that!
@minagerges3705
@minagerges3705 6 лет назад
i need to extend my nano ram and flash memory or atleast the ram without complicated setup. is that possible?
@RalphBacon
@RalphBacon 6 лет назад
I'm afraid it's not possible to extend the RAM (run-time memory) although you can use external flash memory for storage of data (not programs). If you need more memory you could move to an Arduino MEGA 2560 which has 256Kb of flash memory (for programs, whereas the Uno or Nano only have 32Kb) and it has 8Kb SRAM (run-time memory) and the Uno/Nano only have 2Kb. Sounds good?
@minagerges3705
@minagerges3705 6 лет назад
the problem i like the nano as it's size fits more with my project so idk
@RalphBacon
@RalphBacon 6 лет назад
Yes, I did wonder if that was the reason you chose the nano. You can however get much smaller variants of the Mega 2560 - I'll be doing a video on one of them in a few weeks time. At the risk of prematurely telling you about a future video have a look at this product, it's a Mega but *very* small: www.aliexpress.com/item/Mega-2560-PRO-Embed-CH340G-ATmega2560-16AU-with-male-pinheaders-Compatible-for-Arduino-Mega-2560/32801785024.html - I think it may do what you want in all respects: plenty of memory, storage and a small size.
@minagerges3705
@minagerges3705 6 лет назад
awesome, u are really my hero. i hope u can consider me from now on a special sub cuz i will always watch, like all ur upcoming vids as much as i can unless i have serious stuff going on in rl. :) still waiting the video to check it well before i buy it.
@RalphBacon
@RalphBacon 6 лет назад
Glad I could help and thanks for subscribing and watching! We all help one another here.
@Ed19601
@Ed19601 6 лет назад
I am still from the days that you would just pick up the horn, rotate some lever and ask an operator to be connected :-)
@RalphBacon
@RalphBacon 6 лет назад
Was this at the same time that you walked in front of a car waving a red flag? And helped the man light the gas lights in the evening, Ed? Before running water was invented, in fact. Heh heh, I wish I could get one of those "wind up" phones, probably worth a mint these days.
@Ed19601
@Ed19601 6 лет назад
Cars we also still had to start by cranking a lever but I was too young to help light the gass lights in the evening. I did join my dad hunting woolly mammoths for dinner though. I used to have one of those old phones, but at the time didnt see the value. Also had a number of those old rotay phones (T65 model) but somehow lost those in the course of my life with moving house etc. By the way, I remember that in Norway, the ciphers on those rotary phones went the opposite way
@scottmitten2248
@scottmitten2248 6 лет назад
Got one of the crank phones from a friend whose dad passed. They were going to use it as a decoration, but someone 'helping' them clean the garage threw the thing out! Luckily my friend was able to retrieve it, but the microphone holding arm (metal) broke, as well as the bakelite cone around the mic, plus the earpiece wire was ripped out. As my friend isn't technical, I got offered it as a restoration piece. I haven't had a chance to do much with it yet, but I'm hopeful I can make it look good again - though I'm sure its lost any value as an actual collectable - It still is pretty cool. It's amazing what the wiring standard was back in the day. The insides wiring looks crazy. Since it needs work done anyway, I'm thinking of covertly converting it to work as the enter buzzer for our home - just need to steal a few parts from a cheap modern phone and rewire. Actually, do you happen to know any good sources of old-timey looking fabric-covered 2C wire? As an aside, Thanks for all the great videos - I'm making a small project that will be incorporating many of the concepts you've covered.
@wheeleybobs
@wheeleybobs 6 лет назад
Maxim MAX6816 for hardware debouncing. Pluses : 1 chip, no other components, connect directly to GPIO pin with interrupt. Large input voltage range. Minuses : surface mount only, expensive. I'm using the dual 6817 to debounce two reed switches in an anemometer.
@RalphBacon
@RalphBacon 6 лет назад
Yes, the MAX6816 is a good chip for that except for one thing: the price. You could buy several standard Schmitt triggers (plus the two resistors, one capacitor and one diode) for the price of one MAX6816. But as you say, the advantage is that you don't need external components and, well, it "just works". Horses for courses, I guess David, and you have found yours. Thanks for sharing this information, others may well be interested in this too.
@Ed19601
@Ed19601 6 лет назад
MC14490 now 5 for 1.90USD at ali
@Enigma758
@Enigma758 3 года назад
I wonder how the phone itself performed the very reliable debounce.
@RalphBacon
@RalphBacon 3 года назад
The POTS (plain old telephone service) would never react to the switch bounce of a few milliseconds - but our microcontrollers do!
@Enigma758
@Enigma758 3 года назад
@@RalphBacon Ah, slow moving inertial switch debouncing!
@george8bitsworth
@george8bitsworth 6 лет назад
I believe that within an Arduino ISR the millis(), micros(), delay() and delayMicros() don't increment. In other words they are disabled. To be able to software debounce an input you have to poll it. As slow as the dialer is you should be able to make polling work. By the way, I love the video.
@RalphBacon
@RalphBacon 6 лет назад
Thanks for your kind words, captxrox, most appreciated. I'm really happy that my followers enjoy my videos. And yes, you're right that millis() does not increment during an ISR, but that doesn't matter as far as the code here is concerned. As long as a certain number of milliseconds have elapsed (it increments again as soon as the ISR finishes) before accepting further pulses that's fine. Polling is just not the optimal way of intercepting pulses that happen now and again as your Arduino's code might be busy doing other things and miss a few. MIcros() does continue to run during an ISR as the underlying routine does not use a timer, but we don't need that here, anyway. It's can be a minefield using the Arduino specific functions (if you were using native C++ it becomes clear(er) what is going on). Thanks for posting, this is an interesting area to keep plugging away at.
@george8bitsworth
@george8bitsworth 6 лет назад
I guess I was wrong about micros()--but right about millis() and delay(). I just read the notes on cdn.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ including the comment titled "About Interrupt Service Routines". One thing it says, that I think is relavent here is: "Generally, an ISR should be as short and fast as possible." That would be defeated as soon as a delay routine would be used. Going back to polling, I have generally been successful with software debouncing a polled input. Somehow it appears that the software debounce within the ISR will not work--whatever the reason. While polling clearly won't work for a rotary encoder (there's a few RU-vid videos demonstrating that) it should work on a rotary dialer. The nominal period between pulses on the dialer is 100 ms. I would try it myself but I don't have a rotary dialer.
@RalphBacon
@RalphBacon 6 лет назад
I'm a tad worried we're talking at cross purposes here, captxrox. The ISR in my demo (the one that includes checking the millis to ensure we reject pulses that occur too close together) is the standard software method of dealing with bounces. There's no delay involved at all. We just exit the ISR if the current pulse has come "too soon" after the previous one (so we assume it's a bounce). So apart from my demo-purposes-only where I have a Serial.print statement (definitely a no-no for a real ISR) it's about as fast as it can be. Using polling to debounce anything (switch, rotary encoder, whatever) this obviously *can* be done at a technical level but should *not* be done, as presumably your Arduino is busy doing the real work of switching heaters on and off, or measuring the light levels or something. We wouldn't want to poll for any kind of switch closing (bounce or not), it's just not good programming practice. The issue I had with the telephone dialler is that it is so ancient that it flies in the face of normal switch behaviour. We can get a semblance of proper behaviour by rejecting pulses as far apart as 50ms but that is crazy. As Jack Ganssle mentioned in his paper, he never discovered any kind of standard switch that bounced for longer than 10ms - most were much short than this. So for the telephone dialler (and by extension, any switch) we can dispense with software debouncing entirely and do it all in hardware using that circuit - it's as though all our switches are suddenly 100% perfect! My previous video on a Rotary Encoder (video #19) behaved perfectly using software debouncing (just 5ms) as I demonstrated in that video, so we don't *always* have to use external hardware to debounce switches - just when the occasion requires it and reliability demands it. Are we singing off the same hymn sheet here, I don't want to confuse my viewers?
@george8bitsworth
@george8bitsworth 6 лет назад
I think I was in more of a hurry to leave a comment than I was to be sure what I was saying was valid. The truth is that when it comes to debouncing, software debouncing is a dirty way of doing it-at least to me. What I like about it though is that it significantly reduces parts count. Regarding what you are saying about rotary dialers-you didn't say it but in their day automatic phone switching was electromechanical so debouncing wasn’t an issue. By the way, I guess I missed your videos on rotary encoders. I'll make it a point to watch them.
@RalphBacon
@RalphBacon 6 лет назад
No problem, captxrox, it's a fascinating area with many opinions. It seems the electronics world is split 50/50 about whether it should be hardware or software that sorts out debouncing. My take on this is that if we can do it easily and reliably in software (see video #19) then the job is done. If not, as this video and also video #96 shows, then we need extra help. For the sake of a few pennies we have 100% reliability! And yes, back in the day of gas lamps it was all electromechanical so I guess they didn't know or care about switch bounce. I marvel at how reliable the old mechanical telephone system was!
@minagerges3705
@minagerges3705 6 лет назад
would u mind helping me with some uino code? if you dont let me know please
@RalphBacon
@RalphBacon 6 лет назад
Believe me, Mina, if I had the time I would do it but I'm currently working on my next two videos which takes all my free time! The best place to get general help in coding is the Arduino forum (forum.arduino.cc) but you must show that you have thought about the issue(s) you are facing and have tried things that did not work. They will not write your code for you, or do your homework (if that is what it is!) but they are very experienced at nudging people like you back on the right path thus overcoming their coding road blocks. Do go there, register and be nice! You will get lots of help, I'm sure.
@minagerges3705
@minagerges3705 6 лет назад
I have no doubt, Ralph that you would have helped me if you had the time :) but fortunately, I found some work around that fix the issue :)
@RalphBacon
@RalphBacon 6 лет назад
Glad you found a workaround, Mina, and remember that if you are dealing with String(s) this is an artificial class for Arduino use only (not a standard C++ object at all) and it is just an array of char[ ]. Just bear that in mind :)
@smithjonathan
@smithjonathan 6 лет назад
Are you on Patreon? I wanted to support you, but couldn’t find you. I’m not going to make you rich, but all those $1-2 help to buy a few goodies each month.
@RalphBacon
@RalphBacon 6 лет назад
I'm not on Patreon, BaselBantam, it's not something I've (yet) seriously considered. Perhaps it will be something to look into if I ever reach the 10,000 subscriber mark, which at the rate I'm going will be in about April 2022! But thanks for offering to support me, it's most appreciated.
@WhoWantsToKnow81
@WhoWantsToKnow81 3 года назад
Did anyone answer with "Operator."?
@RalphBacon
@RalphBacon 3 года назад
Funny you should ask...
@patrickmclaughlin6013
@patrickmclaughlin6013 3 года назад
maybe that schmitt trigger isn't needed? ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Y86-t9j6doo.html
@RalphBacon
@RalphBacon 3 года назад
Well, Patrick, you must watch my other videos where I look at switch debounce in a myriad of ways, and how to solve the issue (it is a _real issue_ when dealing with a device as fast as a microcontroller). Whilst I solved this issue in software for my Rotary Encoder, I did find hardware solves the problem so much better - it makes the hardware behave in the way we always _assumed_ it was working in the first place! Still, this will be a topic that will run and run as users newly discover the problem and problem-solvers invent ever more imaginative ways to negate that problem!
@patrickmclaughlin6013
@patrickmclaughlin6013 3 года назад
@@RalphBacon Thank You for the follow up. Having a dug through your hundreds of videos now. Thanks for the resource Ralph!
Далее
#97 Simple function (signal, waveform) generator
33:04
#117 Bare Bones 💀 Arduino (make your own)
27:34
Просмотров 13 тыс.
#265 Me & My 3D Printer - Just a quick chat!
23:42
Просмотров 7 тыс.
#80 Scrolling LED Matrix MAX7219 *Updated*
30:16
Просмотров 17 тыс.
ОШИБКИ НА ANDROID 2
5:13
Просмотров 27 тыс.
iPhone 15 Pro в реальной жизни
24:07
Просмотров 430 тыс.