Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/csulb-cecs-senior-design/motors
https://github.com/csulb-cecs-senior-design/motors
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/csulb-cecs-senior-design/motors
- Owner: CSULB-CECS-Senior-Design
- Created: 2023-12-05T03:46:12.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-04T02:22:49.000Z (about 2 months ago)
- Last Synced: 2024-11-04T03:20:13.334Z (about 2 months ago)
- Language: C
- Size: 891 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# R2-ARC Project
This repository focuses on the R2 ARC project's development, highlighting the integration of motor control, SPI communication, and IR sensors to aid autonomous navigation capabilities
## Components
- **Motors**: 2x 12V Geartisian DC Motors (20 RPM)
- **Motor Driver**: L298N
- **Sensors**: 2x Sharp IR GP2Y0A21YK0F
- **Microcontrollers**: TM4C123GH6PM (as SPI slave)
- **Single Board Computers**: Raspberry Pi (as SPI master)## Installation
Keil uVision 5 Setup
To develop and upload the firmware for the TM4C microcontroller, follow these steps:1. Download and Install Keil uVision 5:
Download Keil uVision 5 from Keil's official website.
Follow the installation instructions provided on the website.2. Open the Project:
Launch Keil uVision 5.
Open the project file located in the R2-ARC repository
cd r2-arc/TM4C_Firmware3. Compile the Project:
In Keil uVision 5, compile the project to ensure there are no errors.
4. Upload the Firmware:Connect your TM4C microcontroller to your computer.
Use Keil uVision 5 to upload the compiled firmware to the TM4C microcontroller.## Features
- **Motor Movement Control**: Implemented on TM4C microcontroller to handle precise movements.
- **SPI Communication**: Setup between TM4C (slave) and the main SBC (Raspberry Pi as master) to transmit motor commands and sensor data using unsigned 16-bit integers.
- **IR Sensors**: Utilized to enhance machine vision, aiding in autonomous navigation. Sensor data are transmitted to the main SBC via SPI.## Branches
- **main**: Core codebase for the TM4C microcontroller, handling motor movements, SPI communication setup, and IR sensor integration.
- **Raspberry_Pi_Motor_Control**: Implementation of DC motor movements on the Raspberry Pi.
- **SPI_Communication_Slave_TM4C**: Branch for verifying TM4C's functionality as an SPI slave.
- **SPI_Communication_Master_TM4C**: Tests and setups for TM4C acting as an SPI master.
- **SPI_Communication_RaspberryPi_Master**: Implementation of SPI Master modules, initially in C++ and later in Python.
- **SensorTesting**: Branch dedicated to testing and calibrating IR sensors for optimized autonomous navigation.## Contact
Contact Jesus perez for any questions at [email protected]