Ok, je n'avais pas vu..
Dans l'hypothèse ou je sois en 5v alors (mon display peut être alimenté en 5V)
Quel serait le problème ?
Je peux vous joindre le code du loop et setup
merci d'avance !
et bon courage pour la lecture de ce code;)
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
static unsigned char PROGMEM const logo16_glcd_bmp[] =
{ B00000000, B11000000,
B00000001, B11000000,
B00000001, B11000000,
B00000011, B11100000,
B11110011, B11100000,
B11111110, B11111000,
B01111110, B11111111,
B00110011, B10011111,
B00011111, B11111100,
B00001101, B01110000,
B00011011, B10100000,
B00111111, B11100000,
B00111111, B11110000,
B01111100, B11110000,
B01110000, B01110000,
B00000000, B00110000 };
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
#include "TinyGPS++.h"
#include "SoftwareSerial.h"
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp ;
SoftwareSerial serial_connection(5, 6); //RX=pin 5, TX=pin 6
TinyGPSPlus gps;//This is the GPS object that will pretty much do all the grunt work with the NMEA data
float lat1;
float lon1;
float lat2;
float lon2;
float distance;
float longueurtot;
float altitudebase;
float altitude2;
float hauteur;
float temp;
int compteur;
float sautmax;
void setup() {
Serial.begin(9600);
delay(200);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.display(); // show splashscreen
display.clearDisplay(); // clears the screen and buffer
// draw scrolling text
testscrolltext();
delay(2000);
display.clearDisplay();
// text display tests
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println("Hello, world!");
display.setTextColor(BLACK, WHITE); // 'inverted' text
display.println(3.141592);
display.setTextSize(2);
display.setTextColor(WHITE);
display.print("0x"); display.println(0xDEADBEEF, HEX);
display.display();
delay(2000);
Serial.println("Demarrage");
serial_connection.begin(9600);//This opens up communications to the GPS
Serial.println("GPS Start");//Just show to the monitor that the sketch has started
if (!bmp.begin())
{
Serial.println("BMP180 sensor not found");
while (1) {}
}
compteur=0;
altitudebase=0.00;
for (int i=0; i < 50; i++){
altitudebase= bmp.readAltitude(101500)+ altitudebase;
delay(10);
}
altitudebase=altitudebase/50;
}
void loop() {
altitude2=0;
for (int i=0; i < 10; i++){
altitude2= bmp.readAltitude(101500)+ altitude2;
delay(10); // pause de 10ms
} // fin de la boucle for
altitude2=altitude2 / 10;
hauteur=altitude2 - altitudebase;
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude(101500));
Serial.println(" meters");
Serial.println("----------------------------");
Serial.print("Hauteur relative: ");
Serial.print(hauteur);
Serial.println(" meters");
Serial.println("----------------------------");
Serial.println();
while(serial_connection.available())//While there are characters to come from the GPS
{
gps.encode(serial_connection.read());//This feeds the serial NMEA data into the library one char at a time
}
if(gps.location.isUpdated())//This will pretty much be fired all the time anyway but will at least reduce it to only after a package of NMEA data comes in
{
lat1=gps.location.lat();
lon1=gps.location.lng();
delay(10000);
lat2=gps.location.lat();
lon2=gps.location.lng();
distance = TinyGPSPlus::distanceBetween(lat1,lon1,lat2,lon2)/1000 ;
Serial.println("unitaire:");
Serial.println(distance, 8);
Serial.println("----------------------------");
Serial.println("Distance total");
longueurtot=longueurtot + distance;
Serial.println(longueurtot);
Serial.println("-------------");
}
}
void testdrawline() {
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(0, 0, i, display.height()-1, WHITE);
display.display();
}
for (int16_t i=0; i<display.height(); i+=4) {
display.drawLine(0, 0, display.width()-1, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(0, display.height()-1, i, 0, WHITE);
display.display();
}
for (int16_t i=display.height()-1; i>=0; i-=4) {
display.drawLine(0, display.height()-1, display.width()-1, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=display.width()-1; i>=0; i-=4) {
display.drawLine(display.width()-1, display.height()-1, i, 0, WHITE);
display.display();
}
for (int16_t i=display.height()-1; i>=0; i-=4) {
display.drawLine(display.width()-1, display.height()-1, 0, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=0; i<display.height(); i+=4) {
display.drawLine(display.width()-1, 0, 0, i, WHITE);
display.display();
}
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(display.width()-1, 0, i, display.height()-1, WHITE);
display.display();
}
delay(250);
}
void testscrolltext(void) {
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(10,0);
display.clearDisplay();
display.println("test");
display.display();
display.startscrollright(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
}
