freenove / freenove_4wd_smart_car_kit_for_raspberry_pi Goto Github PK
View Code? Open in Web Editor NEWApply to FNK0043
License: Other
Apply to FNK0043
License: Other
I am one of the maintainers of the Donkeycar project. We have recently had a user ask about running the Donkeycar code on his Freenove 4WD Smart Car Kit for Raspberry Pi. I believe it could easily be done. Perhaps you might do this work and make Donkeycar available to your users. Here is what I suggested to him; if Freenove could do this work and test it, then you could open a pull request into donkeycar and add value for your users.
Looking at the github, it appears the Freenove 4WD Smart Car Kit for Raspberry Pi is using a PCA9685 to generate the duty cycle for 4 motors; https://github.com/Freenove/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/blob/master/Code/Server/Motor.py. The 4 motors, one per wheel, each use two PWM outputs from the PCA9685; one for forward duty cycle and one for reverse duty cycle.
The closest drivetrain the Donkeycar project has is DRIVE_TRAIN_TYPE == "DC_TWO_WHEEL"
, which uses two PWM outputs each for two motors (a left and right motor) as in a typicaly differential drive configuration. So you need to 1) create a new drivetrain type in manage.py/complete.py, 2) Add configuration for the new drivetrain to myconfig.py/cfg_complete.py and make sure it is uncommented. 3) set DRIVE_TRAIN_TYPE == <new_configuration_name>
in myconfig.py. I'll detail these steps below:
actuator.L298N_HBridge_2pin
part for each of the 4 motors. Something like this; elif cfg.DRIVE_TRAIN_TYPE == "DC_TWO_WHEEL_SKID":
dt = cfg.DC_TWO_WHEEL_SKID
left_front_motor = actuator.L298N_HBridge_2pin(
pins.pwm_pin_by_id(dt['LEFT_FRONT_FWD_DUTY_PIN']),
pins.pwm_pin_by_id(dt['LEFT_FRONT_BWD_DUTY_PIN']))
left_rear_motor = actuator.L298N_HBridge_2pin(
pins.pwm_pin_by_id(dt['LEFT_REAR_FWD_DUTY_PIN']),
pins.pwm_pin_by_id(dt['LEFT_REAR_BWD_DUTY_PIN']))
right_front_motor = actuator.L298N_HBridge_2pin(
pins.pwm_pin_by_id(dt['RIGHT_FRONT_FWD_DUTY_PIN']),
pins.pwm_pin_by_id(dt['RIGHT_FRONT_BWD_DUTY_PIN']))
right_rear_motor = actuator.L298N_HBridge_2pin(
pins.pwm_pin_by_id(dt['RIGHT_REAR_FWD_DUTY_PIN']),
pins.pwm_pin_by_id(dt['RIGHT_REAR_BWD_DUTY_PIN']))
V.add(left_front_motor, inputs=['left/throttle'])
V.add(left_rear_motor, inputs=['left/throttle'])
V.add(right_front_motor, inputs=['right/throttle'])
V.add(right_rear_motor, inputs=['right/throttle'])
DRIVE_TRAIN_TYPE == "DC_TWO_WHEEL_SKID"
by copying the DC_TWO_WHEEL
configuration block at https://github.com/autorope/donkeycar/blob/5d7fd5014e3eb0831a270b57f5b8f7783787fc47/donkeycar/templates/cfg_complete.py#L290, like;DC_TWO_WHEEL_SKID = {
"LEFT_FRONT_FWD_DUTY_PIN": "PCA9685.1:40.3", # pwm pin produces duty cycle for left front wheel forward
"LEFT_FRONT_BWD_DUTY_PIN": "PCA9685.1:40.2", # pwm pin produces duty cycle for left front wheel reverse
"LEFT_REAR_FWD_DUTY_PIN": "PCA9685.1:40.1", # pwm pin produces duty cycle for left rear wheel forward
"LEFT_REAR_BWD_DUTY_PIN": "PCA9685.1:40.0", # pwm pin produces duty cycle for left rear wheel reverse
"RIGHT_FRONT_FWD_DUTY_PIN": "PCA9685.1:40.4", # pwm pin produces duty cycle for right front wheel forward
"RIGHT_FRONT_BWD_DUTY_PIN": "PCA9685.1:40.5", # pwm pin produces duty cycle for right front wheel reverse
"RIGHT_REAR_FWD_DUTY_PIN": "PCA9685.1:40.6", # pwm pin produces duty cycle for right rear wheel forward
"RIGHT_REAR_BWD_DUTY_PIN": "PCA9685.1:40.7", # pwm pin produces duty cycle for right rear wheel reverse
}
DRIVE_TRAIN_TYPE == "DC_TWO_WHEEL_SKID"
in your myconfig.pyNOTE myconfig.py is really just a copy of cfg_complete.py and manage.py is really just a copy of complete.py (both linked above). So if you want to make integrate the changes into the donkeycar framework, then you could change those files. The when you create a new mycar
application using the donkey createcar path=~/mycar
command it will create a myconfig.py and manage.py with the changes. If you do that and your testing shows that car works, please open a pull request and we can make that new drivetrain part of the regular donkeycar code.
I think there is an issue with the installation process.
Following the tutorial provided, after running build.sh successfully, setup.py says "Some libraries have not been installed yet. Please run 'sudo python setup.py' again".
No matter how many times I run it, there is a syntax error with some of the packages - something to do with "except (SomeException, OtherException ), e as exception: " being a non valid syntax. (I don't have a screenshot of that at this time, sorry)
After restart the Pi cannot start the OS properly as well.
I am using RaspberyPi 3B.
We assembled the car, but didn‘t run the servo.py when installing the servo.
How can we fix this?
kind regards
Hi!
I was planning to improve some of the english grammar in the tutorial PDF. Is that something you would be interested in?
I couldn't find the source file that generates the PDF. Is there a source file missing from this repo or are you editing the PDF directly? I was hoping it was in a format that would make a diff easier to read if I made it into a pull request.
Dear Freenove Team,
I have been thoroughly enjoying building and programming the 4WD Smart Car Kit with my Raspberry Pi. While working through the kinematics calculations for the mecanum wheels, as detailed in the provided tutorial, I've encountered what appears to be a series of typographical errors that could potentially lead to confusion for others engaging with this material.
Specifically, these errors pertain to the velocity vector notations for the wheels, which are crucial for understanding the intended motion and control of the vehicle. The errors are consistent throughout the section on mecanum wheels kinematics (pages 17-24 in the tutorial), where wheel designations are mistakenly repeated or mislabeled, affecting the clarity of instructions on how the wheels should move to achieve specific directions.
The documentation states for example (it's also wrong in the other equations):
V(FR) = -V(X)
V(FL) = +V(X)
V(BL) = -V(X)
V(FR) = +V(X)
However, I believe there is a mistake with the wheel designations and possibly a repeat. For clarity and correctness, the intended notations for the wheel velocities to achieve lateral movement (e.g., moving to the right) should likely be:
V(FR) = -V(X) // Front Right wheel moves backward
V(FL) = +V(X) // Front Left wheel moves forward
V(BL) = -V(X) // Back Left wheel moves backward
V(BR) = +V(X) // Back Right wheel moves forward
This confusion could significantly impact the learning experience and the successful implementation of these concepts by users trying to follow along. I believe these might be simple typographical mistakes, but correcting them would greatly enhance the tutorial's accuracy and usability.
Could you please review and update the tutorial documentation to correct these discrepancies? Such corrections would ensure that all users can have a smooth and accurate learning experience when programming the car's movements.
Thank you for your attention to this matter and for providing such an engaging kit for Raspberry Pi enthusiasts.
Best regards,
Kim
I am looking through the code to see how video is being transmitted. It looks like you are using picamera to rapidly capture small jpg images and transmit them over udp (I believe its udp according to the server code s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
). I am curious if this can be replaced with something faster like a direct h264 stream. My assumption is that I can use something like gstreamer to capture the video and stream it quickly.
My question: Where is the code that displays the video in the ui? I am having difficulty finding it.
Hi, i've got as far as too test the motors, they move as instructed but when the script ends one motor keeps running. I have swapped the motor over to see if was the motor and did the same, so left me to either the module or something else with the scripts. Next day i turned it on and powered just the battery, all lights green. No motors running, i then ran the test.py again, done as told but once script ends the same motor continues to run.
Has anyone else en counted the same problem and know why and how to fix it?
Server is running on Raspberry Pi 4B with latest Raspberry Pi OS (headless).
Client is running on desktop PC with Ubuntu 22.04.
Note that I can reproduce the issue on a notebook with Ubuntu 22.04 which is using Xorg instead of wayland.
Steps to reproduce:
Note that the issue is also reproducible with disabled video and disabled face detect.
Enabling video (and face detect) can reduce the time until the client crashes.
Output:
~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi-master/Code/Client$ LANG=C python Main.py
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
Server address:192.168.178.35
Connection Successful !
CMD_POWER#7.38
...
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
...
CMD_POWER#7.17
QWidget::repaint: Recursive repaint detected
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
Speicherzugriffsfehler (Speicherabzug geschrieben)
pi@raspberrypi:~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
pi@raspberrypi:~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server $ sudo python camera.py
Traceback (most recent call last):
File "/home/pi/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/camera.py", line 1, in
from picamera import PiCamera
File "/usr/local/lib/python3.9/dist-packages/picamera/init.py", line 72, in
from picamera.exc import (
File "/usr/local/lib/python3.9/dist-packages/picamera/exc.py", line 41, in
import picamera.mmal as mmal
File "/usr/local/lib/python3.9/dist-packages/picamera/mmal.py", line 49, in
_lib = ct.CDLL('libmmal.so')
File "/usr/lib/python3.9/ctypes/init.py", line 374, in init
self._handle = _dlopen(self._name, mode)
OSError: libmmal.so: cannot open shared object file: No such file or directory
In Main.py, lines 250-289, the code fails to use the toggle()
method. In other words, eight instances of code similar to this:
if self.checkBox_Led1.isChecked() == True:
self.checkBox_Led1.setChecked(False)
else:
self.checkBox_Led1.setChecked(True)
can be replaced by corresponding simplified code:
self.checkBox_Led1.toggle()
The internal wheel cabling is broken. When it tries to go forward, the front right and bottom left wheel will turn the wrong way. Is there any way i can edit the code, so the scripts know to turn these wheels the other way?
is None
instead of == None
per PEP8 (https://www.flake8rules.com/rules/E711.html)For some reason, when I 'cd' to the data folder (Freenove_4WD_Smart_car_Kit_for_Raspberry_pi-master), and then to Code/Server
, and run sudo python test.py Camera
, it starts up, waits for a couple seconds, then exits with this error: OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/highgui/src/window.cpp, line 304 Traceback (most recent call last): File "test.py", line 167, in <module> test_Camera() File "test.py", line 137, in test_Camera cv2.imshow("Capture", frame) cv2.error: /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/highgui/src/window.cpp:304: error: (-215) size.width>0 && size.height>0 in function imshow
. Any code tweaks that could fix this? Thanks.
so I got to testing test ing the motor and it will not work it keeps saying
File "test.py", line 2
from Led import
^
SyntaxError: invalid syntax
and so can some one tell me what is happening
As far as I know, I can not charge the board by itself. I have to remove the batteries and charge them separately. Is there a way I can charge while the batteries are connected to the board and if not, is there an easier way to remove the batteries?
I accidentally connected the raspberry pi to the power supply when it was mounted onto the car. Now the raspberry pi won't start with the batteries from the car. Did I damage the 4wd car circuit? Power seems to be not flowing into the pi.
PS: Rasberry pi is fine with a direct power connection.
I can't run servo.py, I get file not found for I'm not sure which file.
Led and buzzer worked, but only after I ran sudo pip3 install rpi_ws281x
Which file is it looking for?
Thanks
Output
pi@raspberrypi:~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server $ sudo python3 servo.py
Now servos will rotate to 90°.
If they have already been at 90°, nothing will be observed.
Please keep the program running when installing the servos.
After that, you can press ctrl-C to end the program.
Traceback (most recent call last):
File "servo.py", line 34, in <module>
pwm=Servo()
File "servo.py", line 5, in __init__
self.PwmServo = PCA9685(0x40, debug=True)
File "/home/pi/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/PCA9685.py", line 29, in __init__
self.bus = smbus.SMBus(1)
FileNotFoundError: [Errno 2] No such file or directory
setup_windows.py now contains linux code (e.g. sudo....) - it was overwritten in 2022?
PCA9685.py
there is no explanation/description about the register's and their purposes, why setPWM()
has to write to the 4 LED0_*
registers in order to set the pwm signal, or what the setPWMFreq()
function is doing.
Is the file "server_ui.ui" also available ?
I am getting this error when trying to run this command I just set up the pi car and may have missed a step but can't seem to find out what it is
sudo python servo.py
Now servos will rotate to 90°.
If they have already been at 90°, nothing will be observed.
Please keep the program running when installing the servos.
After that, you can press ctrl-C to end the program.
Traceback (most recent call last):
File "/home/pi/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/servo.py", line 34, in
pwm=Servo()
File "/home/pi/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/servo.py", line 5, in init
self.PwmServo = PCA9685(0x40, debug=True)
File "/home/pi/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/PCA9685.py", line 32, in init
self.write(self.__MODE1, 0x00)
File "/home/pi/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/PCA9685.py", line 36, in write
self.bus.write_byte_data(self.address, reg, value)
OSError: [Errno 121] Remote I/O error
Client failed to start after a fresh git clone https://github.com/Freenove/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi
.
Expected: Client starts.
Instead: Client failed to start.
Output: ("LANG=C" is to force English language. The result is the same without, only in German language.)
~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Client$ LANG=C python Main.py
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
Traceback (most recent call last):
File "/home/sjuk/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Client/Main.py", line 823, in <module>
myshow=mywindow()
File "/home/sjuk/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Client/Main.py", line 29, in __init__
file = open('IP.txt', 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'IP.txt'
Root cause: There is a file called 'ip.txt' instead of 'IP.txt'. Note that linux is case sensitive.
Workaround: Rename ip.txt file to IP.txt without changing code.
Solution: Change code handling the case of missing text file.
Please convert to int() lines 800-801 in find_Face as follows to avoid error and program to stop:
delta_degree_x = int(4 * offset_x)
delta_degree_y = int(-4 * offset_y)
We have a version of CentOS Stream designed specifically for Automotive (with a RT kernel and other requirements for Automotive included). The distribution is called AutoSD:
https://sigs.centos.org/automotive/download_images/
Is there any reason this software shouldn't work on this distribution?
Just so I'm prepared for when it comes.
Hi,
I had a quick issue when trying to use the camera of the Freenove Rover that I assembled.
I have connected the camera to my raspberry pi on the rover and I created a custom camera script the code is shown below:
import cv2
import numpy as np
vid = cv2.VideoCapture(0)
ret, frame = cap.read()
frame = cv2.cvtColor(frame, cv.COLOR_BGR2RGB)
# If I run the bottom commands I get a saved black image
cv2.imwrite("test.jpeg", frame)
# If I run this instead, I get a very dark image that is very blurry with half of the image black and with pink lines running through it and a lot of time a dark screen too.
cv2.imshow("frame", frame)
cv2.waitKey(0)
I have peeled off the red tape from the camera. I was wondering if the Camera works well with opencv or if there is an alternative that I can use to create a custom camera script. Also, does seeing black images from the code above indicate a problem with software or hardware. I have tried to reconnect the camera band several times, but no change seems to happen with the results.
Thanks in advance,
Sarthak Jain
while assembling the car, when i connect the servos and open the server file on terminal & run the servo.py to set them up to 90 i get this message + error:
Now servos will rotate to 90°.
If they have already been at 90°, nothing will be observed.
Please keep the program running when installing the servos.
After that, you can press ctrl-C to end the program.
Traceback (most recent call last):
File "/home/baha/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/servo.py", line 34, in
pwm=Servo()
^^^^^^^
File "/home/baha/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/servo.py", line 5, in init
self.PwmServo = PCA9685(0x40, debug=True)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/baha/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server/PCA9685.py", line 29, in init
self.bus = smbus.SMBus(1)
^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory
im kinda noob with python and linux but im pretty sure i have the right directory open and i connected everything correctly so far
When battery voltage is too low and the program is terminated the buzzer keeps being active.
It is probably because GPIO state don't change automatically when program is terminated.
I am trying to run the server code, but when its run, it just beeps and won't stop even when i connect to it... any ideas?
I recently assembled my smart car and ran the both sudo python test.py Servo
and sudo python servo.py
and neither produces the expected results that are described in the manual. As soon as a signal is sent to the servos they begin rapidly twitching left and right and never reach a stable, stopped position. They continue twitching even after I execute a sudo shutdown -P now
to turn off the pi and they don't stop until I turn off the Load Switch on the board. Any advice or help would be appreciated.
When I try to execute the test program with sudo python test.py
, it says: FileNotFoundError: [Errno 2] No such file or directory
. It doesn't make sense, because all the files are there in the same place, but it can't find them. Full error code below:
Traceback (most recent call last): File "test.py", line 47, in <module> from Ultrasonic import * File "/home/Eli/Desktop/picar/Code/Server/Ultrasonic.py", line 2, in <module> from Motor import * File "/home/Eli/Desktop/picar/Code/Server/Motor.py", line 79, in <module> PWM=Motor() File "/home/Eli/Desktop/picar/Code/Server/Motor.py", line 5, in __init__ self.pwm = PCA9685(0x40, debug=True) File "/home/Eli/Desktop/picar/Code/Server/PCA9685.py", line 29, in __init__ self.bus = smbus.SMBus(1) FileNotFoundError: [Errno 2] No such file or directory
Are there any solutions? If there are, please let me know.
Hi,
The raspistill -o image.jpg does not work and also in the Client the camera does not work. But when I run libcamera-hello in the ssh then the camera image is captured and displayed in the VNC. Is there is a reason why this is the case?
regards,
Sarthak Jain
In the current version of the Tutorial PDF, on actual page 25 (labeled as page 21), under the heading "Write System to Micro SD Card", the word "toll" should be "tool" I believe. The entire sentence could be improved by changing to:
Then open "Raspberry Pi Imager", select "Choose OS", select "Use custom" from the bottom of the list, and select the image file that you just downloaded.
Expected: The car server would use all CPU cores in the required percentage.
Instead: The car server uses only one CPU core at 100% and ignore the other three idle cores.
Please see embedded screenshots below.
Car server is running: python main.py -t -n
=> Core 1 is constantly at 100%
Car server is stopped.
=> All cores are mostly idle.
Just assembled and tested the car. All systems work except for camera does not seem to connect. cables are inserted correctly. here is the error message I get. please let me know if you have run into this and can suggest what to try. It might just be a bad cable
sanid98@raspberrypi:~/freenove_4wd_smart_car_kit_for_raspberry_pi/Code/Server $ python camera.py
[0:35:53.446496540] [1363] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
2022-12-29T13:11:30.320Z | ERROR | Camera(s) not found (Do not forget to disable legacy camera with raspi-config).
2022-12-29T13:11:30.320Z | ERROR | Camera init sequence did not complete.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 123, in init
self._open_camera()
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 305, in _open_camera
if self._initialize_camera():
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 271, in _initialize_camera
raise RuntimeError("Camera(s) not found (Do not forget to disable legacy camera with raspi-config).")
RuntimeError: Camera(s) not found (Do not forget to disable legacy camera with raspi-config).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sanid98/freenove_4wd_smart_car_kit_for_raspberry_pi/Code/Server/camera.py", line 2, in
picam2 = Picamera2()
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 130, in init
raise RuntimeError("Camera init sequence did not complete.")
RuntimeError: Camera init sequence did not complete.
sanid98@raspberrypi:~/freenove_4wd_smart_car_kit_for_raspberry_pi/Code/Server $
Server is running on Raspberry Pi 3B+ with latest Raspberry Pi OS 64-Bit (headless).
Note, that it's the smart car with the mecanum wheels.
Steps to reproduce:
Output:
~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server $ sudo python test.py Motor
Program is starting ...
The car is moving forward
The car is going backwards
The car is turning left
The car is turning right
The car is moving left
The car is moving right
The car is moving diagonally to the left and forward
The car is moving diagonally to the right and backward
The car is moving diagonally to the right and forward
The car is moving diagonally to the left and backward
End of program
Solution:
I created a pull request to fix this issue at #47
I'm now at page 55 of the guide and it says "the car must be equipped with batteries", but i can't see why. Would it harm the device if i push both power switches now?
Hi,
I am trying to add 2 more ultrasonic sensors.
There is only one trigger pin, echo pin.
Is there a way to add 2 more sensors to the bot?
Thanks in advance for your help.
Hi, some pratical problems on the Tutorial.pdf and components provided for the assembling.
Page 72, step 9. Are you sure that M2.58 is the right size for the screw? The holes in the white plastic are too small, almost impossible to let go through the M2.58 screws.
At the end, it took some efforts to let the screws go through, but really, M2*8 or even smaller screws would be great.
The folder Application/"Windows" is incorrectly spelled: windwos. :-) Nothing serious, but still you might want to fix this.
I recently assembled my smart car and ran the both sudo python test.py Servo
and sudo python servo.pyand neither produces the expected results that are described in the manual. As soon as a signal is sent to the servos they begin rapidly twitching left and right and never reach a stable, stopped position. They continue twitching even after I execute a
sudo shutdown -P now` to turn off the pi and they don't stop until I turn off the Load Switch on the board. Any advice of help would be appreciated.
The whole system lost power when turn left/right
I tested with different battery and they are panasonic NCR.
The photoresistor voltage on the left is 1.57V
The photoresistor voltage on the right is 1.6V
The battery voltage is 8.16V
pi@raspberrypi:~/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi/Code/Server $ sudo python test.py Motor
Program is starting ...
The car is moving forward
The car is going backwards
The car is turning left
Each time turn left it die. Even I remove the 2 connector to the motor
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.