125
Chapter 10 Photoresistor & LED
Code
The code of this project is identical with the one in last chapter logically.
C Code 10.1.1 Nightlamp
First observe the project result, and then analyze the code.
1.
Use cd command to enter 010.1.1_Nightlamp directory of C code.
cd ~/Freenove_Ultimate_Starter_Kit_for_Raspberry_Pi/Code/C_Code/10.1.1_Nightlamp
2.
Use following command to compile “Nightlamp.c” and generate executable file “Nightlamp”.
gcc Nightlamp.c -o Nightlamp -lwiringPi -lpthread
3.
Then run the generated file “Nightlamp”.
sudo ./Nightlamp
After the program is executed, when you cover the photosensitive resistance or make a flashlight toward the
photoresistor, the brightness of LED will be enhanced or weakened. And the terminal window will print out
the current input voltage value of PCF8591 AIN0 pin and the converted digital quantity.
The following is the program code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <wiringPi.h>
#include <pcf8591.h>
#include <stdio.h>
#include <softPwm.h>
#define address 0x48
//pcf8591 default address
#define pinbase 64
//any number above 64
#define A0 p 0
#define A1 p 1
#define A2 p 2
#define A3 p 3
#define ledPin 0
int
main
(
void
){
int
value
;
float
voltage
;
if
(
wiringPiSetup
()
==
-
1
){
//when initialize wiring failed,print message to screen
printf
(
"setup wiringPi failed !"
);
return
1
;
}
softPwmCreate
(
ledPin
,
0
,
100
);
pcf8591Setup
(
pinbase
,
address
);
while
(
1
){
value
=
analogRead
(
A0
);
//read A0 pin
softPwmWrite
(
ledPin
,
value
*
100
/
255
);
voltage
=
(
float
)
value
/
255.0
*
3.3
;
// calculate voltage
printf
(
"ADC value : %d ,\tVoltage : %.2fV\n"
,
value
,
voltage
);
Содержание Ultimate Starter Kit
Страница 1: ...Free your innovation Freenove is an open source electronics platform www freenove com ...
Страница 116: ...Chapter 9 Potentiometer RGBLED 116 www freenove com support freenove com Circuit Schematic diagram ...
Страница 117: ...117 Chapter 9 Potentiometer RGBLED www freenove com support freenove com Hardware connection ...
Страница 136: ...Chapter 12 Joystick 136 www freenove com support freenove com Circuit Schematic diagram Hardware connection ...
Страница 155: ...155 Chapter 14 Relay Motor www freenove com support freenove com Hardware connection OFF 3 3V ...
Страница 173: ...173 Chapter 16 Stepping Motor www freenove com support freenove com Hardware connection ...
Страница 182: ...Chapter 17 74HC595 LEDBar Graph 182 www freenove com support freenove com Circuit Schematic diagram Hardware connection ...
Страница 197: ...197 Chapter 18 74HC595 7 segment display www freenove com support freenove com Circuit Schematic diagram ...
Страница 198: ...Chapter 18 74HC595 7 segment display 198 www freenove com support freenove com Hardware connection ...
Страница 239: ...239 Chapter 22 Matrix Keypad www freenove com support freenove com Circuit Schematic diagram ...
Страница 240: ...Chapter 22 Matrix Keypad 240 www freenove com support freenove com Hardware connection ...
Страница 270: ...Chapter 26 WebIOPi IOT 270 www freenove com support freenove com Circuit Schematic diagram Hardware connection ...