Skip to main content

Étapes

Étapes à suivre pour refaire le projet (conception, construction, réalisation, manipulation...)

Étape 1 : Arduino + électronique

Dans cette étape nous allons réaliser le circuit électronique, puis compiler et flasher le code sur l'Arduino.

Prérequis

Les prérequis logiciels et matériels de la première étape.

Logiciels

Matériel

  • Arduino nano 33 BLE (simple ou Sense Rev2)
  • PC

Circuit électronique

Le circuit est extrêmement simple. Il est représenté dans le README du dépôt de code : https://gitlab.lip6.fr/ene5ai/arduino-ptt

        +-----------------+--+--+
        |    _________    |  |  |
        |   | Arduino |   o  o  o
        |   |         |  /  /  /
        +----+3V3     |   |  |  |
            |         |   |  |  |
  +----+    |         |   |  |  |
 _|_   |    |       D4----+--|--|--10kohm--+
|   |  |    |       D3-------+--|--10kohm--+
| - |  |    |       D2----------+--10kohm--+
|   |  |    |         |                    |
|   |  |    |      GND---------------------+
| + |  +-----GND      |
|_ _|   +----VIN      |
  |     |   |_________|
  +-----+

Code Arduino

La télécommande est prévue pour fonctionner avec la carte "Nano 33 BLE", ou bien "Nano 33 BLE Sense Rev2", car celles-ci sont de taille réduite et intègrent une puce Bluetooth supportant le BLE. Le code peut donc être compilé pour l'une ou l'autre de ces cartes. S'il s'agit de la deuxième, des fonctionnalités supplémentaires sont activées : les données de trois de ses capteurs (pression atmosphérique, température et humidité) sont également lisibles via le serveur GATT.

# Install arduino:mbed_nano core:
arduino-cli core install arduino:mbed_nano

# Install required library:
arduino-cli lib install ArduinoBLE

# Install optional libraries for the sense rev2 board:
arduino-cli lib install Arduino_LPS22HB Arduino_HS300x

# Build for nano33ble board:
make nano33ble

# Upload to nano33ble board:
make upload

# If your board is connected to a different port tha /dev/ttyACM0
# You can list connected boards to find the port, for example here it is /dev/ttyACM0:
#  Port         Protocol Type              Board Name  FQBN            Core
#  /dev/ttyACM0 serial   Serial Port (USB) Arduino Uno arduino:avr:uno arduino:avr
arduino-cli board list

# Then set the PORT environment variable when uploading
PORT=/dev/ttyACM0 make upload

# On Linux, the serial ports are probably not writable by default.
# On Debian and derivatives, the easiest way to get access to them
# is to add your user to the `dialout` group, then log out/in.
# See: <https://wiki.debian.org/SystemGroups#Other_System_Groups>
sudo adduser $USER dialout

Étape 2 : Application Android

L'application android utilisée est assez spécifique à notre cas d'usage, mais il est possible de l'adapter à d'autres usages : https://gitlab.lip6.fr/ene5ai/android-bt

Prérequis

  • JDK: >= 11, <= 19
  • Android platform: 31
  • Android build tools: 30.0.3
  • Make

Sur Debian ou un dérivé, il est possible d'installer et configurer tous les prérequis de la manière suivante :

Avec le component non-free activé :

sudo apt install default-jdk make \
    google-android-platform-31-installer \
    google-android-build-tools-30.0.3-installer \
    google-android-platform-tools-installer \
    google-android-cmdline-tools-9.0-installer

Définir ensuite la variable d'environnement suivante :

ANDROID_HOME=/usr/lib/android-sdk/

Et finalement, accepter les licences Android :

sudo sdkmanager --licenses

Compilation

Pour compiler l'application, il suffit de lancer la commande make build puis make install pour l'installer sur un mobile Android.

Étape 3 : Impression et montage du boîtier

Prérequis

La modélisation 3D a été réalisée (tant bien que mal) grâce à FreeCAD, mais il n'est nécessaire que pour modifier le fichier source (ptt-case.FCStd). Le fichier STL peut être utilisé tel quel.

Impression

Paramètres recommandés :