OLED LED 1 W LED AOPWM D 3

  • Slides: 19
Download presentation

作品架構 圖文顯示裝置 (OLED) LED輸出 1 W LED燈光 AO/PWM D 3 SPI 單晶片/MCU ATmega 328

作品架構 圖文顯示裝置 (OLED) LED輸出 1 W LED燈光 AO/PWM D 3 SPI 單晶片/MCU ATmega 328 1 Wire A 3 溫度感知 DS 18 B 20 D 4, D 7, D 8, D 9

作品製作與方法(軟體製作) //Ex 4_4_Temp_RGB //----Declare--DS 18 B 20 ---------------------------//#include <DS 18 B 20. h> //#include

作品製作與方法(軟體製作) //Ex 4_4_Temp_RGB //----Declare--DS 18 B 20 ---------------------------//#include <DS 18 B 20. h> //#include <One. Wire. h> //-------Declare-OLED---------------#include <OLED. h> OLED my. OLED; //-----Declare-RGB LED WS 2812 Driver ----------------------#include "Fast. LED. h" #define LED_PIN #define NUM_LEDS A 0 3 CRGB leds[NUM_LEDS]; void SET_RGB(int m, char c); //-------Declare-Temp Sensor DS 18 B 20 --------------------

#include <DS 18 B 20. h> DS 18 B 20 ds; #define Temp_PIN A

#include <DS 18 B 20. h> DS 18 B 20 ds; #define Temp_PIN A 3 float STemp. Max=32; float STemp. Min=30; void setup() { //=======Setup. DS 18 B 20================= ds. begin(Temp_PIN ); //=======Setup. RGB====================== delay( 100 ); // power-up safety delay Fast. LED. add. Leds<WS 2812 B, LED_PIN, GRB>(leds, NUM_LEDS). set. Correction( Typical. LEDStrip );

SET_RGB(1, 'D'); SET_RGB(2, 'D'); SET_RGB(3, 'D'); //=======Setup. OLED================== my. OLED. begin(FONT_8 x 16); //FONT_6

SET_RGB(1, 'D'); SET_RGB(2, 'D'); SET_RGB(3, 'D'); //=======Setup. OLED================== my. OLED. begin(FONT_8 x 16); //FONT_6 x 8 , FONT_8 x 16 my. OLED. println("Ex 4_4_Temp_RGB"); //my. OLED. println("Date: 2016/11/19"); my. OLED. print("T 1: "); my. OLED. print(STemp. Max); my. OLED. print("T 2: "); my. OLED. println(STemp. Min); } //---------------------------------------void loop() {

float temp = ds. read. Temperature(); if (temp<125 && temp>5) { my. OLED. set.

float temp = ds. read. Temperature(); if (temp<125 && temp>5) { my. OLED. set. Posi(4, 0); my. OLED. print("Temp. : "); my. OLED. print(temp); my. OLED. println(" *C"); } //=======Smart Processing======= if(temp>STemp. Max) SET_RGB(1, 'R'); else if (temp<STemp. Min) SET_RGB(1, 'B'); else SET_RGB(1, 'G'); delay(500); }

void SET_RGB(int m, char c) { m=m-1; if(c=='R') leds[m] = CRGB: : Red; if(c=='G')

void SET_RGB(int m, char c) { m=m-1; if(c=='R') leds[m] = CRGB: : Red; if(c=='G') leds[m] = CRGB: : Green; if(c=='B') leds[m] = CRGB: : Blue; if(c=='Y') leds[m] = CRGB: : Yellow; if(c=='W') leds[m] = CRGB: : White; if(c=='D') leds[m] = CRGB: : Black; Fast. LED. show(); }