{"id":13893823,"url":"https://github.com/RobTillaart/RADAR","last_synced_at":"2025-07-17T08:30:59.362Z","repository":{"id":45254487,"uuid":"277655419","full_name":"RobTillaart/RADAR","owner":"RobTillaart","description":"Arduino library for a pan tilt radar. ","archived":false,"fork":false,"pushed_at":"2024-04-13T09:11:28.000Z","size":35,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T22:03:56.793Z","etag":null,"topics":["arduino","pan","radar","tilt"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobTillaart.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"RobTillaart","custom":"https://www.paypal.me/robtillaart"}},"created_at":"2020-07-06T21:46:28.000Z","updated_at":"2025-02-19T14:50:13.000Z","dependencies_parsed_at":"2024-04-13T10:27:08.164Z","dependency_job_id":"f2802845-651f-42f4-97df-f1d1b505c2ff","html_url":"https://github.com/RobTillaart/RADAR","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/RobTillaart/RADAR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobTillaart%2FRADAR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobTillaart%2FRADAR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobTillaart%2FRADAR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobTillaart%2FRADAR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobTillaart","download_url":"https://codeload.github.com/RobTillaart/RADAR/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobTillaart%2FRADAR/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265585279,"owners_count":23792712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","pan","radar","tilt"],"created_at":"2024-08-06T18:01:17.898Z","updated_at":"2025-07-17T08:30:59.083Z","avatar_url":"https://github.com/RobTillaart.png","language":"C++","funding_links":["https://github.com/sponsors/RobTillaart","https://www.paypal.me/robtillaart"],"categories":["C++"],"sub_categories":[],"readme":"\n[![Arduino CI](https://github.com/RobTillaart/Radar/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)\n[![Arduino-lint](https://github.com/RobTillaart/Radar/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/Radar/actions/workflows/arduino-lint.yml)\n[![JSON check](https://github.com/RobTillaart/Radar/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/Radar/actions/workflows/jsoncheck.yml)\n[![GitHub issues](https://img.shields.io/github/issues/RobTillaart/Radar.svg)](https://github.com/RobTillaart/Radar/issues)\n\n[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/Radar/blob/master/LICENSE)\n[![GitHub release](https://img.shields.io/github/release/RobTillaart/Radar.svg?maxAge=3600)](https://github.com/RobTillaart/Radar/releases)\n[![PlatformIO Registry](https://badges.registry.platformio.org/packages/robtillaart/library/Radar.svg)](https://registry.platformio.org/libraries/robtillaart/Radar)\n\n\n# Radar\n\nArduino library for a pan tilt radar based upon 2 servo's.\n\n\n## Warning\n\n**WARNING: not extensively tested**\nThere are still a lot of things to be tested.  \nThe example code is now working to show the concept.\n\n\n## Description\n\nRadar is a concept library (not elaborated) that implements a Ping))) based Radar\nwith the use of two pan and tilt servo's. \nIt was written after a question on the Arduino forum but never finished or tested it. \nStill, it has some interesting concepts with respect to how to determine the position \nof pan/tilt while the movements are in progress. \n\nThe idea is that one knows how fast the pan and tilt servos are working in degrees per second.\nFrom that number and the start moment one can determine approximately its position. \n\nGiven its position while moving is interesting for radar purposes as one can determine e.g.\nin which direction a ping is given and therefore which distance belongs to which pair of angles.\n\nNote: no active development.\n\n\n## Interface\n\n```cpp\n#include \"radar.h\"\n```\n\n### Constructor and config\n\n- **RADAR(pan, tilt)** define pan / tilt pins of the radar. These should be PWM pins.\n\nNote: no valid range checking or negative value check.\n- **void setPanPerSecond(float pps)**\n- **float getPanPerSecond()**\n- **void setTiltPerSecond(float tps)**\n- **float getTiltPerSecond()**\n\n\n### basic moves\n\n- **void gotoPan(const int16_t pan)**\n- **int16_t getPan()**\n- **void  gotoTilt(const int16_t tilt)**\n- **int16_t getTilt()**\n- **void gotoPanTilt(const int16_t pan, const int16_t tilt)**\n\n\n### memory positions - store / recall\n\n- **uint8_t getMaxPositions()**\n- **bool setPosition(const uint8_t index, const int16_t pan, const int16_t tilt)**\n- **bool getPosition(const uint8_t index, int16_t \u0026 pan, int16_t \u0026 tilt)**\n- **bool gotoPosition(const uint8_t index)**\n- **void setHomePosition(const int16_t pan, const int16_t tilt)**\n- **void gotoHomePosition()**\n\n\n### feedback on position\n\n- **bool isMoving()**\n- **bool isPanMoving()**\n- **bool isTiltMoving()**\n\n\n## Operation\n\nSee examples\n\n\n## Future\n\n#### Must\n\n- build the thing when time permits!\n- improve documentation.\n\n#### Should\n\n- test more (e.g. continuous servo versus 180 servo).\n- add sketches.\n- remember lastPing (angle pan tilt).\n- check TODO's in code.\n- move code from .h to .cpp\n\n#### Could\n\n- single servo radar (Pan only) as derived class.\n- dynamic allocation of position arrays.\n- store positions in EEPROM/FRAM for reboot?\n\n#### Wont\n\n\n## Support\n\nIf you appreciate my libraries, you can support the development and maintenance.\nImprove the quality of the libraries by providing issues and Pull Requests, or\ndonate through PayPal or GitHub sponsors.\n\nThank you,\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRobTillaart%2FRADAR","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRobTillaart%2FRADAR","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRobTillaart%2FRADAR/lists"}