字幕列表 影片播放 列印英文字幕 Hi my name is Massimo Banzi. and I am one of the cofounders of the Arduino project. And we are here for another video about our Arduino starter kit. Today we are going to look at a new project called "The Touch Sensor Lamp". This is a simple circuit where we are going to build a sensor that is able to detect when a human being is touching the circuit. You can see that if I touch this wire, the LED turns on. For this tutorial we are going to introduce a new concept from the Arduino platform: external libraries. This is a very powerful concept because there are some things in Arduino programming that are very complex for beginners. Like for example, in this case, we are building a touch sensor. The touch sensor uses a fairly complex process for the beginner. And it would be quite complex for beginners to write the code completely by themselves. so someone with a lot of skills in Arduino programming developed a library that is able to perform this sensing function. On the arduino website you are going to find all the instructions you need in order to install a new library into the Arduino development enviroment. But let's have a look at this circuit. Here we have an LED connected to pin number 12 of the Arduino. And then we have this strange circuit, where we have a resistor connected between pin number 2 and 4 of our Arduino. And then there is a wire connected to pin number 2. If i touch the wire with my finger, the led turns on. So, this is due to the passive sensor implemented by the library that we are going to see in a few seconds. The capacitive sensor is able to detect when a human being is touching a metallic surface. It's the same principle used by the touch sensor on the screen of every iPhone or Android mobile phones that you may have used. We can also increase the sensitivity of the sensor by using an external metallic surface. I am going to use a piece of printed circuit board that hasn't been etched yet. So as you can see it is a piece of fiberglass with some copper on top. so we are going connect this to my circuit and see what happens if I place a bigger surface. So we are going to help ourself using this alligator clip. I am going to connect the alligator clip to the wire and then to the copper surface. so now when my hand touches the surface it turns on and off. Actually what happens is that only if you actually have to touch the surface, it starts to sense my hand even when the hand is just close. Actually if we flip the board around here we have an insulating surface made of fiberglass and still if I place my full hand on it, it can still detect my hand. so the capacitive sensor is very useful because I can actually detect the touch of a person even through certain insulating materials. Now let's have a look at the code. here you can see something new already at the beginning of the code. We are going to use this statement called "include". You have this # sign followed by include and CapSense.h So, this statement tells Arduino to look for a library called CapSense and include that into our program. As I said before this is quite useful because it is going to introduce a piece of code, which is quite complex and is going to make your life very simple. and you can find online literally hundreds of libraries that encapsulate the functionality of very complex sensors. And provide you a very simple way to use them. So they are an incredibly powerful part of the Arduino platform. So a little further down in the code you can see that we are creating an object of type CapSense and this object is called capSensor. And we are specifying that pin 4 and 2 are the two pins connected to the resistor and pin number 2 is actually the one that goes to the sensor. So, later on we create another variable called threshold that is set to the value 1000. this value will need to be determined experimentally while you work on your code. And finally we create a constant called ledPin that specifies that the LED is connected to pin number 12. In the setup() you see there is nothing complex. There is a Serial.begin() that opens a communication channel with the computer at 9600 bits per second, followed by a pinMode(ledPin, OUTPUT) that makes sure that the pin connected to the led is set as an output so that we can turn in on and off. If we look at the setup(), we can see that there is an interesting command here. We are using the CapSense library to read from the sensor and the number 30 witin brackets - here - is indicating that we want to read 30 samples from the sensor. This makes sure that we filter out any unwanted noise or false reading. The value read by the sensor goes into this variable called sensorValue. Later on we print sensorValue towards the computer so we can visualise it with a serial monitor. After that comes the moment when we have actually to decide if the led has to be on or off. If sensorValue is more than the threshold then we turn on the LED. If sensorValue is less, then the LED turns off. Then we introduce a small 10ms delay to make sure that we are not reading too fast And afterwards we just go back to the beginning of the loop, we'll read the sensor again and we continue like this. If we switch on the serial monitor, we can actually see a series of numbers coming from the sensor. You can see that when I approach with my hand the PCB that I connected to the sensor, the numbers increase. And when the number is bigger than a certain value that we set which is 1000 in this case. When the value is more than 1000 the LED turns on. So this sensor can also be used as a proximity sensor if properly configured. Ok so we are at the end of the tutorial I hope you enjoyed this project and see you later alligator.
B1 中級 Arduino視頻教程08:觸手可及的燈泡 (Arduino Video Tutorial 08: Touchy-Feely Lamp) 73 0 Chuan Zhe Lin 發佈於 2021 年 01 月 14 日 更多分享 分享 收藏 回報 影片單字