@@ -5,38 +5,66 @@ A versatile and easy to use vehicle platform for hobby-grade projects
55* [ Description] ( #description )
66* [ Hardware] ( #hardware )
77* [ Software] ( #software )
8- * [ Materials needed ] ( #materials-needed-default-setup )
8+ * [ Reference platforms ] ( #reference-platforms )
99* [ Supported sensors] ( #supported-sensors )
1010* [ How to get started] ( #how-to-get-started )
1111* [ Dependencies] ( #dependencies )
1212* [ Extensions] ( #extensions )
1313* [ Project documentation] ( #project-documentation )
1414* [ License] ( #license )
1515
16- ### Description
16+ ## Description
1717This repository, includes everything necessary to set up a Smartcar platform.
1818The Smartcar, is a vehicular educational platform, which enables the user to develop
1919various robotic applications in an affordable, pedagogic and easy way. It is intended
2020for persons with basic programming knowledge and little to no experience of electronics,
2121mechanics or robotics. More experienced users, should also find this approach convenient,
2222due to its open source nature, high level API and object oriented design.
2323
24- ### Hardware
25- The platform, hardware wise is conceptually focused around the Smartcar shield. The Smartcar
26- shield is an open hardware PCB, that is effortlessly stacked on top of an Arduino. It includes
27- an L293D H-bridge chip, that drives the motors, screw terminals to connect the motors
24+ ## Hardware
25+ Despite the software being hardware-agnostic, historically, development has been based on specific
26+ hardware. Initially, the ** Smartcar shield** was used on top of an Arduino, using cheap car kits.
27+ This setup will be referred to as ` shield ` or ` v1 ` .
28+
29+ Since the winter of 2019, a new platform was developed from scratch, using the WiFi and Bluetooth
30+ enabled ESP32 as the vehicle's "brain". This setup will be referred to as ` platform ` or ` v2 ` and
31+ will be considered the default one from now on. It offers greater robustness and many more
32+ possibilities, as it offers out-of-the-box connectivity.
33+
34+ ### Platform
35+
36+ ![ smartcar platform] ( https://i.imgur.com/cFrq2Wj.jpg )
37+
38+ The Smartcar platform is a complete hardware solution for your hobby-grade, connected vehicle project.
39+ It is comprised of the chassis, made out of printed circuit boards, stacked on each other and an
40+ ESP32 development board that drives the motors, controls the sensors and communicates with the
41+ world via WiFi and Bluetooth.
42+
43+ There are 4 motors with directional odometers which enable not only to determine how much the
44+ wheels have moved but also the direction they spin. It is equipped with a GY-50 gyroscope module
45+ (based on the L3G4200D sensor) to provide heading information and sockets to optionally connect
46+ 4 ` VL45L0X ` LIDAR sensors to provide distance measurements. It is powered up by 8 AA batteries
47+ and you can find the boards' source files in [ extras/eagle/smartcar_platform] ( /extras/eagle/smartcar_shield ) .
48+
49+ ### Shield
50+
51+ ![ smartcar_shield] ( https://i.imgur.com/7g5ts49.png )
52+
53+ The Smartcar shield is an open hardware PCB, that is effortlessly stacked on top of an Arduino. It
54+ includes an L293D H-bridge chip, that drives the motors, screw terminals to connect the motors
2855and a battery to them and a GY-50 gyroscope module (based on the L3G4200D sensor).
2956In [ extras/eagle/smartcar_shield] ( /extras/eagle/smartcar_shield ) you can find the
3057design files for the board, in a modifiable form, using free software. There are
3158also the options, to order it as-is, from either USA or China based manufacturers.
59+
3260The Smartcar shield, facilitates efficient cable management, helps to preserve space
3361and is as small as possible, in order to keep the manufacturing price low. Additionally,
3462the components necessary to assemble it, are widely available over the Internet. Furthermore,
3563you can find 2D CAD drawings of the Smartcar chassis in various formats, at
3664[ /extras/cad/2D] ( extras/cad/2D ) which you can freely use in order to fabricate your own,
3765e.g. with a milling machine or a laser cutter.
3866
39- ### Software
67+ ## Software
4068The software, is the Smartcar shield Arduino library. It sports a high level API, meant to
4169enable its users to perform tasks easily with relatively few lines of code. It intends to
4270hide implementation details or low level hardware operations. The library, handles
@@ -58,7 +86,34 @@ If the Smartcar shield library is installed through the Library Manager of Ardui
5886recommended, the user will receive a notification in their IDE, when new versions are released
5987making updates particularly easy, without the need to use GitHub or git.
6088
61- ### Materials needed (default setup)
89+ ## Reference platforms
90+
91+ ### Smartcar platform (default setup)
92+
93+ * 1 x [ Modules board] ( https://www.pcbway.com/project/shareproject/Smartcar___Module_board.html )
94+ * 1 x [ Motor board] ( https://www.pcbway.com/project/shareproject/Smartcar___Motors_board.html )
95+ * 4 x [ Brushed motors] ( https://www.aliexpress.com/item/32872592243.html?spm=a2g0s.9042311.0.0.40d44c4dvsYt5w )
96+ * 2 x [ TTL level shifters] ( https://www.aliexpress.com/item/32472491036.html?spm=a2g0s.9042311.0.0.40d44c4dvsYt5w )
97+ * 1 x DOIT ESP32 devkit v1 (30 GPIO pins)
98+ * 1 x [ TB6612FNG dual motor driver (Sparkfun)] ( https://www.sparkfun.com/products/14451 )
99+ * 4 x M6 (30mm) screws
100+ * 4 x M6 nuts
101+ * 16 x M3 (10mm) screws
102+ * 16 x M3 nuts
103+ * 2 x [ HSP 02052 Front Bumper] ( https://www.aliexpress.com/item/32753903115.html )
104+ * 10 x 6pin 2.54 pitch female pin headers
105+ * 2 x 15pin 2.54 pitch female pin headers
106+ * 1 x GY-50 gyroscope
107+ * 4 x [ 8pin 2.54 pitch long male pin headers] ( https://www.aliexpress.com/item/32911455899.html ) (30mm long)
108+ * 4 x 8pin 2.54 pitch female pin headers
109+ * 3 x 10KOhm resistors
110+ * 8 x [ AA battery holders] ( https://www.electrokit.com/produkt/batterihallare-1xaa-pcb/ )
111+ * 1 x [ DD40AJSA adjustable buck converter] ( https://www.aliexpress.com/item/32816584868.html )
112+ * 4 x [ VL45L0x ToF distance sensors] ( https://www.aliexpress.com/item/32828144370.html ) (optional)
113+ * 4 x 4pin 2.54 angled headers to mount the sensors vertically
114+
115+ ### Smartcar shield
116+
62117 * Smartcar chassis
63118 * [ Smartcar shield PCB] ( extras/eagle/smartcar_shield )
64119 * L293D H-bridge
@@ -91,25 +146,25 @@ making updates particularly easy, without the need to use GitHub or git.
91146 * Directional (4+ pins)
92147 * Non-directional (3-pins)
93148
94- ### How to get started
149+ ## How to get started
95150 * Assemble the vehicle
96151 * [ Install the library] ( https://www.ardu-badge.com/Smartcar%20shield )
97- * [ Connect the motors appropriately] ( examples/Car/shieldMotorsTest/shieldMotorsTest.ino ) (if using the default setup )
152+ * [ Connect the motors appropriately] ( examples/Car/shieldMotorsTest/shieldMotorsTest.ino ) (if using the shield )
98153 * [ Getting started with the Smartcar Platform] ( https://www.hackster.io/platisd/getting-started-with-the-smartcar-platform-1648ad )
99154
100- ### Dependencies
101- - [ Wire library] ( http://arduino.cc/en/reference/Wire ) (included with the Arduino IDE)
102- - [ Servo library] ( https://www.arduino.cc/en/reference/servo ) (included with the Arduino IDE)
155+ ## Dependencies
156+ All dependencies should be downloaded automatically by the Arduino IDE's library manager.
103157
104- ### Extensions
105- You can utilize the object oriented design of this library in order to easily extend it.
106- Have a look at the [ Library Architecture] ( ../../wiki/Library-architecture ) .
158+ - [ Wire library] ( http://arduino.cc/en/reference/Wire )
159+ - [ Servo library] ( https://www.arduino.cc/en/reference/servo )
160+ - [ ServoESP32] ( https://github.com/RoboticsBrno/ServoESP32 )
161+ - [ ESP32 AnalogWrite] ( https://github.com/ERROPiX/ESP32_AnalogWrite )
107162
108- ### Project documentation
163+ ## Project documentation
109164* [ API Documentation] ( https://platisd.github.io/smartcar_shield/ )
110165* [ The Smartcar platform] ( http://plat.is/smartcar )
111- * [ Wiki] ( ../.. /wiki)
166+ * [ Wiki] ( https://github.com/platisd/smartcar_shield /wiki)
112167* [ Turning software engineers into Makers] ( https://platis.solutions/blog/2016/06/17/turning-software-engineers-into-makers/ )
113168
114- ### License
169+ ## License
115170MIT
0 commit comments