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 101: Ligne 101:
 Lorsque vous utilisez des bibliothèques pour vous interfacer avec vos périphériques SPI, il est généralement simple d'utiliser des broches SPI personnalisées car vous pouvez les transmettre en tant qu'arguments au constructeur de la bibliothèque. Lorsque vous utilisez des bibliothèques pour vous interfacer avec vos périphériques SPI, il est généralement simple d'utiliser des broches SPI personnalisées car vous pouvez les transmettre en tant qu'arguments au constructeur de la bibliothèque.
  
-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 le **Adafruit_BME280** bibliothèque.+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.1668484460.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)