Smartcar - Motors board
Smartcar shield
A versatile and easy to use vehicle platform for hobby-grade projects
Description
This repository, includes everything necessary to set up a Smartcar platform. The Smartcar, is a vehicular educational platform, which enables the user to develop various robotic applications in an affordable, pedagogic and easy way. It is intended for persons with basic programming knowledge and little to no experience of electronics, mechanics or robotics. More experienced users, should also find this approach convenient, due to its open source nature, high level API and object oriented design.
Hardware
Despite the software being hardware-agnostic, historically, development has been based on specific hardware. Initially, the Smartcar shield was used on top of an Arduino, using cheap car kits. This setup will be referred to as shield
or v1
.
Since the winter of 2019, a new platform was developed from scratch, using the WiFi and Bluetooth enabled ESP32 as the vehicle's "brain". This setup will be referred to as platform
or v2
and will be considered the default one from now on. It offers greater robustness and many more possibilities, as it offers out-of-the-box connectivity.
Platform
The Smartcar platform is a complete hardware solution for your hobby-grade, connected vehicle project. It is comprised of the chassis, made out of printed circuit boards, stacked on each other and an ESP32 development board that drives the motors, controls the sensors and communicates with the world via WiFi and Bluetooth.
There are 4 motors with directional odometers which enable not only to determine how much the wheels have moved but also the direction they spin. It is equipped with a GY-50 gyroscope module (based on the L3G4200D sensor) to provide heading information and sockets to optionally connect 4 VL45L0X
LIDAR sensors to provide distance measurements. It is powered up by 8 AA batteries and you can find the boards' source files in extras/eagle/smartcar_platform.
Shield
The Smartcar shield is an open hardware PCB, that is effortlessly stacked on top of an Arduino. It includes an L293D H-bridge chip, that drives the motors, screw terminals to connect the motors and a battery to them and a GY-50 gyroscope module (based on the L3G4200D sensor). In extras/eagle/smartcar_shield you can find the design files for the board, in a modifiable form, using free software. There are also the options, to order it as-is, from either USA or China based manufacturers.
The Smartcar shield, facilitates efficient cable management, helps to preserve space and is as small as possible, in order to keep the manufacturing price low. Additionally, the components necessary to assemble it, are widely available over the Internet. Furthermore, you can find 2D CAD drawings of the Smartcar chassis in various formats, at /extras/cad/2D which you can freely use in order to fabricate your own, e.g. with a milling machine or a laser cutter.
Software
The software, is the Smartcar shield Arduino library. It sports a high level API, meant to enable its users to perform tasks easily with relatively few lines of code. It intends to hide implementation details or low level hardware operations. The library, handles the various components (i.e. the vehicle and the various sensors) as objects, therefore enabling trivial control over the car's functions. The various operations exposed by the API, are thoroughly explained in API Documentation. You can find examples on how to use the library, in /examples.
The library is versatile and is independent from the shield or specific hardware. Particularly, its most important feature is that it supports multiple ways of steering and throttling with different types of motors. Moreover, it is possible to steer the vehicle by rotating the wheels on each side at a different speed, like a tank as well as by using a servo motor. Another option is to use a brushed DC motor for steering, a setup that is very common in cheap RC cars. Additionally, apart of the default brushed DC motors that are connected to the Smartcar shield, you can also use an electronic speed controller (ESC) in order to drive (throttle) the vehicle, using the very same library.
If the Smartcar shield library is installed through the Library Manager of Arduino IDE, as recommended, the user will receive a notification in their IDE, when new versions are released making updates particularly easy, without the need to use GitHub or git.
Reference platforms
Smartcar platform (default setup)
- 1 x Modules board
- 1 x Motor board
- 4 x Brushed motors
- 2 x TTL level shifters
- 1 x DOIT ESP32 devkit v1 (30 GPIO pins)
- 1 x TB6612FNG dual motor driver (Sparkfun)
- 4 x M6 (30mm) screws
- 4 x M6 nuts
- 16 x M3 (10mm) screws
- 16 x M3 nuts
- 2 x HSP 02052 Front Bumper
- 10 x 6pin 2.54 pitch female pin headers
- 2 x 15pin 2.54 pitch female pin headers
- 1 x GY-50 gyroscope
- 4 x 8pin 2.54 pitch long male pin headers (30mm long)
- 4 x 8pin 2.54 pitch female pin headers
- 3 x 10KOhm resistors
- 8 x AA battery holders
- 1 x DD40AJSA adjustable buck converter
- 4 x VL45L0x ToF distance sensors (optional)
- 4 x 4pin 2.54 angled headers to mount the sensors vertically
Smartcar shield
- Smartcar chassis
- Smartcar shield PCB
- L293D H-bridge
- GY-50 gyroscope module
- Two odometers (speed encoders) ([1] and [2] will suit commercially available chassis. [3] require some slight modifications)
- Male & female pin headers (optionally get stackable Arduino headers too)
- Five 2-pin screw terminals
- Pin jumper
- DIP16 socket
- 0.1uF capacitors (2)
- 100uF capacitor
- 9V or 12V battery pack (do not use a single 9V battery)
Supported sensors
- Distance sensors
- Ultrasonic
- HC-SR04
- SRF08
- Infrared
- SHARP GP2D120
- SHARP GP2Y0A02
- SHARP GP2Y0A21
- Gyroscopes
- GY-50 (L3G4200D)
- Odometers
- Directional (4+ pins)
- Non-directional (3-pins)
How to get started
- Assemble the vehicle
- Install the library
- Connect the motors appropriately (if using the shield)
- Getting started with the Smartcar Platform
Dependencies
All dependencies should be downloaded automatically by the Arduino IDE's library manager.
Project documentation
Smartcar - Motors board
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(2)
- Likes(2)
- ElectroMaker May 28,2021
- DarkoPatic May 14,2020
- 9 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
9design
-
9usability
-
9creativity
-
9content
-
7design
-
8usability
-
7creativity
-
9content
-
7design
-
7usability
-
6creativity
-
7content
-
10design
-
10usability
-
10creativity
-
5content
-
8design
-
7usability
-
7creativity
-
8content
-
8design
-
9usability
-
7creativity
-
6content
-
8design
-
8usability
-
7creativity
-
6content
-
9design
-
8usability
-
8creativity
-
8content
-
10design
-
10usability
-
10creativity
-
10content
More by Dimitrios Platis
- Smartcar - Modules board rev.2 For more information about the project, please visit: https://github.com/platisd/smartcar_shield/Des...
- Hackathon trophy # Hackathon PCB trophyA cool trophy for the winners of your Hackathon![trophies](https://i.imgur.com...
- ToeTap USB Controller ToeTap is a minimalist USB keyboard and mouse that you control by tapping your toes.It's designed to...
- Smartcar - Motors board Smartcar shieldA versatile and easy to use vehicle platform for hobby-grade projectsDescriptionThis ...
- Smartcar - Modules board Smartcar shieldA versatile and easy to use vehicle platform for hobby-grade projectsDescriptionThis ...
- IoTink: Your portable e-paper dashboard IoTinkYour portable & connected, e-paper dashboardWhat?IoT + E-Ink = IoTinkIoTink is a portable ...
- SmartCar Shield rev. 2 The Smartcar, is a vehicular educational platform, which enables the user to develop various robotic...
- Code Review Lamp Code Review LampA colorful lamp to notify the developer team for pending code reviews. What?Code Rev...
- Scrumtato: Make daily-standups agile again (rev.3) ScrumtatoScrumtato is an ATtiny85-based gadget to keep overly passionate developers from excessively...
- Nevma: Gesture control for the masses NevmaA USB gadget to transform your gestures to keyboard and mouse events.OverviewNevma (means "...
- Scrumtato: Make daily-standups agile again (rev.2) ScrumtatoScrumtato is an ATtiny85-based gadget to keep overly passionate developers from excessively...
- SonicDisc - A 360° ultrasonic scanner (rev.1) SonicDiscA 360° ultrasonic scanner that talks over I2C using an Atmega328P and eight HC-SR04 ultraso...
- SonicDisc - A 360° ultrasonic scanner SonicDiscA 360° ultrasonic scanner that talks over I2C using an Atmega328P and 8 HC-SR04 ultrasonic ...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
113 0 0 -
DIY Laser Power Meter with Arduino
162 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
561 0 2