Samples for robotics, node, python, and bash

Overview

RaspberryPi Robot Project

robot Technologies:
raspberrypi bash python node i2c
Render:
sketchup

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 inexpensive bare metal programming technologies. Future possibilities:

▶️ 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 / added Servo armature

  • servos: (4) Servo Motor, PN: MG995
  • control: PCA9685 16 Channel 12-Bit PWM Servo Motor Driver
  • 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)
  • steppers: (4) Stepper Motor 28BYJ48 🔸 (later removed)
  • control: (4) ULN2003 Driver Board 🔸 (later removed)

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

robot_3_ISO

Originally, the Steppers were used because they had an optimal fit & flexibility.
However, they were not scalable; there were too many GPIO leads needed.
A RPI 40 pin J8 form factor required a different addressing solution.
Note that some websites suggest RPI timing is not reliable enough many 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

raspberrypi os base: Raspbian, Bash, Putty, WinSCP, GitHub...
python control: Python & IDLE for DC motor PWM control
node server: NodeJS, Express, (JavaScript, HTML, CSS) for view
sketchup drawing: LibreCad 2D CAD, Sketchup 3D

The L293D Controller pinout diagram. L293D_Controller


xtra

github image viewer
stackoverflow github html discussion

HTML5 text folding
CSS&JS folding

markdown guide
collapsible markdown

Owner
Martin George
Senior Java Application Developer
Martin George
Lego Mindstorms EV3 and Lego Spike Prime

Lego Mindstorms EV3 and Lego Spike Prime What is FLL? The FIRST LEGO League Challenge Robotics Tournament challenges students from 9 to 16 years old t

Danimar Campos da Costa 1 Nov 14, 2021
BoneIO is a compact IO controller for home automation.

Project description BoneIO is a compact IO controller for home automation. Main features of this controller are Compact size (27x11x6)cm - 15 DIN modu

Maciej Krasuski 120 Nov 30, 2022
An arduino/ESP project that can play back G-Force data previously recorded

An arduino/ESP project that can play back G-Force data previously recorded

7 Apr 12, 2022
Red Light Green Light Robot

Red Light Green Light Robot The primary problem addressed by our project is robotic follower behavior i.e. maintaining distance from a moving target.

Will Romano 2 Nov 20, 2021
Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API.

Hildebrand Glow (DCC) Integration Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API. T

Aniket 153 Dec 30, 2022
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 06, 2022
Python Wrapper for Homeassistant's REST API

HomeassistantAPI Python Wrapper for Homeassistant's REST API Please ⭐️ the repo if you find this project useful or cool! Here is a quick example. from

Nate 29 Dec 31, 2022
Activate Numpad inside the touchpad with top right corner switch or F8 key

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

Mohamed Badaoui 230 Jan 08, 2023
Home Assistant custom component to help ev-chargers stay below peak hourly energy levels.

Peaqev ev-charging Peaqev ev-charging is an attempt of charging an ev without breaching a preset monthly max-peak energy level. In order for this inte

Magnus Eldén 35 Dec 24, 2022
OctoPrint is the snappy web interface for your 3D printer!

OctoPrint OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero Genera

OctoPrint 7.1k Jan 03, 2023
CircuitPython Driver for Adafruit 24LC32 I2C EEPROM Breakout 32Kbit / 4 KB

Introduction CircuitPython driver for Adafruit 24LC32 I2C EEPROM Breakout Dependencies This driver depends on: Adafruit CircuitPython Bus Device Regis

foamyguy 0 Dec 20, 2021
Unofficial Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands

Unofficial Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands ⚠️ This documentation is unofficial and is not

James 106 Dec 31, 2022
A IC scan test interface for Arduino

ICSCAN_ARDUINO Prerequisites Python 3.6 or higher arduino uno or nano what is this It is a bitstream tranceiver to test IC chip It sends bitstream to

Nifty Chips Laboratory 0 Sep 15, 2022
A simple non-official manager interface I'm using for my Raspberry Pis.

My Raspberry Pi Manager Overview I have two Raspberry Pi 4 Model B devices that I hooked up to my two TVs (one in my bedroom and the other in my new g

Christian Deacon 21 Jan 04, 2023
Authentication provider using Synology DSM users for Home Assistant

Authentication provider using Synology DSM users for Home Assistant The Synology authentication provider lets you authenticate using the users in your

Sam Debruyn 5 Oct 06, 2022
For use with an 8-bit parallel TFT touchscreen using micropython

ILI9341-parallel-TFT-driver-for-micropython For use with an 8-bit parallel TFT touchscreen using micropython. Many thanks to prenticedavid and his MCU

3 Aug 02, 2022
Tool to create 3D printable terrain with integrated path/road part files (Single material 3d printer)

BACKGROUND This has been an ongoing project of mine for a few months now. I run trails a lot and original the goal was to create a function to combine

9 Apr 26, 2022
Python Keylogger for Linux

A keylogger is a program that records your keystrokes, this program saves them in a .txt file on your local computer and, after 30 seconds (or as long as you want), it will close the .txt file and se

Darío Mazzitelli 4 Jul 31, 2021
Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment

Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment. On row of LEDs shows the cost of the hour, the other row the co

Johan Jonk Stenström 3 Sep 08, 2022
Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.

Scapy Scapy is a powerful Python-based interactive packet manipulation program and library. It is able to forge or decode packets of a wide number of

SecDev 8.3k Jan 08, 2023