DVK512
[中文]
| ||||||||||||||||||
|
Contents
- 1 Introduction
- 2 Basic operations
- 3 DVK512 and expansion function Demos
- 3.1 Installing the libraries required
- 3.2 LED Demo
- 3.3 Key Demo
- 3.4 8-channel Logic Level Convertor Demo
- 3.5 Joystick Demo
- 3.6 Buzzer and PWM
- 3.7 DS18B20 Demo
- 3.8 Infrared remote control
- 3.9 LCD1602 (Purchased Separately) Demo
- 3.10 PCF8563 RTC Demo
- 3.11 PCF8591 AD Demo
- 3.12 PCF8591 DA Demo
- 3.13 Acceleration of Gravity and Magnetic Sensors LSM303DLHC
- 3.14 Angular rate Sensor L3G4200D
- 3.15 UART Demo
- 3.16 GPS (Purchased Separately) Demo
- 4 Libraries Installation for RPi
- 5 Resources
- 6 FAQ
- 7 Support
Introduction
Raspberry Pi Expansion/Evaluation Board, features various interfaces
Basic operations
System image file programming
Download newest Rapsbian image from Raspberry Pi web site.
Format your TF card with the SDFormatter.exe.
- Notices: The capability of TF card in used here should be more than 4GB. In this operation, a TF card reader is also required, which has to be purchased separately.
Start the Win32DiskImager.exe, and select the system image file copied into your PC, then, click the button Write to program the system image file.
Serial debugging environment deploying
Connect your PC to the UART TO USB interface on DVK512 via a mini USB cable;
- Notices: The USB part of the UART TO USB interface applied by DVK512 is a mini USB interface, while the one on Raspberry Pi board is a micro USB interface. Please take a note.
Install the cp2102_driver;
Start the software PuTTY.exe, and configure the following parameters:
- Serial line: it is used to select corresponding serial port. The serial port in used can be check by Device Manager.
- Speed: it is used to set the Baud rate: 115200.
- Connection type: this option should be set to Serial.
- And then, click the button Open.
After the system is started up, you should input following information: User name: pi and Password: raspberry. Then, you can enter the serial terminal to communicate with the Raspberry Pi.
- Notices: In this document, the software PuTTY is always used to control the Raspberry Pi via serial port communication, unless otherwise specified. When a serial port is used for Raspberry Pi terminal debugging, it cannot service as a common serial port any more, since it is occupied by system debugging function.
DVK512 and expansion function Demos
Before performing any operations described in this section, you should connect DVK512 to RPi with onboard pin headers, unless otherwise specified.
Installing the libraries required
Before using the DVK512 programs, you shall install the the bcm2835, wiringPi and python libraries to the RPi to add the additional APIs, and configure the settings to start up the core drivers of I2C, SPI and UART after the libraries installed. For more detailed information about the installation and configuration of the RPI library functions, please refer to Libraries Installation for RPi. Of course, we have provided a system image file with the libraries installed as well. In case that you don’t want to reinstall the libraries, you can program this ready-to-use system image file to your Raspberry Pi board. You can find the API source code in the directory /home/pi/DVK512 only if using the ready-to-use system image. Note: Each demo should be run under the corresponding directory, e.g. to use the bcm2835 demo of the LED, execute the command:
[email protected] ~/DVK512/LED/bcm2835 $ sudo ./led
This means that, you should first enter the path ~/DVK512/LED/bcm2835 than execute the command sudo ./led
(./led is a compiled executable file).
The sudo means that the command is executed by a super user. The sudo is not required If you log in as a root user, e.g.
[email protected]:/home/pi/DVK512/LED/bcm2835# ./led
Unless otherwise specified, the following demos are pre-compiled to executable files which can be run directly. If you intend to compile the C program of bcm2835, wiringPi, sysfs, etc. then please enter the demo directory and execute the command make
to compile the program while the command make clean
to remove the executable files. For example:
[email protected] ~/DVK512/LED/bcm2835 $ make clean rm led [email protected] ~/DVK512/LED/bcm2835 $ make gcc -Wall led.c -o led -lbcm2835
Python program can be run directly without compilations, e.g.
[email protected] ~/DVK512/LED/python $ sudo python led.py
LED Demo
bcm2835 program:
- Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/LED/bcm2835 $ sudo ./led
- The 4 LEDs will light up one by one.
- Press the keys Ctrl+C to end the demo.
wiringPi program:
- Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/LED/wiringPi $ sudo ./led
- The 4 LEDs will light up one by one.
- Press the keys Ctrl+C to end the program.
Python program:
- Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/LED/python $ sudo python led.py
- The 4 LEDs will light up one by one.
- Press the keys Ctrl+C to end the program.
shell program:
- Turn on LED0 by this command:
[email protected] ~/DVK512/LED/shell $ sudo ./LED.sh 26 1
- Turn off LED0 by this command:
[email protected] ~/DVK512/LED/shell $ sudo ./LED.sh 26 0
Key Demo
bcm2835 program:
- Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/KEY/bcm2835 $ sudo ./key
- The terminal will show whether there is key-press.
- Press the keys Ctrl+C to end the program.
wiringPi program:
- Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/KEY/bcm2835 $ sudo ./key
- The terminal will show whether there is key-press.
- Press the keys Ctrl+C to end the program.
Python program:
- Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/KEY/bcm2835 $ sudo ./key
- The terminal will show whether there is key-press.
- Press the keys Ctrl+C to end the program.
8-channel Logic Level Convertor Demo
Connect the 8-channel Logic Level Converter to the onboard 8I/Os interface. (Notices: The VCCA pin header on the Logic Level Converter should be connected to the 3V3 pin header of the 8I/Os connector on DVK512). Pin relationships between Logic Level Converter and DVK512:
Logic Level Converter | DVK512 |
---|---|
VCCB | 5V |
GND | GND |
B0 | LED0 |
B1 | LED2 |
B3 | LED3 |
B4 | KEY0 |
B5 | KEY1 |
B6 | KEY2 |
B7 | DEY3 |
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/Logic-Converter/bcm2835 $ sudo ./Logic_Converter
wringPi program:
[email protected] ~/DVK512/Logic-Converter/wiringPi $ sudo ./Logic_Converter
python program:
[email protected] ~/DVK512/Logic-Converter/python $ sudo python Logic_Converter.py
- Press the KEY0-KEY3 on the DVK512, and the relative LED will light up.
- Press the keys Ctrl+C to end the demo.
Joystick Demo
Connect the Mix Board to the 8I/Os interface. Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/JOYSTICK/bcm2835 $ sudo ./joystick
wringPi program:
[email protected] ~/DVK512/JOYSTICK/wiringPi $ sudo ./joystick
python program:
[email protected] ~/DVK512/JOYSTICK/python $ sudo python joystick.py
Press or move the joystick, the terminal will show the action.
Buzzer and PWM
Connect the Mix Board to the 8I/Os interface. Enter the terminal, and execute corresponding commands:
wringPi program:
[email protected] ~/DVK512/Buzzer_PWM/wiringPi $ sudo ./Buzzer
python program:
[email protected] ~/DVK512/Buzzer_PWM/python $ sudo python buzzer.py
The buzzer on the Mix Board will buzz in 4 seconds.
Press the keys Ctrl+C to end the program.
DS18B20 Demo
Connect the Mix Board to the 8I/Os interface.
Insert the DS18B20 to the ON-WIRE interface on Mix Board.
Dangerous: Please make sure the DS18B20 is connected correctly. The DS18B20 in wrong connection may generate a high temperature which may cause injuries The figure shows the correct connection between the DS18B20 and the Mix Board, in which the DS18B20 should be placed according to the shape of the icon shown on the ONE-WIRE interface of Mix Board. |
Enter the terminal, and execute corresponding commands:
sysfs program:
[email protected] ~/DVK512/DS18B20/fs $ sudo ./ds18b20
python program:
[email protected] ~/DVK512/DS18B20/python $ sudo python ds18b20.py
The terminal will display the current temperature information.
Infrared remote control
Connect the Mix Board to the 8I/Os interface.
Connect the infrared receiver to the IRM interface on Mix Board.
Notices: The infrared receiver should be placed according to the shape of the icon shown on the IRM interface of Mix Board.
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/IRM/bcm2835 $ sudo ./irm
wiringPi program:
[email protected] ~/DVK512/IRM/wiringPi $ sudo ./irm
python program:
[email protected] ~/DVK512/IRM/python $ sudo python irm.py
Press any key on the infrared remote controller provided by Waveshare. The terminal will display the decoded infrared signal in hexadecimal format.
Press the keys Ctrl+C to end the demo.
LCD1602 (Purchased Separately) Demo
Insert the LCD1602 into the LCD1602 interface on DVK512.
Enter the Linux terminal, and run the following commands:
[email protected] ~/DVK512/LCD1602 $ sudo ./lcd1602
LCD1602 will display relative information. If there is nothing shown, please adjust the potentiometer on the LCD1602. The red box in Figure 11 shows the position of the potentiometer.
PCF8563 RTC Demo
Set the jumpers on DVK512:
- Connect RTC_SDA to SDA
- Connect RTC_SCL to SCL
Install i2c-tools. If you have not installed i2c-tools yet, please enter the terminal, and input: [email protected] raspberrypi:/# apt-get install i2c-tools
Enter the Linux terminal, and run the following commands:
[email protected] raspberrypi:/# i2cdetect –y 1
Then, you will see the device address of PCF8563 connected to Raspberry Pi module. Here, the device address of PCF8563 is 51, indicating that the PCF8563 is detected by Raspberry Pi.
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/PCF8563/bcm2835 $ sudo ./pcf8563
wiringPi program:
[email protected] ~/DVK512/PCF8563/wiringPi $ sudo ./pcf8563
python program:
[email protected] ~/DVK512/PCF8563/python $ sudo ./pcf8563.py
Time of PCF8563 will be shown on the terminal.
PCF8591 AD Demo
Connect the PCF8591 module to the I2C interface on DVK512.
Connect the pins AIN0 and AD0 on the PCF8591 together via a cable.
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/PCF8591/ADC/bcm2835 $ sudo ./pcf8591
wiringPi program:
[email protected] ~/DVK512/PCF8591/ADC/wiringPi $ sudo ./pcf8591
python program:
[email protected] ~/DVK512/PCF8591/ADC/python $ sudo python pcf8591.py
The terminal will display the AD values read from ADC0-ADC3 (corresponding to the pins AIN0-AIN3 on PCF8591).
PCF8591 DA Demo
Connect the PCF8591 module to the I2C interface on DVK512.
Connect the Pin AOUT on PCF8591 to the LED pin header on DVK512.
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/PCF8591/DAC/bcm2835 $ sudo ./pcf8591
wiringPi program:
[email protected] ~/DVK512/PCF8591/DAC/wiringPi $ sudo ./pcf8591
python program:
[email protected] ~/DVK512/PCF8591/DAC/python $ sudo python pcf8591.py
The digital conversion value is displayed in the terminal. And the brightness of the LED indicator on DVK512 will change with the level variation on the pin AOUT.
Acceleration of Gravity and Magnetic Sensors LSM303DLHC
Connect the LSM303DLHC module to the I2C interface on DVK512.
Notices: LSM303DLHC module has two rows of pins, and the one connected to DVK512 contains the pins SDA and SCL.
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/LSM303DLHC/bcm2835 $ sudo ./LSM303DLHC
wiringPi program:
[email protected] ~/DVK512/LSM303DLHC/wiringPi $ sudo ./LSM303DLHC
python program:
[email protected] ~/DVK512/LSM303DLHC/python $ sudo python LSM303DLHC.py
The terminal will display the relative values read from acceleration of gravity and magnetic sensor.
Angular rate Sensor L3G4200D
Connect the L3G4200D to the SPI interface on DVK512.
Enter the terminal, and execute corresponding commands:
bcm2835 program:
[email protected] ~/DVK512/L3G4200D/bcm2835 $ sudo ./L3G4200D
wiringPi program:
[email protected] ~/DVK512/L3G4200D/wiringPi $ sudo ./L3G4200D
python program:
[email protected] ~/DVK512/L3G4200D/python $ sudo python L3G4200D.py
The terminal will display the angular velocity values in three factors of x axis, y axis and z axis, respectively.
UART Demo
Note: The Serial Port of Raspberry pi is used for terminal debugging by default, so for using UART function, the Serial terminal debugging function needs to be closed.
Connect the onboard UART TO USB port to a PC via a mini USB cable.
Enter the terminal, and execute corresponding commands:
wiringPi program: [email protected] ~/DVK512/UART/wiringPi $ sudo ./UART
python program: [email protected] ~/DVK512/UART/python $ sudo ./uart.py
Run Serial monitor software, choose a corresponding COM port and set the baud rate as 115200. The field sent by the software will be sent back and shown on the software.
GPS (Purchased Separately) Demo
In the default boot mode of the system image provided by Waveshare, the serial port works as terminal debugging output. In order to control peripherals via serial port communication, you should input corresponding commands on the terminal to disable the debugging function of the serial port.
sudo raspi-config
Choose Advanced Options -> Serial –>no to disable the debugging function of the serial port.
Once the debugging function of the serial port is disabled, you cannot access the Pi using Serial port but you can re-enable the debugging function by raspi-config.
Insert a GPS module into the UART interface on DVK512, and remove the jumper wire from UART JMP.
Enter the terminal, and input the following commands to set the Baud rate (The Baud rate will be restored to the default value: 115200, after the system rebooted).
[email protected]:/# stty -F /dev/ttyAMA0 38400 [email protected]:/# gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
Enter the terminal and input the following command to open the GPS software provided by the Linux system:
[email protected]:/# cgps -s
The terminal will display relative GPS position information.
Libraries Installation for RPi
In order to use the API examples we provide, related libraries are required, which should be installed manually.
Install WiringPi Library
Click to download the wiringPi libraries, or you can also obtain the latest version from the WiringPi website:
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
Copy the installation package into your own system via a USB flash drive, enter the WiringPi folder, then do this to install:
chmod 777 build ./build
Run the following command to check the installation:
gpio –v
Install C Library bcm2835
Click to download the bcm2835-1.39 libraries or bcm2835-1.45 libraries. You can also obtain the latest version from the bcm2835 website: http://www.airspayce.com/mikem/bcm2835/
Copy the installation package into your own system, enter the bcm2835 libraries folder, then do this to install:
./configure make sudo make check sudo make install
Install Python Library
Python Libraries for Raspbian (contain RPi.GPIO and spidev installation packages. See: https://pypi.python.org/pypi/RPi.GPIO https://pypi.python.org/pypi/spidev ) get it by apt-get commands.
Please take a note, your Raspberry Pi should be connected to the network when using the command apt-get to install the library. Before the installation, you can run the following command to update your software list.
sudo apt-get update
- Run the following command to install the package python-dev
sudo apt-get install python-dev
- Installing the RPi.GPIO package (GPIO interface functions). Copy the installation package RPi.GPIO to your RPi board, and unzip it. Enter the unzipped file under the terminal, and run the following command to install the library:
sudo python setup.py install
- Run the following command to install the library smbus (I2C interface functions)
sudo apt-get install python-smbus
- Run the following command to install the library serial, which contains UART interface functions
sudo apt-get install python-serial
- Installing the library spidev (SPI functions). Copy the installation package spidev to your RPi board, and unzip it. Enter the unzip file under the terminal, and run the following command to install the library:
sudo python setup.py install
- Run the following command to install the Python imaging library
sudo apt-get install python-imaging
Configuring the interfaces
(Before running the API codes we provided, you should start up the corresponding core drivers of the interfaces. In the ready-to-use system image file, both I2C and SPI are set to Enable by default, but the serial port is still in the terminal debugging function mode.)
- Enable the I2C function. Run the following command to configure your Raspberry Pi board:
sudo raspi-config
Select Advanced Options -> I2C -> yes, to start up the I2C core driver. Then you also need to modify the configuration file. Run the following command to open the configuration file:sudo nano /etc/modules
Add the following two lines to the configuration file- i2c-bcm2708
- i2c-dev
- Press the keys Ctrl+X to exit, and input Y to save the settings. Then, reboot the module to make the settings take effect.
- Enable the serial function. The serial port of RPi is set to serial terminal debugging function mode by default. If you want the serial port services as a common IO, you should modify the settings on the RPi. When the terminal debugging function is disabled, you cannot access RPi board via the serial port any more. If you want to control the RPi, you may need to enable the debugging function of the serial port again.
sudo raspi-config
Select Advanced Options -> Serial. Select the option no can disable the serial debugging function. And then, the serial port can be used for serial communication. And select the option yes can enable the serial debugging function. You should reboot the module to make the settings take effect.
- Note: the serial port on Raspberry Pi 3 Model B is unusable, because Pin 14 and Pin 15 is connected to the on-board Bluetooth model.
- Start up the spi function, run the following command:
sudo raspi-config
Select Advanced Options -> I2C -> yes, to start up I2C core driver.
Resources
Application Notes
- CP2102
- PCF8563
- Writing the Img to the SD card
- Libraries Installation for RPi
- Panasonic_SDFormatter
- Win32DiskImager
- putty
- wiringPi & bcm2835 C LIB
FAQ
|
|
|
|
Support
|