เครื่องทดสอบ LED ARDUINO: 5 ขั้นตอน

เครื่องทดสอบ LED ARDUINO: 5 ขั้นตอน

สารบัญ:

Anonim

โครงการทดสอบ LED ขนาดเล็ก

ฉันกำลังมองหา NET สำหรับเครื่องทดสอบ LED และหลังจากเห็นความคิดบางอย่างฉันต้องการสร้างเครื่องทดสอบนี้จากศูนย์

วัสดุ:

ขั้นตอนที่ 1: Schemat

ในการทดสอบ LED คุณต้องมีเครื่องกำเนิดไฟฟ้าในปัจจุบัน

แผ่นข้อมูล LM317LZ จัดทำแผนที่ดูเว็บไซต์แนวคิดพื้นฐาน

www.robotroom.com/LED-Tester-Pro-1.html

ไม่มีรหัสจากเว็บไซต์นี้

หลักการคือการวัดแรงดันไฟฟ้าหลายตัวที่ขั้วของ LED

แรงดันไฟฟ้าแอโนดของ VH แรงดันไฟฟ้า VL แคโทดและลบออก (VH - VL)

จากนั้นทำการวัดแรงดันที่ขั้วของความต้านทานที่ผ่านกระแสของ LED IL และหารด้วยค่า R (VR / R = IL)

ขั้นตอนที่ 2: รหัส Arduino

สำหรับรหัส Arduino แนวคิดพื้นฐานถูกกำหนดไว้ฉันต้องการแสดงผลบนหน้าจอ OLED

ไลบรารีสำหรับ ssd1306

github.com/adafruit/Adafruit_SSD1306

สำหรับการวัดแรงดันไฟฟ้าที่แตกต่างกันดู

http: //www.instructables.com/id/Arduino-OLED-Volt …

ดูตัวเลือกเมนูที่แตกต่างกัน

it-edukacija.eu.hr/multidruino/default.html

เพื่อสร้างไอคอนดู

javl.github.io/image2cpp/

เราผ่านการทดสอบบนกระดานทดสอบ

รหัสที่นี่:

// ================================================

// ผู้แต่ง: PHILOUPAT

// Mars 2019 // รุ่น 1: ปุ่มเดียว, โหมดการแสดงผล OLED I2C, ค่าเริ่มต้นของ AREF // ================================= ===================

// I2C OLED DISPLAY: SCL = A5, SDA = A4

// A0 การป้อนข้อมูลอ้างอิงสำหรับการคำนวณ RL

// A1 อินพุต Vbat

// A2 อินพุต VL

// A7 อินพุต VH

// ================================================

#include

#include

#include

#include

#include

#include

#define SSD1306_128_64

#define SCREEN_WIDTH 128

// ความกว้างของหน้าจอ OLED เป็นพิกเซล

#define SCREEN_HEIGHT 64

// ความสูงของหน้าจอ OLED เป็นพิกเซล

// ประกาศสำหรับหน้าจอ SSD1306 เชื่อมต่อกับ I2C (SDA, SCL pins)

#define OLED_RESET -1 // รีเซ็ตพิน # (หรือ -1 ถ้าใช้งานขาตั้ง Arduino ร่วมกัน)

จอแสดงผล Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);

#define XPOS 0

#define YPOS 1

#define DELTAY 2

// # if (SSD1306_LCDHEIGHT! = 64)

// # ข้อผิดพลาด ("ความสูงไม่ถูกต้องโปรดแก้ไข Adafruit_SSD1306.h!");

// # endif

const ไม่ได้ลงนามถ่าน PROGMEM = {

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x20, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x24, 0x00, 0x01, 0xe2, 0x20, 0x24, 0x00, 0x00, 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x00, 0x00}

const ไม่ได้ลงทะเบียนถ่าน PROGMEM resis = {

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x1e, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff ff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};

const oms char ที่ไม่ได้ลงชื่อ PROGMEM = {

0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x18, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0c 0x30, 0x1e, 0x3c, 0x1c, 0x3c, 0x00, 0x00, 0x00, 0x00};

