Outils pour utilisateurs

Outils du site


start:arduino:esp32:spi:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:arduino:esp32:spi:start [2022/11/15 04:54] – [Utilisation de broches ESP32 SPI personnalisées] gerardadminstart:arduino:esp32:spi:start [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 102: Ligne 102:
  
 Par exemple, jetez un coup d'œil à l'exemple suivant qui s'interface avec un capteur [[https://randomnerdtutorials.com/esp32-bme280-arduino-ide-pressure-temperature-humidity/|BME280]] en utilisant la bibliothèque. **Adafruit_BME280**  Par exemple, jetez un coup d'œil à l'exemple suivant qui s'interface avec un capteur [[https://randomnerdtutorials.com/esp32-bme280-arduino-ide-pressure-temperature-humidity/|BME280]] en utilisant la bibliothèque. **Adafruit_BME280** 
 +
 +
 +<code c bibliothequeadafruitexempleOO1.ino>
 +
 +
 +/*
 +  Rui Santos
 +  Détails complets du projet sur https://RandomNerdTutorials.com/esp32-spi-communication-arduino/
 +  Basé sur l'exemple Adafruit_BME280_Library : https://github.com/adafruit/Adafruit_BME280_Library/blob/master/examples/bme280test/bme280test.ino
 +
 +  Permission est accordée, sans frais, à toute personne obtenant une copie
 +  de ce logiciel et des fichiers de documentation associés.
 +  
 +  L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans tous
 +  des copies ou des parties substantielles du Logiciel.
 +*/
 +
 +#comprendre
 +    
 +#comprendre
 +    
 +     
 +#comprendre
 +     
 +      
 +
 +#comprendre
 +      
 +       
 +#define BME_SCK 25
 +#define BME_MISO 32
 +#define BME_MOSI 26
 +#define BME_CS 33
 +#define SEALEVELPRESSURE_HPA (1013.25)
 +
 +//Adafruit_BME280bme ; // I2C
 +//Adafruit_BME280 bme(BME_CS); // SPI matériel
 +Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // logiciel SPI
 +
 +délai long non signé ;
 +
 +void setup() {
 +  Série.begin(9600);
 +  Serial.println(F("BME280 test"));
 +
 +  état booléen ;
 +
 +  // paramètres par défaut
 +  // (vous pouvez également passer un objet de bibliothèque Wire comme &Wire2)
 +  status = bme.begin();  
 +  si (!statut) {
 +    Serial.println("Impossible de trouver un capteur BME280 valide, vérifiez le câblage !");
 +    tandis que (1);
 +  }
 +
 +  Serial.println("-- Test par défaut --");
 +  delayTime = 1000 ;
 +
 +  Serial.println();
 +}
 +
 +
 +boucle vide() {
 +  printValeurs();
 +  retard(delayTime);
 +}
 +
 +void printValues() {
 +  Serial.print("Température = ");
 +  Serial.print(bme.readTemperature());
 +  Serial.println(" *C");
 +  
 +  // Convertir la température en Fahrenheit
 +  /*Serial.print("Temperature = ");
 +  Serial.print(1.8 * bme.readTemperature() + 32);
 +  Serial.println(" *F");*/
 +  
 +  Serial.print("Pression = ");
 +  Serial.print(bme.readPressure() / 100.0F);
 +  Serial.println(" hPa");
 +
 +  Serial.print("Altitude approximative = ");
 +  Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
 +  Serial.println(" m");
 +
 +  Serial.print("Humidité = ");
 +  Serial.print(bme.readHumidity());
 +  Serial.println(" %");
 +
 +  Serial.println();
 +}
 +</code>
 +
 +Vous pouvez facilement transmettre vos broches SPI personnalisées au constructeur de la bibliothèque.
 +      
 +<code c biblio002.ino>
 +Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);
 +</code>   
 +
 +Dans ce cas, j'utilisais les broches SPI suivantes (pas par défaut) et tout fonctionnait comme prévu :
 +
 +<code c biblio003.ino>
 +#define BME_SCK 25
 +#define BME_MISO 32
 +#define BME_MOSI 26
 +#define BME_CS 33
 +</code>
 +
 +Si vous n'utilisez pas de bibliothèque, ou si la bibliothèque que vous utilisez n'accepte pas les broches du constructeur de bibliothèque, vous devrez peut-être initialiser le bus SPI vous-même. Dans ce cas, vous devrez appeler leSPI.begin()méthode sur lamettre en place()et passez les broches SPI en arguments :
 +
 +<code c bliblio004.ino>
 +SPI.begin(SCK, MISO, MOSI, SS);
 +</code>
 +
 +Vous pouvez voir un exemple de ce scénario dans ce tutoriel , dans lequel nous initialisons un émetteur-récepteur SPI LoRa qui est connecté à des broches SPI personnalisées. Ou cet exemple montrant comment utiliser des broches SPI personnalisées avec un module de carte microSD .  
 +    
 +====== Liens web ======
 +
 +[[https://microcontrollerslab.com/esp32-spi-communication-tutorial-arduino/|ESP32 SPI autres exemples]]
 +
 +[[https://projetsdiy.fr/esp32-gpio-broches-fonctions-io-pwm-rtc-i2c-spi-adc-dac/|broches GPIO ESP32 references]]
 +
 +
 +
/home/chanteri/www/fablab37110/data/attic/start/arduino/esp32/spi/start.1668484481.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)