This article uses a Freescale automotive model equipped with a DC motor and an analog circuit control servo to simulate a real car.The PcDuino development board on the car model is equipped with the Ubuntu operating system and is compatible with the Arduino extension to implement hardware control. The binocular camera connected to the development board can capture two channels of video and transmit it in real time over the network to provide support for binocular vision ranging. At the same time, it has developed a "Visual Aided Navigation System" Android-side application that can remotely view the live conditions around the smart car and control the car.
The emergence of Arduino's open source hardware platform has greatly improved the efficiency of hardware development. Even software programmers without any hardware infrastructure can write simple code to control the hardware by using the open source library provided by Arduino, greatly reducing the use of Arduino platform. The difficulty of this design. Arduino also offers a variety of expansion boards. The Arduino ecosystem is very powerful. Many developers have developed peripheral expansion modules for Arduino, such as motor modules, infrared control modules, and touch modules. These modules greatly enhance the functionality of Arduino. We can Purchasing a module based on the project's needs creates the same creative work as splicing bricks.However, Arduino cannot handle a large number of computational and high-complexity engineering applications, but can only do some simple work with low performance requirements. This is limited by Arduino's hardware and software. At present, most Arduino motherboards use MCUs as processors. For example, Arduino Uno's ATmega328 single-chip microcomputer has a clock speed of only 16 MHz, and the memory is only 2 KB of SRAM, so the running speed, code size, and computing power are all very limited.In addition, if there are some complicated projects that require Linux operating system support, Arduino obviously can not meet the requirements, for example, you want to use an Arduino as an openCv person to do face recognition. The emergence of the pcDuino solves this problem, it is basically equivalent to a Mini PC, equipped with high-performance ARM processor, at the same time, it is compatible with the Arduino hardware platform, and can run Linux and Android operating system, is a soft An open application development platform that combines hardware. Compatible with Arduino means that pcDuino can not only use Arduino's extension module, but also Arduino's project code, and finish Arduino programming in pcDuino.
Second, hardware selection
PcDuino development platform
According to the demand, there are numerous versions of the development board. Because this article requires remote control of the car (requires WIFI function), and simultaneous access to two camera videos (extensible USB interface), so we chose the AllWinner A20 SoC ARM central with 1GHz frequency. PcDuino 3B model of processor, wireless WiFi network card.
Motor Drive Module L298P
One of the keys to intelligent control is the control of the speed. This article uses the L298P motor drive module to drive the smart car.L298P Shield DC motor driver can directly drive DC motor, drive current up to 2A, and can be speed-regulated through PWM, can be plugged into the Arduino, and it is also equipped with a servo control socket control servo, and buzzer Can be used for reversing alarms.
Servo control module
The servo control module is a steering control system composed of a DC motor, a reduction gear set, and a control circuit.Through the servo's control signal, the rotation angle of the output shaft can be specified. When a specific angle control signal is input, the rudder machine will generate a rotation that is biased towards this angle. If the control signal continues for a while, the rudder will remain stationary after reaching this angle.In addition to steering the vehicle model, the steering gear module also applies to control of robot arms, model airplanes, and the like.
Freescale car model
Binocular camera is a camera with two lenses. With the development of VR and 3D video technology, binocular cameras are widely used in some VR cameras and mobile phones.The binocular camera mimics human eyes and can be applied to computer vision ranging by using different pictures taken by two cameras. The following figure shows a binocular camera module purchased on the market. It can be connected to PCs, development boards, etc. via a USB interface and supports the UVC protocol.
This article has been printed on copyright and protected by copyright laws. It must not be reproduced without permission!To reprint, please contact the author or visit the copyright get authorization if you feel this article is useful to you. The following "Sponsored Authors" rewarded the authors!
Included in Original Source: Baiyuan's Blog>>http://wangbaiyuan.cn/en/1-overview-pcduino-platform-of-smart-car-2.html