Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Python Robotics Projects

You're reading from  Python Robotics Projects

Product type Book
Published in May 2018
Publisher Packt
ISBN-13 9781788832922
Pages 340 pages
Edition 1st Edition
Languages
Concepts
Author (1):
Prof. Diwakar Vaish Prof. Diwakar Vaish
Profile icon Prof. Diwakar Vaish
Toc

Table of Contents (24) Chapters close

Title Page
Packt Upsell
Contributors
Preface
1. Robotics 101 2. Using GPIOs as Input 3. Making a Gardener Robot 4. Basics of Motors 5. Making a Pet Feeding Robot 6. Bluetooth-Controlled Robotic Car 7. Sensor Interface for Obstacle Avoidance 8. Making Your Own Area Scanner 9. Vision Processing 10. Making a Guard Robot 11. Basic Switching 12. Recognizing Humans with Jarvis 13. Making Jarvis IoT Enabled 14. Giving Voice to Jarvis 15. Gesture Recognition 16. Machine Learning 17. Gesture-Controlled Robotic Vehicle 18. Making a Robotic Arm 1. Other Books You May Enjoy Index

Perfecting motion


Were you able to find any flaws in the previous code? They are not hard to find; the code works brilliantly when it's only a single person in the room. If this is installed somewhere where multiple people are coming and going, then it might be challenging. This is because whenever a person moves outside, the light will be turned off.

So now that the problem is evident, it's time to make the code even more better. To do this, the hardware will remain exactly the same; we simply need to make the code smarter. Let's see how we can do that:

import GPIO library
   import RPi.GPIO as GPIO
   import time
   import time
   import Adafruit_ADS1x15
   adc0 = Adafruit_ADS1x15.ADS1115()
GAIN = 1
 adc0.start_adc(0, gain=GAIN)
adc1.start_adc(1, gain=GAIN)
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
PCount = 0
while True:
   F_value = adc0.get_last_result()
   F1 = (1.0 / (F_value / 13.15)) - 0.35
   time.sleep(0.1)
   F_value = adc0.get_last_result()
   F2 = (1.0 / (F_value / 13.15...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at ₹800/month. Cancel anytime}