Пікірлер
@Eyis
@Eyis 3 ай бұрын
Fantastic drone view please 🙏 add me 👍👍👍🙏🙏🙏
@frpkarr767
@frpkarr767 2 жыл бұрын
Немного переделал скетч на библиотеку Alex Gyver. Под оба датчика BME/BMP280 и давление в мм рт ст #include <Wire.h> #include <Adafruit_Sensor.h> #include <GyverBME280.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #define modeBtPin 12 // кнопка переключения отображения #define sensorAdrr 0x76 // адрес сенсора #define displayAdrr 0x3C // адрес дисплея #define readSensorDataPeriod 1000 //Частота чтения датчика в милисекундах #define readValueAverageCount 10 //Кол-во чтений для среднего арифметического //0 - Display all cicly int displayMode = 0; //1 - Display Temperature #define maxDisplayModeIndex 4 //2 - Display Humidity //3 - Display Pressure //4 - Display Altitude GyverBME280 bme; // I2C long readSensorDataMillis = 0; float tempA = 0; float humA = 0; float altA = 0; float pressureA = 0; float voltage = 0.0; bool modeBtPinFlag = false; int displayMode0Counter = 1; void setup() { Serial.begin(9600); if (!bme.begin(sensorAdrr)) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32) display.clearDisplay(); display.display(); readSensorDataMillis = millis(); pinMode(modeBtPin, INPUT); hello(); } void loop() { if (millis()-readSensorDataMillis > readSensorDataPeriod){ readSensorData(); updateDisplay(); readSensorDataMillis = millis(); } if (!digitalRead(modeBtPin) && !modeBtPinFlag){modeBtPinFlag = true; if (displayMode<maxDisplayModeIndex){displayMode = displayMode + 1; } else {displayMode = 0;} readSensorDataMillis = millis() + readSensorDataPeriod; } if (digitalRead(modeBtPin) && modeBtPinFlag){modeBtPinFlag = false;} } void readSensorData(){ tempA = bme.readTemperature(); float pressure = bme.readPressure (); pressureA = pressureToMmHg(pressure); altA = pressureToAltitude(pressure); humA = bme.readHumidity(); readVoltage(); } void updateDisplay(){ display.clearDisplay(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(0,0); switch (displayMode){ case 0: switch (displayMode0Counter){ case 1: displayTemp(); displayMode0Counter = 2; break; case 2: displayHum(); displayMode0Counter = 3; break; case 3: displayPres(); displayMode0Counter = 4; break; case 4: displayAlt(); displayMode0Counter = 1; break; } break; case 1: displayTemp(); break; case 2: displayHum(); break; case 3: displayPres(); break; case 4: displayAlt(); break; } display.setTextSize(1); display.print(voltage); display.print("v "); // display.print("M:"); display.print(displayMode); if (displayMode == 3 || (displayMode == 0 && displayMode0Counter == 4)){display.print(" MmHg");} if (displayMode == 4 || (displayMode == 0 && displayMode0Counter == 1)){display.print(" M");} display.display(); } void displayTemp(){ display.print(tempA); display.println(" C"); } void displayHum(){ display.print(humA); display.println(" %"); } void displayPres(){ display.print(pressureA); display.println(""); } void displayAlt(){ display.print(altA); display.println(""); } void readVoltage(){ voltage = analogRead(A0); voltage = (voltage * 5.08) / 1024.0; } void data2Serial(){ Serial.print("T: "); Serial.println(tempA); Serial.print("H: "); Serial.println(humA); Serial.print("P: "); Serial.println(pressureA); Serial.print("A: "); Serial.println(altA); } void hello(){ display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); display.print("TEMPERATURE, PRESSURE AND HUMIDITY STATION"); display.display(); }
@gora5250
@gora5250 5 жыл бұрын
И лучше говори в видео
@gora5250
@gora5250 5 жыл бұрын
Слушай ты я могу говорить на ты ну так вот ты есть в каких-то сот сетях если что ВК исключино
@gora5250
@gora5250 5 жыл бұрын
Фейсбук или инстаграм
@gora5250
@gora5250 5 жыл бұрын
Кинь ссилку
@gora5250
@gora5250 5 жыл бұрын
Как
@gora5250
@gora5250 5 жыл бұрын
бери пример форму корпуса JBL что то на подобии коробка неудобная
@dtumbasov
@dtumbasov 5 жыл бұрын
Дай пример, если не сложно
@pierricdoublet6248
@pierricdoublet6248 5 жыл бұрын
Superbe,possibilité d'avoir le câblage?Merci d'avance
@lexmal84
@lexmal84 6 жыл бұрын
Звук, конечно получится хорошим..., НО: неудобный по переноске - “ т.е.ТОЛСТЫЙ“ по глубине корпус, большие габариты; понятие портативности - минимально; практичность - оставляет желать лучшего... Хороша, если её возить, в багажнике автомобиля, но это уже - юмор...
@dtumbasov
@dtumbasov 5 жыл бұрын
Твои слова подтвердились на практике
@viktorshevchenko600
@viktorshevchenko600 7 жыл бұрын
можно скетч и схему, как вольтаж батареи измеряете? спасибо
@dtumbasov
@dtumbasov 7 жыл бұрын
схему не рисовал, она элементарная. Все построено на основе Arduino. дисплей и датчик bme180 по i2c к Arduino, + аккума к любому аналоговому входу, питание через dc-dc Step Up #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #define SEALEVELPRESSURE_HPA (1013.25) #define modeBtPin 12 #define sensorAdrr 0x76 #define displayAdrr 0x3C #define readSensorDataPeriod 2000 //Частота чтения датчика в милисекундах #define readValueAverageCount 10 //Кол-во чтений для среднего арифметического //0 - Display all cicly int displayMode = 0; //1 - Display Temperature #define maxDisplayModeIndex 4 //2 - Display Humidity //3 - Display Pressure //4 - Display Altitude Adafruit_BME280 bme; // I2C long readSensorDataMillis = 0; float tempA = 0; float humA = 0; float altA = 0; float pressureA = 0; float voltage = 0.0; bool modeBtPinFlag = false; int displayMode0Counter = 1; void setup() { Serial.begin(9600); if (!bme.begin(sensorAdrr)) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32) display.clearDisplay(); display.display(); readSensorDataMillis = millis(); pinMode(modeBtPin, INPUT); hello(); } void loop() { if (millis()-readSensorDataMillis > readSensorDataPeriod){ readSensorData(); updateDisplay(); readSensorDataMillis = millis(); } if (!digitalRead(modeBtPin) && !modeBtPinFlag){modeBtPinFlag = true; if (displayMode<maxDisplayModeIndex){displayMode = displayMode + 1; } else {displayMode = 0;} readSensorDataMillis = millis() + readSensorDataPeriod; } if (digitalRead(modeBtPin) && modeBtPinFlag){modeBtPinFlag = false;} } void readSensorData(){ tempA = bme.readTemperature(); pressureA = bme.readPressure() / 100.0F; altA = bme.readAltitude(SEALEVELPRESSURE_HPA); humA = bme.readHumidity(); readVoltage(); } void updateDisplay(){ display.clearDisplay(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(0,0); switch (displayMode){ case 0: switch (displayMode0Counter){ case 1: displayTemp(); displayMode0Counter = 2; break; case 2: displayHum(); displayMode0Counter = 3; break; case 3: displayPres(); displayMode0Counter = 4; break; case 4: displayAlt(); displayMode0Counter = 1; break; } break; case 1: displayTemp(); break; case 2: displayHum(); break; case 3: displayPres(); break; case 4: displayAlt(); break; } display.setTextSize(1); display.print(voltage); display.print("v "); display.print("M:"); display.print(displayMode); if (displayMode == 3 || (displayMode == 0 && displayMode0Counter == 4)){display.print(" PPM");} if (displayMode == 4 || (displayMode == 0 && displayMode0Counter == 1)){display.print(" M");} display.display(); } void displayTemp(){ display.print(tempA); display.println(" C"); } void displayHum(){ display.print(humA); display.println(" %"); } void displayPres(){ display.print(pressureA); display.println(""); } void displayAlt(){ display.print(altA); display.println(""); } void readVoltage(){ voltage = analogRead(A0); voltage = (voltage * 5.08) / 1024.0; } void data2Serial(){ Serial.print("T: "); Serial.println(tempA); Serial.print("H: "); Serial.println(humA); Serial.print("P: "); Serial.println(pressureA); Serial.print("A: "); Serial.println(altA); } void hello(){ display.clearDisplay(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(0,0); display.print("-HELLO-"); display.display(); }
@RZSovi4
@RZSovi4 6 жыл бұрын
При компиляции выдаёт ошибку: Arduino: 1.8.5 (Windows 10), Плата:"Arduino Nano, ATmega328P" Voltage_BME280_SSD1306:184: error: stray '\357' in program }п»ї ^ Voltage_BME280_SSD1306:184: error: stray '\273' in program Voltage_BME280_SSD1306:184: error: stray '\277' in program Voltage_BME280_SSD1306:186: error: expected declaration before '}' token } ^ exit status 1 stray '\357' in program Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
@RZSovi4
@RZSovi4 6 жыл бұрын
Вот исправил немного: Для Платы:"Arduino Nano, ATmega328P" #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #define SEALEVELPRESSURE_HPA (1013.25) #define modeBtPin 6 #define sensorAdrr 0x76 #define displayAdrr 0x3C #define readSensorDataPeriod 2000 //Частота чтения датчика в милисекундах #define readValueAverageCount 10 //Кол-во чтений для среднего арифметического //0 - Display all cicly int displayMode = 0; //1 - Display Temperature #define maxDisplayModeIndex 4 //2 - Display Humidity //3 - Display Pressure //4 - Display Altitude Adafruit_BME280 bme; // I2C long readSensorDataMillis = 0; float tempA = 0; float humA = 0; float altA = 0; float pressureA = 0; float voltage = 0.0; bool modeBtPinFlag = false; int displayMode0Counter = 1; void setup() { Serial.begin(9600); if (!bme.begin(sensorAdrr)) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32) display.clearDisplay(); display.display(); readSensorDataMillis = millis(); pinMode(modeBtPin, INPUT); // hello(); } void loop() { if (millis()-readSensorDataMillis > readSensorDataPeriod){ readSensorData(); updateDisplay(); readSensorDataMillis = millis(); } if (!digitalRead(modeBtPin) && !modeBtPinFlag){modeBtPinFlag = true; if (displayMode<maxDisplayModeIndex){displayMode = displayMode + 1; } else {displayMode = 0;} readSensorDataMillis = millis() + readSensorDataPeriod; } if (digitalRead(modeBtPin) && modeBtPinFlag){modeBtPinFlag = false;} } void readSensorData(){ tempA = bme.readTemperature(); pressureA = bme.readPressure() / 100.0F; altA = bme.readAltitude(SEALEVELPRESSURE_HPA); humA = bme.readHumidity(); readVoltage(); } void updateDisplay(){ display.clearDisplay(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(0,0); switch (displayMode){ case 0: switch (displayMode0Counter){ case 1: displayTemp(); displayMode0Counter = 2; break; case 2: displayHum(); displayMode0Counter = 3; break; case 3: displayPres(); displayMode0Counter = 4; break; case 4: displayAlt(); displayMode0Counter = 1; break; } break; case 1: displayTemp(); break; case 2: displayHum(); break; case 3: displayPres(); break; case 4: displayAlt(); break; } display.setTextSize(1); display.print(voltage); display.print(F("v ")); display.print(F("M:")); display.print(displayMode); if (displayMode == 3 || (displayMode == 0 && displayMode0Counter == 4)){display.print(F(" PPM"));} if (displayMode == 4 || (displayMode == 0 && displayMode0Counter == 1)){display.print(F(" M"));} display.display(); } void displayTemp(){ display.print(tempA); display.println(F(" C")); } void displayHum(){ display.print(humA); display.println(F(" %")); } void displayPres(){ display.print(pressureA); display.println(F("")); } void displayAlt(){ display.print(altA); display.println(F("")); } void readVoltage(){ voltage = analogRead(A0); voltage = (voltage * 5.08) / 1024.0; } void data2Serial(){ Serial.print(F("T: ")); Serial.println(tempA); Serial.print(F("H: ")); Serial.println(humA); Serial.print(F("P: ")); Serial.println(pressureA); Serial.print(F("A: ")); Serial.println(altA); } /* void hello(){ display.clearDisplay(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(0,0); display.print("-HELLO-"); display.display(); } */ - так работает без ошибок.
@alex_payne_
@alex_payne_ 9 ай бұрын
друг!!! пожалуйста выложи схему!!! непонятно куда ты кнопку подключил и так далее
@user-nx7xx7rf1h
@user-nx7xx7rf1h 7 жыл бұрын
а чо и для чего непонятно нчиего, где принципиальная схема ивсетакое...
@sigehome8761
@sigehome8761 7 жыл бұрын
Схема есть данного девайса?
@Machiuka
@Machiuka 8 жыл бұрын
I have an ESP8266-12F board but i'm unable to programming it with arduino ide . What are the ftdi schematics?
@dtumbasov
@dtumbasov 8 жыл бұрын
May be it help you whatimade.today/esp8266-easiest-way-to-program-so-far/
@fabianobr79
@fabianobr79 8 жыл бұрын
Hello, how do you set up? You can teach. I want to learn. Thank you for your attention
@dtumbasov
@dtumbasov 8 жыл бұрын
+Fabiano Andrade, HI. Its easy with ttp223 ic. see: www.electroschematics.com/11865/ttp223-capacitive-touch-switch-circuit/
@fabianobr79
@fabianobr79 8 жыл бұрын
+Дмитрий Тумбасов Thank you for responding. It helped a lot
@earielflare2203
@earielflare2203 9 жыл бұрын
зачем вообще столько всего надо, и мосфет в придачу, там же адын светодиод всего.
@dtumbasov
@dtumbasov 9 жыл бұрын
Eariel Flare светодиод подключен для теста, вместо него будет свтодиодная лента