const PROGMEM ถ่านที่ไม่ได้ลงชื่อนำ = {

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xf0, 0x10, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1f 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0, 0x0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x0, 0x00, 0xe0, 0x0, 0x01, 0x0, 0x0, 0x0, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

const accueil char accueil PROGMEM = {

0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xc1, 0x83, 0xff, 0xff, 0xff, 0xff, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,, 0xff, 0xe6, 0xff, 0xf9, 0x83, 0xff, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff1, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0xc4, 0xf1, 0xb1, 0xa3, 0xff, 0xfc, 0xfc, 0x00, 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x3, 0x3, 0xff, 0x83, 0xf3, 0x07, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0x3, 0xff, 0xff, 0xff1, 0x83, 0x83, 0x83, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x5, 0x5, 0x5,, 0xff, 0xf3, 0xf8, 0x02, 0xff, 0xff, 0xff, 0xff, 0x7, 0xff, 0xff, 0xf, 0x00, 0x3, 0xf, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xe3, 0xf1, 0xfc, 0x30, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff ff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xff, 0xe3, 0xf1, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xf3, 0xbc, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff7, 0xc7, 0x7, 0x7, 0x1c, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xf0, 0x04, 0x00, 0x0f, 0xff, 0xc7, 0xe0, 0x3, 0x3, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe, 0x, 0x, 0x8, 0x7, 0x7f, 0x7, 0x7, 0x7, 0x7, 0x7f 0x00, 0x00, 0x07, 0xff, 0x8f, 0xc7, 0xf8, 0xf8, 0x7, 0x7, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x07, 0xff, 0x80, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff1, 0xf9, 0xff, 0xff, 0xff, 0x80, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1f, 0xf0, 0xff, 0xff, 0x80, 0x04, 0x03, 0x00, 0x00, xx, 0x0, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xf, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x40, 0xff, 0x1f, 0x90, 0xe1, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0xff, 0x38, 0xf8, 0xf8, 0xb8, 0xb8, 0xfe, 0x1f, 0x91, 0xe1, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xf1, 0xf0, 0x0f, 0x07, 0xf8, 0xf8, 0x0e, 0x0, 0xf1, 0xf1, 0xff, 0xff, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xa0, 0x0f, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xfx, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xfc, 0x71, 0xf1, 0xfe, 0x3f, 0x20, 0xfx, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf1, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xbf, 0xf9, 0xff, 0xff, 0xe1, 0xe3, 0xfx, 0xf, 0x6, 0x63, 0x63, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffx, 0x00, 0x61, 0xe1, 0xc6, 0x00, 0x63, 0xc7, 0xff, 0xff, 0xe, 0xf, 0xe1, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x9f, 0xf9, 0xff, 0xff, 0xe1, 0xe0, 0x07, 0x03, 0xe1, 0xe0, 0xe0, 0x07, 0xc3, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff 9f, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff

int โหมด = 0;

int หยุดชั่วคราว = 500;

int RL = 0;

int R1 = 10,000;

int R2 = 10,000;

int R3 = 47;

ลอยดิบ = 0;

float val = 0;

อ้างอิงลอย = 0;

float vbat = 0;

float vin = 0.00;

float voutL = 0.00;

float voutH = 0.00;

float vref = 0.00;

float vled = 0.00;

float vr = 0.00;

ลอย IL = 0.00;

float vinref = 0.00;

float vinbat = 0;

การตั้งค่าเป็นโมฆะ ()

{

pinMode (5, INPUT_PULLUP);

pinMode (4, INPUT_PULLUP);

pinMode (3, INPUT_PULLUP);

AttachInterrupt (1, bouton, FALLING);

// โดยค่าเริ่มต้นเราจะสร้างแรงดันสูงจากสาย 3.3v ภายใน! (เรียบร้อย!) display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // เริ่มต้นด้วย I2C addr 0x3C (สำหรับ 128x32)

}

เป็นโมฆะห่วง ()

{

float vref = readVcc () / 1000.0;

val = analogRead (A7);

raw = analogRead (A2);

voutH = (val * vref) / 1024.0; // ดูข้อความ

voutL = (raw * vref) /1024.0;

ถ้า (voutL> 0)

{

if (mode == 0) // caracteristique นำ

{

float vref = (readVcc () / 1000.0);

val = analogRead (A7);

raw = analogRead (A2);

ref = analogRead (A0);

voutH = (val * vref) / 1024.0; // ดูข้อความ

voutL = (raw * vref) /1024.0;

vled = (voutH-voutL) * (R1 + R2) / R2;

vr = voutL;

IL = vr / R3;

display.clearDisplay ();

display.setTextColor (สีขาว);

display.drawBitmap (96, 0, led, 32, 64, 1);

display.setFont ();

display.setFont (& FreeSans9pt7b);

display.setCursor (0.12);

display.print ("คุณสมบัติ LED");

display.setCursor (0,35);

display.print ("VL:");

display.setCursor (28,35);

display.print (vled);

display.setCursor (72,35);

display.print ("V");

display.setCursor (0.60);

display.print ("อิลลินอยส์:");

display.setCursor (28,60);

display.print (IL * 1000)

display.setCursor (75,60);

display.print ("mA");

display.display ();

ล่าช้า (หยุด);

}

ถ้า (โหมด == 1)

{// การต่อต้าน

float vref = (readVcc () / 1000.0);

val = analogRead (A7);

raw = analogRead (A2);

ref = analogRead (A0);

voutH = (val * vref) /1024.0;

voutL = (raw * vref) /1024.0;

vinref = (ref * vref * 2) /1024.0;

vled = (voutH-voutL) * (R1 + R2) / R2;

IL = voutL / R3;

RL = (vinref-vled) / IL;

display.clearDisplay ();

display.drawBitmap (96, 0, resis, 32, 64, 1);

display.setFont ();

display.setFont (& FreeSans9pt7b);

display.setCursor (0.12);

display.print ("Resistance:");

display.setCursor (0,35);

display.print ("Vin:");

display.setCursor (32,35);

display.print (vinref);

display.setCursor (75,35);

display.print ("V");

display.setCursor (0.60);

display.print ("RL:");

ถ้า (RL <0)

{

display.setCursor (30,60);

display.print ("ว่างเปล่า");

}

อื่น

{

display.setCursor (30,60);

display.print (RL);

display.drawBitmap (73, 46, oms, 15, 15, 1);

}

display.display ();

ล่าช้า (หยุด);

}

ถ้า (โหมด == 2)

{// Baterie

float vref = (readVcc () / 1000.0);

vbat = analogRead (A1);

vinbat = (vbat * vref * 2.3) /1024.0;

isplay.clearDisplay ();

display.drawBitmap (90, -2, batterie, 36, 21, 1);

display.setFont ();

display.setFont (& FreeSans9pt7b);

display.setCursor (0,14);

display.print ("แบตเตอรี่:");

//display.fillRect(10,35,90,20,WHITE);

//display.fillRect(12,37,88,18,BLACK);

display.drawRoundRect (15, 40, 95, 24, 8, ขาว);

display.setCursor (0,35);

display.print ("VBAT:");

display.setCursor (50,35);

display.print (vinbat);

display.setCursor (90,35);

display.print ("V");

if (vinbat> 0 && vinbat <7.0)

{// หนึ่งแถบ

display.fillRect (20,45,10,15, สีดำ);

}

ถ้าอื่น (vinbat> 7.0 && vinbat <7.8)

{// สองแถบ

display.fillRect (20,45,10,15, สีดำ);

display.fillRect (30,45,5,15 สีขาว);

display.fillRect (35,45,10,15, สีดำ);

}

ถ้าอื่น (vinbat> 7.8 && vinbat <8.4)

{// สามแถบ

display.fillRect (20,45,10,15, สีดำ);

display.fillRect (30,45,5,15 สีขาว);

display.fillRect (35,45,10,15, สีดำ);

display.fillRect (45,45,5,15 สีขาว);

display.fillRect (50,45,10,15, สีดำ);

}

ถ้าอื่น (vinbat> 8.4 && vinbat <8.7)

{// สี่แถบ

display.fillRect (20,45,10,15, สีดำ);

display.fillRect (30,45,5,15 สีขาว);

display.fillRect (35,45,10,15, สีดำ);

display.fillRect (45,45,5,15 สีขาว);

display.fillRect (50,45,10,15, สีดำ);

display.fillRect (60,45,5,15 สีขาว);

display.fillRect (65,45,10,15, สีดำ);

}

ถ้าอื่น (vinbat> 8.7 && vinbat <9.0)

{// ห้าแถบ

display.fillRect (20,45,10,15, สีดำ);

display.fillRect (30,45,5,15 สีขาว);

display.fillRect (35,45,10,15, สีดำ);

display.fillRect (45,45,5,15 สีขาว);

display.fillRect (50,45,10,15, สีดำ);

display.fillRect (60,45,5,15 สีขาว);

display.fillRect (65,45,10,15, สีดำ);

display.fillRect (75,45,5,15 สีขาว);

display.fillRect (80,45,10,15, สีดำ);

}

ถ้าอื่น (vinbat> 9.0 && vinbat <9.4)

{

display.fillRect (20,45,10,15, สีดำ);

display.fillRect (30,45,5,15 สีขาว);

display.fillRect (35,45,10,15, สีดำ);

display.fillRect (45,45,5,15 สีขาว);

display.fillRect (50,45,10,15, สีดำ);

display.fillRect (60,45,5,15 สีขาว);

display.fillRect (65,45,10,15, สีดำ);

display.fillRect (75,45,5,15 สีขาว);

display.fillRect (80,45,10,15, สีดำ);

display.fillRect (90,45,5,15 สีขาว);

display.fillRect (95,45,10,15, สีดำ);

}

display.display (); ล่าช้า (หยุด); }

}อื่น

{

display.clearDisplay ();

display.drawBitmap (0, 0, accueil, 128, 64, 1);

display.display ();

ล่าช้า (700);

display.display ();

ล่าช้า (1000)

}

}

โมฆะ bouton ()

{

last_interrupt_time = 0 ที่ไม่ได้ลงชื่อแบบคงที่

interrupt_time = millis () ที่ไม่ได้ลงนามที่ไม่ได้ลงชื่อ

// หากการขัดจังหวะเร็วกว่า 200ms ให้ถือว่าเป็นการเด้งและไม่สนใจ

if (interrupt_time - last_interrupt_time> 220) {

โหมด ++;

โทน (6,2250,50);

ถ้า (โหมด> 2)

โหมด = 0;

}

last_interrupt_time = interrupt_time;

}

long readVcc ()

กำหนดไว้ (__ AVR_ATmega2560__) ADMUX = _BV (REFS0)

ขั้นตอนที่ 3: การรับรู้

Schemat และ PCB ฉันใช้ EAGLES เพื่อตระหนักถึง shem และ pcb

เว็บไซต์ที่ดีสำหรับการผลิต

jlcpcb.com/

รายการวัสดุ:

-1 Arduino mini pro 5v

http: //www.banggood.com/Wholesale-New-Ver-Pro-Min …

-1 0.96 นิ้วโมดูล OLED 12864 128x64 สีเหลืองสีฟ้า SSD1306 ไดร์เวอร์ I2C อนุกรมแสดงผลตัวเองส่องสว่างคณะกรรมการสำหรับ A Rduino ราสเบอร์รี่ PI หรืออื่น ๆ

คำเตือนถึงขั้ว Gnd Vcc หรือ Vcc Gnd

http: //www.amazon.com/UCTRONICS-SSD1306-Self-Lumi …

http: //www.ebay.fr/itm/0-96-I2C-IIC-SPI-Serial-12 …

-1 LM317 LZ

http: //www.ebay.fr/itm/5Pcs-LM317LZ-LM317L-LM317 -…

http: //www.amazon.com/LM317LZ-Voltage-Regulator-I …

-1 MCP1702 5V

http: //www.ebay.fr/itm/Microchip-MCP1702-500-TO-9 …

http: //www.amazon.com/5002E-MCP1702-1702-5002E-MC …

-2x10K 2x470K 2x 47R 1 / 8W

-1x500R ตัวแปร TSR3386F 3/8

http: //www.ebay.fr/itm/Suntan-TSR3386F-3-8-1-turn …

-1x10K varable TSR3386F 3/8

http: //www.ebay.fr/itm/Suntan-TSR3386F-3-8-1-turn …

-1xsitch เปิด / ปิด SS12D00G4 SPDT 1P2T 2 ตำแหน่ง 3 ขา PCB

http: //www.ebay.fr/itm/20pcs-SS12D00G4-SPDT-1P2T -…

-2x 1µF tantale

-3x100nF

-1x1N4148

พลังที่เป็นไปได้ใน 9V batterie หรือ batterie lipo 3.7V

-1x3.7V 9 โวลต์ 5 โวลต์ 2A ปรับขั้นตอนขึ้น 18650 แบตเตอรี่ลิเธียมชาร์จปล่อยโมดูลแบบบูรณาการ

http: //www.banggood.com/3pcs-3_7V-9V-5V-2A-Adjust …

-1xLIPO batterie 3.7V 400mAh

http: //www.ebay.fr/itm/Batterie-403035-Lipo-3-7v -…

ขั้นตอนที่ 4: การโหลดรหัสและทดสอบและใส่ในกล่อง

ในการโหลดรหัสใช้ FTDI

และทดสอบกับ LED และไดโอดที่แตกต่างกัน

ทำกล่องพิมพ์ 3d

ไปยังสิ่งต่าง ๆ:

www.thingiverse.com/thing:3594143

ประกอบและเพลิดเพลิน

โครงการนี้ใช้ซอฟแวร์หลายตัวดังนั้นการศึกษา chalenge pcb code 3d เครื่องคิดเลขอิเล็กทรอนิกส์ที่ดี ฯลฯ

ขั้นตอนที่ 5: