ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก
How to Create an "Analog" Arduino Escape Room Puzzle
ฝัง
- เผยแพร่เมื่อ 17 ส.ค. 2024
- Most escape room tech puzzles (and electronic systems in general) use digital inputs and outputs - those that can only have one of a discrete range of values: a button is either pressed or it is not pressed; a rotary switch can only be in one of a number of fixed positions; a maglock is either secured or it is open, etc.
But, in this video, I'll describe how to create an Arduino-based escape room puzzle that uses analogue inputs and outputs - sliding linear potentiometers and ammeters that can express a smooth, continuous range of values, with an almost limitless degree of precision. These allow you to create puzzles that require a different sort of interesting interaction for players, but they do also present some interesting challenges - I'll cover some of the trickier aspects of using the built-in Arduino Analogue-To-Digital Converter (ADC) to convert analog input into a digital value, and how to use Pulse Width Modulation (PWM) on GPIO pins to control an analog output.
Timings
---
00:00:00-00:00:13 Introduction
00:00:14-00:02:17 Puzzle Demonstration
00:02:18-00:04:40 Comparing Analog vs Digital signals
00:04:41-00:11:20 Retrieving Analog Input using "Ax" pins and the Arduino Analog-to-Digital Convertor (ADC)
00:11:21-00:18:49 Sending Analog Output using "~x" pins and Pulse Width Modulation (PWM)
00:18:50-00:23:20 Grounding, noise, and isolation of analog components
00:23:21-00:26:53 Wiring Diagram
00:26:54-00:51:40 Arduino Code
00:51:41-00:53:20 Wrap up
Components Used
---
- 4x 1mA Ammeter, ~£2 each from www.aliexpress...
- 4x Slide Potentiometer, buy 5 for $12 from www.banggood.c...
- Arduino UNO, $10 from amzn.to/2ZcuS82
- 4x LED ($0.01 each, from almost anywhere)
- 4x220 and 4x 4.7kohm resistors ($0.01 each, from almost anywhere)
- 5V 1-channel Relay Module, $2 from www.aliexpress...
- Conductive Copper Strip, $5 for 3m from www.ebay.co.uk...
Support Me! (or let me support you :) )
---
This video is made possible with the generous support of my Patreon donors - thankyou!
For more details of this, and to access downloads, wiring diagrams, and additional resources and support for all my escape room technology projects, please go to / playfultech
This is perfect for my next escape room theme. Your channel continues to be an inspiration. Thank you for sharing your creative ideas and projects. They always hit home!
The tip about the filename and date in the debug info alone was worth the price of admission. :-)
Thanks for sharing.
I'm on to use this game for my box-project with round potentiometers. Thank you for the clear and very understandable video!
Just made a basic circuit using these concepts today :) Thank you very much!
Hi!
I just discovered this channel and I really like it. I also love making puzzles so I will stick around for sometime 🙂
It's worth covering compiler directives for debug, you can shove a load of debug code in but it might slow your code down in real use, a compiler directive allows you to simply switch code segments on and off depending on whether it's development code or live code. This video also taught me about sending the sketch name/version which I'd never realised before although I have used the compile time/date to set a real time clock but you still have to combine it with a physical button to fine tune it. program the Arduino, wait until the time rolls over to 00 seconds, hit the button.
There's two connections to get the values on either side of the divider (Same reason a potentiometer has three lugs).
Awesome!
Thank Allister,
opening my mind and giving fresh and fun ideas.
Must say I hate these potentiometers, I found that they are not linear as you might think
You probably accidentally used log pots. I’ve had that issue in the past
I had wondered whether the reason for the two output channels was that one was linear and the other logarithmic, but that doesn't seem to be the case. Fortunately it doesn't matter too much for this application, but you're right for scientific/industrial use you might want to invest in a higher quality one!
It's best to filter analogue inputs either externally with capacitors or internally with software. It's unlikely to be an issue here with such low currents but I did have to debug a system where they'd run sensitive signal wires alongside 10Amp motor wires and while I couldn't fault the software (it was far better than anything I could write) the hardware left a lot to be desired. A small capacitor from each analogue input to ground will average the signal with any noise so acting as a filter.
Thanks for another interesting and inspiring video. Just one question. Isnt it possible to set the solution constraints such that they cannot ALL be true at the same time?
Thanks!
Thanks for the clarity of explanation regarding grounding and noise. Do you ever find that the relay switching causes interference with the Arduino (or nearby Arduinos)? I've been looking a lot at flyback diodes so wonder why you don't use them.
You're fantastic
Impressive!
What ceramyc capasitor we must use ?
21:42 - I think you meant to say micro Farad rather than milli Farad
Yes I agree :-)