Bonjour, je réalise un projet robotique, ma partie consiste à connecter plusieurs capteurs de télémétrie ensemble pour couvrir un angle assez large. Seul problème, quand je compile mon code, des erreurs surviennent et je n'arrive pas à voir d'où viennent toutes ces erreurs. Avant de mettre mon programme je précise que:
- J'ai mis un fichier ".json" dans les préférences qui est par rapport à ma carte (sans celui-ci j'ai encore plus d'erreurs)
- J'ai toutes les librairies pour que le code fonctionne (du moins jusqu'au message d'erreur).
- Dans outils, j'ai tout paramétré (la carte, le port etc).
- J'utilise la version 1.8.13 d'Arduino.
- La carte est fonctionnelle car elle marche avec un autre programme.
Code:
#include <vl53l0x_api.h> #include <vl53l0x_api_calibration.h>
#include <vl53l0x_api_core.h>
#include <vl53l0x_api_ranging.h>
#include <vl53l0x_api_calibration.h>
#include <vl53l0x_api_core.h>
#include <vl53l0x_api_ranging.h>
#include <vl53l0x_api_calibration
. include <vl53l0x_i2c_platform.h>
#include <vl53l0x_interrupt_threshold_settings.h>
#include <vl53l0x_platform.h>
#include <vl53l0x_platform_log.h>
#include <vl53l0x_tuning.h>
#include <vl53l0x_types.h>
#include <FP_Examples.h>
#include <stdint.h>
#include "CANLidar.h"
#include "Adafruit_VL53L0X.h"
lidar CANLidar volatil;
#define LOX1_ADDRESS 0x30
#define LOX2_ADDRESS 0x31
#define LOX3_ADDRESS 0x32
#define LOX4_ADDRESS 0x33
#define LOX4_ADDRESS 0x34
#define SHT_LOX1 A0
#define SHT_LOX2 A1
#define SHT_LOX3 A2
#define SHT_LOX4 A3
#define SHT_LOX5 A4
Adafruit_VL53L0X LOX1 = Adafruit_VL53L0X ();
Adafruit_VL53L0X lox2 = Adafruit_VL53L0X ();
Adafruit_VL53L0X lox3 = Adafruit_VL53L0X ();
Adafruit_VL53L0X lox4 = Adafruit_VL53L0X ();
Adafruit_VL53L0X lox5 = Adafruit_VL53L0X ();
VL53L0X_RangingMeasurementData_t measure1;
VL53L0X_RangingMeasurementData_t measure2;
VL53L0X_RangingMeasurementData_t measure3;
VL53L0X_RangingMeasurementData_t measure4;
VL53L0X_RangingMeasurementData_t measure5;
void setID () {
digitalWrite (SHT_LOX1, LOW);
digitalWrite (SHT_LOX2, LOW);
digitalWrite (SHT_LOX3, LOW);
digitalWrite (SHT_LOX4, LOW);
digitalWrite (SHT_LOX5, LOW);
retard (10);
digitalWrite (SHT_LOX1, HIGH);
digitalWrite (SHT_LOX2, HIGH);
digitalWrite (SHT_LOX3, HIGH);
digitalWrite (SHT_LOX4, HIGH);
digitalWrite (SHT_LOX5, HIGH);
retard (10);
digitalWrite (SHT_LOX1, HIGH);
digitalWrite (SHT_LOX2, LOW);
digitalWrite (SHT_LOX3, LOW);
digitalWrite (SHT_LOX4, LOW);
digitalWrite (SHT_LOX5, LOW);
lox1.begin (0x30);
retard (10);
digitalWrite (SHT_LOX2, HIGH);
lox2.begin (0x31);
retard (10);
digitalWrite (SHT_LOX3, HIGH);
lox3.begin (0x32);
retard (10);
digitalWrite (SHT_LOX4, HIGH);
lox4.begin (0x33);
retard (10);
digitalWrite (SHT_LOX5, HIGH);
lox4.begin (0x34);
retard (10);
}
void read_dual_sensors () {
lox1.rangingTest (& measure1, false);
lox2.rangingTest (& mesure2, faux);
lox3.rangingTest (& mesure3, faux);
lox4.rangingTest (& mesure4, faux);
lox5.rangingTest (& mesure5, faux);
Serial.print ("1:");
if (mesure1.RangeStatus! = 4) {
Serial.print (mesure1.RangeMilliMeter);
}
else {
Serial.print ("Hors de portée");
}
Serial.print ("");
Serial.print ("2:");
if (mesure2.RangeStatus! = 4) {
Serial.print (mesure2.RangeMilliMeter);
}
else {
Serial.print ("Hors de portée");
}
Serial.print ("");
Serial.print ("3:");
if (measure3.RangeStatus! = 4) {
Serial.print (mesure3.RangeMilliMeter);
}
else {
Serial.print ("Hors de portée");
}
Serial.print ("");
Serial.print ("4:");
if (measure4.RangeStatus! = 4) {
Serial.print (measure4.RangeMilliMeter);
}
else {
Serial.print ("Hors de portée");
}
Serial.println ();
Serial.print ("5:");
if (measure5.RangeStatus! = 4) {
Serial. print (mesure5.RangeMilliMeter);
}
else {
Serial.print ("Hors de portée");
}
Serial.println ();
}
void setupTIM6 (uint16_t ms)
{
RCC-> APB1ENR | = RCC_APB1ENR_TIM6EN;
RCC-> APB1RSTR | = RCC_APB1RSTR_TIM6RST;
RCC-> APB1RSTR & = ~ RCC_APB1RSTR_TIM6RST;
asm ("nop");
TIM6-> PSC = 64000-1;
TIM6-> ARR = ms-1;
TIM6-> DIER | = TIM_DIER_UIE;
TIM6-> CR1 | = TIM_CR1_CEN;
NVIC_SetPriority (TIM6_DAC1_IRQn, 0);
NVIC_EnableIRQ (TIM6_DAC1_IRQn);
}
extern "C" {
void TIM6_DAC_IRQHandler ()
{
TIM6-> SR & = ~ TIM_SR_UIF;
digitalWrite (13, HAUT);
}
}
void setup () {
CANSetup ();
Serial.begin (115200);
setupTIM6 (500);
pinMode (SHT_LOX1, SORTIE);
pinMode (SHT_LOX2, SORTIE);
pinMode (SHT_LOX3, SORTIE);
pinMode (SHT_LOX4, SORTIE);
pinMode (SHT_LOX5, SORTIE);
Serial.println ("Shutdown pins inited ...");
digitalWrite (SHT_LOX1, LOW);
digitalWrite (SHT_LOX2, LOW);
digitalWrite (SHT_LOX3, LOW);
digitalWrite (SHT_LOX4, LOW);
digitalWrite (SHT_LOX5, LOW);
Serial.println ("Les deux en mode de réinitialisation ... (les broches sont faibles)");
Serial.println ("Démarrage ...");
Définir l'identifiant();
}
boucle void () {
}