Initial commit

This commit is contained in:
Florent
2024-03-29 15:02:45 +01:00
parent 56a78e524d
commit c99e94ac37
11 changed files with 284 additions and 0 deletions

6
Writerside/c.list Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE categories
SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd">
<categories>
<category id="wrs" name="Writerside documentation" order="1"/>
</categories>

18
Writerside/gu.tree Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE instance-profile
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
<instance-profile id="gu"
name="Guide d'utilisation"
start-page="starter-topic.md">
<toc-element topic="starter-topic.md"/>
<toc-element topic="Serge.md">
<toc-element topic="Odométrie.md"/>
<toc-element topic="Lidar.md"/>
<toc-element topic="Actionneurs.md"/>
</toc-element>
<toc-element topic="Pami.md">
<toc-element topic="Montage.md"/>
</toc-element>
</instance-profile>

View File

@@ -0,0 +1,3 @@
# Actionneurs
Start typing here...

View File

@@ -0,0 +1,3 @@
# Lidar
Start typing here...

View File

@@ -0,0 +1,20 @@
# Montage
## Chassis
Commencer par imprimé en 3D le chassis qui est composée de deux pièces qui s'emboitent.
- [Base](lien fichier)
- [Couvercle](lien fichier)
## Capteurs lasers
Par la suite monter les capteurs lasers à l'avant (face avec deux trous pour les capteurs lasers),
avec les broches vers le milieu et le capteur vers l'extérieur.
## Arduino
## Moteurs pas à pas
## Batterie
## Bouton d'arrêt d'urgence
##

View File

@@ -0,0 +1,3 @@
# Odométrie
Start typing here...

136
Writerside/topics/Pami.md Normal file
View File

@@ -0,0 +1,136 @@
# Pixel
## Objectif
Pixel est un PAMI qui a donc pour objectif, dans les 10 dernières secondes, d'aller jusqu'à une zone et toucher
une plante dans cette zone une fois arrêté.
## Matèriel
{collapsible="true" default-state="expanded"}
- [Arduino uno](https://store.arduino.cc/products/arduino-uno-rev3)
- [CNC shield V3](https://www.amazon.fr/dExtension-Protection-Dissipateurs-Chaleur-Imprimante/dp/B07NP1DC65/ref=sr_1_6?dib=eyJ2IjoiMSJ9.JI-ma4M3AlfmZl1BozwoTpeIndYTV1RwLI0M08S6BJZL-oFJlHtbZtLUkrEXQXpujV70jkBJ24QwKIJ6h_SApP-npLF2ZLboF3EbqUKFi4al6-yxqHa8ix2sQrp6haEfEsgB0scgwkNbuo0Y2uru13x8-fIP2lwXuxIRafkffpbNBj7tc0G9vYUFDGlZ2o6p9Q-oFG-96sTmfJfE4u-SKVASjABScizKRj-TkTW8luvWboypEQIb3Ouw8uRzp2q9p2ISasbk4ZtwR2IAnndcURcSRFkZBL3iMTbXCG4SIX8.1J5rZ6CAHRMVCCVTgxMIw92O-CKN1PB2_18OYL9-wEo&dib_tag=se&keywords=cnc+shield&qid=1711545332&sr=8-6)
- [Moteur pas à pas * 2](https://www.amazon.fr/STEPPERONLINE-bipolaire-connecteur-imprimante-fraiseuse/dp/B0B38GX54H/ref=sr_1_4?__mk_fr_FR=ÅMÅŽÕÑ&crid=2Y7V0JYZLHNYN&dib=eyJ2IjoiMSJ9.pU8qhsS9CN5zYAeTOHgus2uSvLfbXPUMelD5i5HgQ8mrZ9WrLHugLzgYz1a0kqPcFaqqA4fibf6BnxSplcy7X2N445OwRl0098Cxr2KhY_dZA6FXLx5KUji1pSONjkGjDMW6RcvSgHOAgdcs27w5BEKTTi-lSprvZei7kczmnCJCr_91Gu3z_ojy6J8B5KsShZ-VMcimonv6BAdFmC4Hz6v2Pn5RRzbgEF-awp57LFgskZMkFTbdCdDZwIjSf2Ve3G6PZiEFTEs5U-Tzo_M_0aqSEULkJqpIKevZVXoLIWk.6h_q4gETAHeYGQSxt964emzU45oSIo-Bux3VG8vK9BY&dib_tag=se&keywords=Moteur+pas+a+pas&qid=1711545588&s=industrial&sprefix=moteur+pas+a+pas%2Cindustrial%2C94&sr=1-4)
- [Capteur laser * 2](https://www.amazon.fr/AZDelivery-VL53L0X-Capteur-distance-incluant/dp/B086V37JJ7/ref=sr_1_9?dib=eyJ2IjoiMSJ9.QXns_kdhCZmsBcYOFdizbDvA7zSZ_D9yaBtkJX0Ga87xd-Otask3YcUaYQn-D0eiZj9i5pS_fr2sbggtlC20ksBOf38W7ouQcRNTKGCD9GeOdzqVRPeIo_zj4QzIEXBcS2EMcM3hYyW9PD02dgZzSQ2eAagE9c68nUUD9nQ-aK16e_Ogh8kmNFXSW9gAlrcQxuZ5gt0GYlq7muIWyC_PU8CSIfvZxt3HEvOqaZISWC9gnX--5aO6zW1A-_cUWQ9xkf5SnuGhMaZc2644DacgZXyTy1UyhtbvETO-oYlywuc.SrYnuIBZr82N3FJzMM4KCfcinZaC78XeTsFftJqsSpg&dib_tag=se&keywords=Capteur+laser&qid=1711545624&sr=8-9)
- [Batterie Lipo 3S](lien batterie)
- [Bouton d'arrêt d'urgence](https://www.amazon.fr/Larret-durgence-Poussoir-Capuchon-Champignon/dp/B07RGQQTW8/ref=sr_1_12?__mk_fr_FR=ÅMÅŽÕÑ&crid=2OVF0E40NTHRC&dib=eyJ2IjoiMSJ9.oMd288voXmAfcNkFoPVqN8yayhHZ_JEXt8cUfmya2E9XZ9i3udjK0IHC6DeyZzdjGWWzUAVxiPDkPDrNntZVGDJ6in03uUXDkFXrk780uat5tKwQuj86BdigBSeRWAhoUEhx7ZnMCCoVJPrePwVLoMFQYKUWVOEQEnVQWdYVuS8P4AR58V4WQdbHZA-XsinvRF-_ybyPM4VSdbgkk7ZJb--0hciNIL6vu3teD62YoAEBDLs3rIwWwqm2w5QJ7Dm17uPyuJp5V-u0XXYCAtfidCDOER-PFhjYwOWNQ1di420.vY_SfWlzo0l8sp1uT0ZDFczzR4wlpovj7BgRyBn8CKk&dib_tag=se&keywords=Bouton+d%27arret+d%27urgence&qid=1711545690&sprefix=bouton+d%27arret+d%27urgence%2Caps%2C106&sr=8-12)
- [Tirette magnétique](lien tirette)
- [Chassis en impression 3D](lien fichier)
- [Switch](lien produit)
## Fonctionnement
{collapsible="true" default-state="expanded"}
### Detection contacte plante
Le switch permet de détecter lorsque le robot pousse sur une plante contre un mur
et donc de s'arrêter au contact d'une plante dans la zone d'arrivée.
### Detection d'adversaire
Les capteurs lasers permettent de détecter un robot adverse approchant.
Par ailleurs, le switch permet de détecter un contact avec un robot adverse.
### Direction
Pixel suit un mur, à une distance fixe, à l'aide d'un capteur laser afin d'aller à une zone d'arrivée.
## Code
{collapsible="true" default-state="collapsed"}
<tabs>
<tab title="Capteurs">
Permet de contrôler deux capteurs lasers via un bus I2C en, dans un premier temps, attribuant une adresse pour
l'I2C différente pour chaque capteur laser. Par la suite, il récupère en permanence la distance en mm que renvoient les
capteurs et l'envoie dans le serial suivi du pin xshut associé au capteur (séparer par '|'). Chaque capteur est séparé
par une tabulation dans le serial.
```C
#include <Wire.h>
#include <VL53L0X.h>
// The number of sensors in your system.
const uint8_t sensorCount = 2;
// The Arduino pin connected to the XSHUT pin of each sensor.
const uint8_t xshutPins[sensorCount] = { 4, 5 };
VL53L0X sensors[sensorCount];
void setup()
{
while (!Serial) {}
Serial.begin(9600);
Wire.begin();
Wire.setClock(400000); // use 400 kHz I2C
// Disable/reset all sensors by driving their XSHUT pins low.
for (uint8_t i = 0; i < sensorCount; i++)
{
pinMode(xshutPins[i], OUTPUT);
digitalWrite(xshutPins[i], LOW);
}
// Enable, initialize, and start each sensor, one by one.
for (uint8_t i = 0; i < sensorCount; i++)
{
// Stop driving this sensor's XSHUT low. This should allow the carrier
// board to pull it high. (We do NOT want to drive XSHUT high since it is
// not level shifted.) Then wait a bit for the sensor to start up.
pinMode(xshutPins[i], INPUT);
delay(10);
sensors[i].setTimeout(500);
if (!sensors[i].init())
{
Serial.print("Failed to detect and initialize sensor ");
Serial.println(i);
while (1);
}
// Each sensor must have its address changed to a unique value other than
// the default of 0x29 (except for the last one, which could be left at
// the default). To make it simple, we'll just count up from 0x2A.
sensors[i].setAddress(0x2A + i);
sensors[i].startContinuous(50);
}
}
void loop()
{
for (uint8_t i = 0; i < sensorCount; i++)
{
Serial.print(sensors[i].readRangeSingleMillimeters());
Serial.print(" | ");
Serial.print(xshutPins[i]);
if (sensors[i].timeoutOccurred()) { Serial.print(" TIMEOUT"); }
Serial.print('\t');
}
Serial.println();
}
```
{collapsible="true"}
</tab>
<tab title="Moteurs">
Permet de contrôler les deux moteurs en même temps afin de test si le cablage est valide.
```C
Code moteurs
```
{collapsible="true"}
</tab>
<tab title="Switch">
Permet de détecter l'appuie sur le switch.
```C
Code Switch
```
{collapsible="true"}
</tab>
<tab title="Code Complet">
Code complet de Pixel qui implémente la détection des adversaires grâce aux capteurs et au switch, le suivi des murs
grâce aux capteurs et aux moteurs ainsi que la détection de pots grâce au switch. Le tout afin de s'arrêter dans la zone et au contact d'une plante.
```C
Code Complet
```
{collapsible="true"}
</tab>
</tabs>

View File

@@ -0,0 +1,3 @@
# Serge
Start typing here...

View File

@@ -0,0 +1,79 @@
# About Guide d'utilisation
<!--Writerside adds this topic when you create a new documentation project.
You can use it as a sandbox to play with Writerside features, and remove it from the TOC when you don't need it anymore.-->
## Add new topics
You can create empty topics, or choose a template for different types of content that contains some boilerplate structure to help you get started:
![Create new topic options](new_topic_options.png){ width=290 }{border-effect=line}
## Write content
%product% supports two types of markup: Markdown and XML.
When you create a new help article, you can choose between two topic types, but this doesn't mean you have to stick to a single format.
You can author content in Markdown and extend it with semantic attributes or inject entire XML elements.
## Inject XML
For example, this is how you inject a procedure:
<procedure title="Inject a procedure" id="inject-a-procedure">
<step>
<p>Start typing and select a procedure type from the completion suggestions:</p>
<img src="completion_procedure.png" alt="completion suggestions for procedure" border-effect="line"/>
</step>
<step>
<p>Press <shortcut>Tab</shortcut> or <shortcut>Enter</shortcut> to insert the markup.</p>
</step>
</procedure>
## Add interactive elements
### Tabs
To add switchable content, you can make use of tabs (inject them by starting to type `tab` on a new line):
<tabs>
<tab title="Markdown">
<code-block lang="plain text">![Alt Text](new_topic_options.png){ width=450 }</code-block>
</tab>
<tab title="Semantic markup">
<code-block lang="xml">
<![CDATA[<img src="new_topic_options.png" alt="Alt text" width="450px"/>]]></code-block>
</tab>
</tabs>
### Collapsible blocks
Apart from injecting entire XML elements, you can use attributes to configure the behavior of certain elements.
For example, you can collapse a chapter that contains non-essential information:
#### Supplementary info {collapsible="true"}
Content under a collapsible header will be collapsed by default,
but you can modify the behavior by adding the following attribute:
`default-state="expanded"`
### Convert selection to XML
If you need to extend an element with more functions, you can convert selected content from Markdown to semantic markup.
For example, if you want to merge cells in a table, it's much easier to convert it to XML than do this in Markdown.
Position the caret anywhere in the table and press <shortcut>Alt+Enter</shortcut>:
<img src="convert_table_to_xml.png" alt="Convert table to XML" width="706" border-effect="line"/>
## Feedback and support
Please report any issues, usability improvements, or feature requests to our
<a href="https://youtrack.jetbrains.com/newIssue?project=WRS">YouTrack project</a>
(you will need to register).
You are welcome to join our
<a href="https://jb.gg/WRS_Slack">public Slack workspace</a>.
Before you do, please read our [Code of conduct](https://plugins.jetbrains.com/plugin/20158-writerside/docs/writerside-code-of-conduct.html).
We assume that youve read and acknowledged it before joining.
You can also always email us at [writerside@jetbrains.com](mailto:writerside@jetbrains.com).
<seealso>
<category ref="wrs">
<a href="https://plugins.jetbrains.com/plugin/20158-writerside/docs/markup-reference.html">Markup reference</a>
<a href="https://plugins.jetbrains.com/plugin/20158-writerside/docs/manage-table-of-contents.html">Reorder topics in the TOC</a>
<a href="https://plugins.jetbrains.com/plugin/20158-writerside/docs/local-build.html">Build and publish</a>
<a href="https://plugins.jetbrains.com/plugin/20158-writerside/docs/configure-search.html">Configure Search</a>
</category>
</seealso>

5
Writerside/v.list Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
<vars>
<var name="product" value="Writerside"/>
</vars>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ihp SYSTEM "https://resources.jetbrains.com/writerside/1.0/ihp.dtd">
<ihp version="2.0">
<topics dir="topics" web-path="topics"/>
<images dir="images" web-path="images"/>
<instance src="gu.tree" web-path="/gu/" version="1.0"/>
</ihp>