raspberryPi

Samples for robotics, node, python, and bash.

robotics

intent:

Currently designed to act as programmable sentry.

? control	: RPI_0w using NodeJs server to access GPIO Python code
? movement	: 4 MG995 Servos, 2 subMicro Grippers & HS55 Servos, PCA9685 I2C Controller
? sensing	: RPI 2.1 Camera, Insiq Bluetooth Speaker, Microphone MI-305
? travel	: Tamiya Track, Double Gearbox, 2 F130 DC Motors, L293D
? added	: 10 mm color LED, USB mini microphone
? power	: rechargeable TL-PB 10400 & TL-PB 5200 mAh Powerbanks

Explores various bare metal programming technologies. Future plans include:

▶️ completion of the I2C servo operation
▶️ VAC (Voice Activated Commands) for more autonomous response
▶️ simple AI NLP for generalized communication
▶️ ESA AstroPi SenseHat for environment detection

The descriptions below show the most recent developments first.

robot 3 / replaced Steppers with Servos

  • control: PCA9685 16 Channel 12-Bit PWM Servo Motor Driver
  • servos: (4) Servo Motor, PN: MG995
  • speaker: USB Bluetooth Speaker Insiq PN: 4326595940 ? (upgrades BT3500SLV)
  • servos: (2) Hitec subMicro Servo motor, PN: HS55 ? (upgrades HS300)
  • grippers: (2) Actobotics subMicro Gripper Kit, PN: 637104 ? (upgrades "A" Grippers)

The SketchUp 3D drawing required only new Flange & Gripper drawings.
All the other components were accessible online.


robot_3_ISO


  • steppers: (4) Stepper Motor 28BYJ48 ? (later removed)

  • control: (4) ULN2003 Driver Board ? (later removed)

The Steppers were compact, but required too many GPIO leads for a RPI 40 pin J8 form factor.
Some website discussions implied that the RPI timing is not reliable enough for many I2C protocol calls.


robot_3_steppers


robot 2 / added camera, grippers

  • camera: RPi Camera v2.1 with 8 Megapixel & 1080p resolution, PN: 2.1
  • speaker: GearHead Bluetooth Speaker, PN: BT3500SLV
  • microphone: USB mini microphone, PN: MI-305
  • light: 10 mm color LED
  • battery: TPLink PowerBank 10400 mAh, PN: TP-PB10400 ? (upgrades 4 AA batteries)
  • grippers: (2) Actobotics Horizontal Gripper Kit "A", PN: 637094
  • servos: (2) HiTec Servo motor, PN: HS300, with C24T or H25T spline

The Grippers and Speaker worked, but proved to be clunky.
robot_2

The LibreCad 2D CAD representation with BOM.
robot_2_CAD


robot 1 / travel control via SmartPhone

  • computer: RPi0WF 1.1 SOC with BCM2835 cpu
  • control: L293D Controller DriveShield
  • gearbox: Tamiya Double Motorized Gearbox, PN: 70168 with (2) F130 DC Motors
  • chassis: Tamiya Tracked Vehicle Chassis, PN: 70108-1500
  • battery: TPLink PowerBank 5200 mAh, PN: TP-PB5200 (for RPi)
  • battery: (4) AA batteries in case (for motors)

The RPi operates the L293D thru GPIO ports using Python PWM code signaled by a NodeJS server.
robot_1

software

os base: Raspbian, Bash, Putty, WinSCP, GitHub...

control: Python & IDLE for DC motor PWM control

server: NodeJS, Express (JavaScript, HTML, CSS) for view

drawing: LibreCad 2D CAD, Sketchup 3D

The L293D Controller pinout diagram.
l293d

GitHub

https://github.com/mamgeorge/raspberryPi