Isi kandungan:
- Bekalan:
- Langkah 1: The Schemat
- Langkah 2: Kod Arduino
- Langkah 3: Kesedaran
- Langkah 4: Memuatkan Kod dan Ujian dan Masukkan Kotak
- Langkah 5:
Projek penguji LED kecil
Saya sedang melihat pada NET untuk penguji LED dan selepas melihat beberapa idea saya mahu membina penguji ini dari sifar
Bekalan:
Langkah 1: The Schemat
Untuk menguji LED anda memerlukan penjana semasa.
Datasheet LM317LZ menyediakan peta, Lihat laman web dasar idea
www.robotroom.com/LED-Tester-Pro-1.html
tiada kod yang tersedia dari laman web ini
Oleh itu prinsip itu adalah untuk mengukur beberapa voltan di terminal LED
VH anoda tegangan voltan katod VL dan tolak mereka (VH - VL)
kemudian untuk mengukur voltan di terminal rintangan yang dilalui oleh arus LED IL dan dibahagikan dengan nilai R (VR / R = IL)
Langkah 2: Kod Arduino
Untuk kod Arduino idea asas ditakrifkan saya mahukan paparan pada skrin OLED
perpustakaan adalah untuk ssd1306
github.com/adafruit/Adafruit_SSD1306
Untuk mengukur voltan yang berbeza lihat
http: //www.instructables.com/id/Arduino-OLED-Volt …
Untuk pilihan menu yang berbeza lihat
it-edukacija.eu.hr/multidruino/default.html
Untuk membuat ikon lihat
javl.github.io/image2cpp/
kami lulus ujian itu di papan ujian
kod di sini:
// ================================================
// Pengarang: PHILOUPAT
// Mars 2019 // versi 1: satu butang, mod paparan OLED I2C, lalai AREF // ============================= ===================
// I2C OLED DISPLAY: SCL = A5, SDA = A4
// Rujukan input A0 untuk pengiraan RL
// input A1 Vbat
// Input A2 VL
// Input A7 VH
// ================================================
#include
#include
#include
#include
#include
#include
#define SSD1306_128_64
#define SCREEN_WIDTH 128
// Lebar paparan OLED, dalam piksel
#define SCREEN_HEIGHT 64
// Ketinggian paparan OLED, dalam piksel
// Pengisytiharan paparan SSD1306 yang disambungkan ke I2C (pin SDA, SCL)
#define OLED_RESET -1 // Reset pin # (atau -1 jika berkongsi pin reset Arduino)
Paparan Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);
#define XPOS 0
#define YPOS 1
#define DELTAY 2
// # if (SSD1306_LCDHEIGHT! = 64)
// # error ("Ketinggian tidak betul, sila ubah Adafruit_SSD1306.h!");
// # endif
const unsigned char PROGMEM batterie = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x03, 0x0, 0x20, 0x00, 0x00, 0x02, 0x20, 0x24, 0x00, 0x00, 0x82, 0x20, 0x24, 0x00, 0x01, 0x00, 0x20, 0x24, 0x00, 0x00, 0x82, 0x20, 0x20, 0x00, 0x00, 0x82, 0x20, 0x20, 0x00, 0x00, 0x03, 0xe0, 0x20, 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const unsigned char PROGMEM resis = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5f, 0x80, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x78, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x03, 0xff, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 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, 0x 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};
const no unsigned char oms PROGMEM = {
0x00, 0x0c, 0x30, 0x18, 0x18, 0x18, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x18, 0x0c, 0x08, 0x18, 0x0c, 0x30, 0x06, 0x30, 0x1e, 0x3c, 0x1c, 0x3c, 0x00, 0x00, 0x00, 0x00};
const char unsigned PROGMEM yang dipimpin = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0x03, 0xff, 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0x07, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0x07, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf7, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0fff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0xc0, 0x04, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 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};
const unsigned 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, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 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, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe1, 0xd8, 0xc3, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc1, 0xd9, 0x83, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0x3, 0xff, 0xf9, 0x83, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0xe1, 0xb9, 0x83, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0xf9, 0xb1, 0xa3, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x83, 0xf3, 0x07, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x83, 0x73, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x3f, 0xf, 0xf3, 0xf8, 0x02, 0x03, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xe3, 0xf8, 0x06, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xe3, 0xf1, 0xfc, 0x30, 0xff, 0xff, 0xff, 0xff, 0x ff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x3f, 0xff, 0xe3, 0xf1, 0xfc, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf3, 0xbc, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe0, 0x1c, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x04, 0xc7, 0x0f, 0x3c, 0xcc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xcf, 0xe1, 0xfc, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0x8f, 0xe3, 0xf8, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0f, 0xc7, 0xf8, 0xf8, 0x7f, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0x8f, 0xc7, 0xf8, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0x88, 0x07, 0x88, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0x07, 0x80, 0x00, 0x08, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf9, 0xff, 0xcf, 0xff, 0x80, 0x00, 0x08, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf8, 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, 0x1f, 0xf0, 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, 0x1f, 0xf0, 0xff, 0xff, 0xe0, 0x1c, 0x01, 0xc0, 0xe0, 0x1c, 0x01, 0x0f, 0x18, 0x07, 0xff, 0xff, 0x1f, 0xf0, 0x04, 0x03, 0x00, 0x00, 0x04, 0x01, 0x1f, 0x98, 0x03, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x88, 0x88, 0xfe, 0x1e, 0x00, 0x40, 0xff, 0x1f, 0x90, 0xe1, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x38, 0xf8, 0xfe, 0x3f, 0xb8, 0xf8, 0xfe, 0x1f, 0x91, 0xe1, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0xf9, 0xf8, 0xfe, 0x3f, 0xf8, 0xf8, 0xfe, 0x3f, 0x91, 0xc3, 0xff, 0xff, 0x1f, 0xf9, 0xff, 0xf0, 0xf1, 0xf0, 0xff, 0x0e, 0xf8, 0xf8, 0x0e, 0x3f, 0x93, 0x87, 0xff, 0xff, 0x1f, 0xf9, 0xff, 0xff, 0xf1, 0xf0, 0x1f, 0xc1, 0xf8, 0xf0, 0x0e, 0x3f, 0xa0, 0x0f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xf1, 0xf0, 0xff, 0xf8, 0x70, 0xf0, 0xfe, 0x3f, 0x20, 0x1f, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xf1, 0xf1, 0xf, 0xfc, 0x71, 0xf1, 0xfe, 0x3f, 0x20, 0x0f, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xfc, 0xe1, 0xe3, 0xfd, 0xfc, 0x71, 0xf1, 0xfe, 0x3f, 0x23, 0x8f, 0xff, 0xff, 0xbf, 0xf9, 0xff, 0xf, 0xe1, 0xe3, 0xfc, 0xf8, 0x61, 0xe3, 0xfe, 0x1e, 0x9f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xe1, 0xe3, 0xc4, 0x00, 0x61, 0xe1, 0xc6, 0x00, 0x63, 0xc7, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xe1, 0xe0, 0x04, 0x00, 0xe1, 0xe0, 0x07, 0x00, 0xe3, 0xc3, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xe1, 0xe0, 0x07, 0x03, 0xe1, 0xe0, 0x07, 0x01, 0xc3, 0xc3, 0xff, 0xff, 0x 0xff, 0xf9, 0xf, 0xf, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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 mod = 0;
int pause = 500;
int RL = 0;
int R1 = 10000;
int R2 = 10000;
int R3 = 47;
float mentah = 0;
float val = 0;
float ref = 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;
float IL = 0.00;
floref vinref = 0.00;
float vinbat = 0;
batal persediaan ()
{
pinMode (5, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP);
attachInterrupt (1, bouton, FALLING);
// secara lalai, kami akan menghasilkan voltan tinggi dari garis 3.3v secara dalaman! (kemas!) display.begin (SSD1306_SWITCHCAPVCC, 0x3C); / / inisikan dengan I2C addr 0x3C (untuk 128x32)
}
kekosongan gelung ()
{
float vref = readVcc () / 1000.0;
val = analogRead (A7);
mentah = analogRead (A2);
voutH = (val * vref) / 1024.0; // lihat teks
voutL = (raw * vref) /1024.0;
jika (voutL> 0)
{
jika (mode == 0) // caracteristique diketuai
{
float vref = (readVcc () / 1000.0);
val = analogRead (A7);
mentah = analogRead (A2);
ref = analogRead (A0);
voutH = (val * vref) / 1024.0; // lihat teks
voutL = (raw * vref) /1024.0;
vled = (voutH-voutL) * (R1 + R2) / R2;
vr = voutL;
IL = vr / R3;
display.clearDisplay ();
display.setTextColor (WHITE);
display.drawBitmap (96, 0, diterajui, 32, 64, 1);
display.setFont ();
display.setFont (& FreeSans9pt7b);
display.setCursor (0,12);
display.print ("ciri 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 ("IL:");
display.setCursor (28,60);
display.print (IL * 1000);
display.setCursor (75,60);
display.print ("mA");
paparan.display ();
kelewatan (jeda);
}
jika (mod == 1)
{// resistance
float vref = (readVcc () / 1000.0);
val = analogRead (A7);
mentah = 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);
paparan.print (vinref);
display.setCursor (75,35);
display.print ("V");
display.setCursor (0,60);
display.print ("RL:");
jika (RL <0)
{
display.setCursor (30,60);
display.print ("kosong");
}
lain
{
display.setCursor (30,60);
paparan.print (RL);
display.drawBitmap (73, 46, oms, 15, 15, 1);
}
paparan.display ();
kelewatan (jeda);
}
jika (mod == 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 ("Batterie:");
//display.fillRect(10,35,90,20,WHITE);
//display.fillRect(12,37,88,18,BLACK);
display.drawRoundRect (15, 40, 95, 24, 8, WHITE);
display.setCursor (0,35);
display.print ("Vbat:");
display.setCursor (50,35);
paparan.print (vinbat);
display.setCursor (90,35);
display.print ("V");
jika (vinbat> 0 && vinbat <7.0)
{// satu bar
display.fillRect (20,45,10,15, BLACK);
}
lain jika (vinbat> 7.0 && vinbat <7.8)
{// dua bar
display.fillRect (20,45,10,15, BLACK);
display.fillRect (30,45,5,15, WHITE);
display.fillRect (35,45,10,15, BLACK);
}
lain jika (vinbat> 7.8 && vinbat <8.4)
{// tiga bar
display.fillRect (20,45,10,15, BLACK);
display.fillRect (30,45,5,15, WHITE);
display.fillRect (35,45,10,15, BLACK);
display.fillRect (45,45,5,15, WHITE);
display.fillRect (50,45,10,15, BLACK);
}
lain jika (vinbat> 8.4 && vinbat <8.7)
{// empat bar
display.fillRect (20,45,10,15, BLACK);
display.fillRect (30,45,5,15, WHITE);
display.fillRect (35,45,10,15, BLACK);
display.fillRect (45,45,5,15, WHITE);
display.fillRect (50,45,10,15, BLACK);
display.fillRect (60,45,5,15, WHITE);
display.fillRect (65,45,10,15, BLACK);
}
lain jika (vinbat> 8.7 && vinbat <9.0)
{// lima bar
display.fillRect (20,45,10,15, BLACK);
display.fillRect (30,45,5,15, WHITE);
display.fillRect (35,45,10,15, BLACK);
display.fillRect (45,45,5,15, WHITE);
display.fillRect (50,45,10,15, BLACK);
display.fillRect (60,45,5,15, WHITE);
display.fillRect (65,45,10,15, BLACK);
display.fillRect (75,45,5,15, WHITE);
display.fillRect (80,45,10,15, BLACK);
}
lain jika (vinbat> 9.0 && vinbat <9.4)
{
display.fillRect (20,45,10,15, BLACK);
display.fillRect (30,45,5,15, WHITE);
display.fillRect (35,45,10,15, BLACK);
display.fillRect (45,45,5,15, WHITE);
display.fillRect (50,45,10,15, BLACK);
display.fillRect (60,45,5,15, WHITE);
display.fillRect (65,45,10,15, BLACK);
display.fillRect (75,45,5,15, WHITE);
display.fillRect (80,45,10,15, BLACK);
display.fillRect (90,45,5,15, WHITE);
display.fillRect (95,45,10,15, BLACK);
}
paparan.display (); kelewatan (jeda); }
} lain
{
display.clearDisplay ();
display.drawBitmap (0, 0, accueil, 128, 64, 1);
paparan.display ();
kelewatan (700);
paparan.display ();
kelewatan (1000);
}
}
tidak sah bouton ()
{
static unsigned long last_interrupt_time = 0;
unsigned long interrupt_time = millis ();
// Jika gangguan akan datang lebih cepat dari 200ms, anggap ia melantun dan abaikan
jika (interrupt_time - last_interrupt_time> 220) {
mod ++;
nada (6,2250,50);
jika (mod> 2)
mod = 0;
}
last_interrupt_time = interrupt_time;
}
panjang readVcc ()
ditakrifkan (__ AVR_ATmega2560__) ADMUX = _BV (REFS0)
Langkah 3: Kesedaran
Schemat dan PCB. Saya menggunakan EAGLES untuk merealisasikan shem dan pcb
tapak yang baik untuk pembuatan
jlcpcb.com/
Senarai bahan:
-1 Arduino mini pro 5v
http: //www.banggood.com/Wholesale-New-Ver-Pro-Min …
-1 0.96 Inch OLED Module 12864 128x64 Yellow Blue SSD1306 Pemandu I2C Serial Papan Paparan Sendiri Sendiri untuk Arduino Raspberry PI atau lain-lain
amaran kepada kutub Gnd Vcc atau 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 variable TSR3386F 3/8
http: //www.ebay.fr/itm/Suntan-TSR3386F-3-8-1-turn …
-1x10K berbeza TSR3386F 3/8
http: //www.ebay.fr/itm/Suntan-TSR3386F-3-8-1-turn …
-1xsitch hidup / mati SS12D00G4 SPDT 1P2T 2 Kedudukan 3 Pin PCB
http: //www.ebay.fr/itm/20pcs-SS12D00G4-SPDT-1P2T- …
-2x 1μF tantale
-3x100nF
-1x1N4148
Kuasa Kemungkinan pada bateri 9V atau batterie lipo 3.7V
-1x3.7V 9V 5V 2A Langkah Boleh Laraskan 18650 Bateri Litium Mengecas Modul Bersepadu Bersih
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-…
Langkah 4: Memuatkan Kod dan Ujian dan Masukkan Kotak
Untuk memuatkan kod menggunakan FTDI
dan uji dengan LED dan dioda yang berbeza
buat kotak 3d cetakan
pergi ke perkara yang sama:
www.thingiverse.com/thing:3594143
berkumpul dan nikmati
projek ini menggunakan beberapa perisian oleh sebab itu adalah kalkulator Pendidikan yang baik kod pcb 3d kalkulator elektronik dan lain-lain