Похожие презентации:
Arduino_3
1.
Интенсив по arduinoДатчик температуры DS18B20 TO-92.
Oled дисплей.
Меню
Начать
2.
Цели и задачиТема занятия: Узнать, как работают
датчик температуры и Oled дисплей.
3.
ArduinoДатчик температуры.
DS18B20 TO-92
Резистор на 10 Ком
4.
Arduino#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
float temp =
sensors.getTempCByIndex(0);
Serial.print("Температура: ");
Serial.print(temp);
Serial.println(" C");
delay(1000);
}
Пишем код
5.
ArduinoПереносим конструкцию на
реальную плату!
6.
ArduinoOLED дисплей
Что это: Маленький экранчик, который сам
светится. Ему не нужна подсветка —
каждый пиксель сам излучает свет.
Как работает: Внутри — сетка 128×64
точек. Каждая точка — это крошечный
органический светодиод. Когда на него
подают сигнал — он загорается.
Как управлять: Через интерфейс I2C. Это
как разговор по телефону.
Почему 4 провода:
Два для питания (VCC и GND).
Два для общения (SDA — данные, SCL —
тактовый сигнал).
7.
ArduinoПодключение:
8.
ArduinoКопируем код для программы Arduino IDE.
Выбираем нужный порт USB и запускаем!
#include<Wire.h>
#include<Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, 1);
voidsetup(){
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(10, 20);
display.println("Hello!");
display.display();
}
voidloop(){}
9.
ArduinoТеперь подключаем и OLED дисплей и датчик
температуры!
10.
ArduinoПишем код!
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
Adafruit_SSD1306 display(128, 64, &Wire, 1);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
sensors.begin();
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
display.println("Temperature:");
display.setTextSize(3);
display.setCursor(10, 20);
display.print(temp, 1);
display.print("C");
int bar = map(temp, 15, 35, 0, 128);
bar = constrain(bar, 0, 128);
display.fillRect(0, 55, bar, 8, WHITE);
display.display();
delay(1000);
}