Skip to content

Releases: platisd/smartcar_shield

Version 3.0.4

27 Jan 00:56
Compare
Choose a tag to compare
  • Removed NewPing class that could potentially cause conflicts with the L293D chip enable pin, on D9
  • Changed the angular velocity type from int to float for greater accuracy during measurements.
  • Measurements during calibration are now 10 ms apart, instead of 50 ms.

Version 3.0.3

25 Jan 01:22
Compare
Choose a tag to compare
  • Corrected pin numbers for manual PID control example, for DIT524 course convenience.

Version 3.0.2

24 Jan 23:40
Compare
Choose a tag to compare
  • Example that allows the car to be steered more accurately though serial added
  • Pulses per meter updated for DIT524 course's convenience

Version 3.0.1

24 Jan 21:26
Compare
Choose a tag to compare

Bug-fix for the Gyroscope::calibrate function, now allows for negative (signed integer) offset values.

Version 3.0.0

19 Jan 00:29
Compare
Choose a tag to compare

A major upgrade in the library, now allowing it to support different types of motors for steering and throttle!

Backward incompatible API Changes:

  • Now the user needs to include the Servo library in the beginning of every sketch (`#include <Servo.h>)
  • Car::INVERTED was changed to INVERTED

New API components:

  • Car(SteeringMotor *steering, unsigned short shieldOrientation)
  • Car(SteeringMotor *steering, ThrottleMotor *throttle)
  • boolean cruiseControlEnabled()

Finally, there were various overall improvements, such as in Car::stop() or the interrupts related to the Odometers, are now more lightweight and not as computationally intensive.

Version 2.0.1

16 Jan 20:30
Compare
Choose a tag to compare

Bug fix: Keyword setMotorSpeed keyword now appears properly

Version 2.0.0

10 Jan 23:10
Compare
Choose a tag to compare

Version 2.0.0 introduces a new way of setting speed in non cruise control mode.
Now the range is between 0 and 100 (as well as 0 to -100), hiding implementation details from the user and decreasing the coupling between the software library and the hardware components (h-bridge and motors). The user now is not getting in touch with hardware related vocabulary, such as "PWM".

Version 2.0.0 is backwards incompatible with the previous ones, in the essence that now the speed in non-cruise control mode is set using a standard scale, from -100 to 100, so speeds set in the previous manner will produce a different behavior than they used to.

Version 1.1.2

09 Jan 15:03
Compare
Choose a tag to compare

Minor code enhancements and new example added.

Version 1.1.1

02 Jan 22:10
Compare
Choose a tag to compare

Small bug fix on how angle is set, during cruise control mode. Now it is much less jiterrish.

Release 1.1.0

13 Dec 20:29
Compare
Choose a tag to compare

Release 1.1.0 includes a getSpeed() method for the Odometer class, which is used in order to improve the PID controller, as its output is more stable than the way we used to calculate the speed before.

Particularly, many encoders are not able to give consistent readings (amount of pulses) for predetermined small amounts of time (the dt). However, it is proved that if instead of the dt we have predefined the dx, to 1 pulses (which we know how much it is), then we can calculate speed in a more reliable way. The only tradeoff is, that the ISR's are now more computationally intensive, since they need to do a division with floats.