Proses manufaktur
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 4 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 21 | |||
![]() |
| × | 1 |
Penghitung waktu mundur mungkin merupakan proyek paling alami untuk tampilan 7-segmen 4 digit. Saat menjelajahi apa yang tersedia secara online, saya menemukan beberapa proyek, tetapi tidak menemukan proyek yang ada dalam pikiran saya, yaitu, penghitung waktu mundur yang dapat disesuaikan yang dapat Anda sesuaikan dengan mudah menggunakan tombol (dan bukan dengan mengunggah kode yang dimodifikasi). Jadi saya memutuskan untuk membuatnya.
Saya meluangkan waktu untuk menulis kode yang akan memudahkan penggunaan dan mengatur timer, sehingga dapat digunakan dalam praktik.
Kode yang disertakan juga dapat digunakan dalam proyek lain dengan tampilan 7 segmen 4 digit. Secara khusus, ia memiliki fungsi yang menampilkan nomor tertentu (0-9999) untuk interval waktu tertentu. Mungkin fungsi ini ada di beberapa perpustakaan, tetapi pencarian cepat tidak mengungkapkannya. Karena memprogram tampilan ini agak rumit (karena Anda hanya dapat menampilkan satu digit pada satu waktu), fungsi seperti itu sangat berguna.
#includeint digit_pin[] ={6, 9, 10, 11}; // PWM Menampilkan pin digit dari kiri ke kananint speakerPin =15;#define DIGIT_ON LOW#define DIGIT_OFF HIGHint segA =2; int segB =3; int segC =4; int segD =5; int segE =A0; //pin 6 digunakan bij display 1 untuk fungsi pwmnya segF =7; int segG =8; //int segPD =; int button1=13;int button2=12;int button3=16;int button4=17;int countdown_time =60;struct struct_digits { int digit[4]; };pengaturan batal() { pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); for (int i=0; i<4; i++) { pinMode(digit_pin[i], OUTPUT); } pinMode(pin speaker, OUTPUT); pinMode(tombol1,INPUT_PULLUP); pinMode(button2,INPUT_PULLUP); pinMode(button3,INPUT_PULLUP); pinMode(button4,INPUT_PULLUP);}void playTone(int nada, int durasi) { for (panjang k =0; k 0; q--){ PrintNumber(q,del); if (digitalRead(button2)==LOW) { return false; } } PrintNumber(0,0); playTone(1519.1000); return true;}void reset() { int m, nol, d, ditekan3 =0, ditekan4 =0; m=waktu_hitung mundur; struct struct_digits menggali; gali =IntToDigits(waktu_hitung mundur); while (digitalRead(button1)==HIGH) { for (int j=0; j<4; j++) { SwitchDigit(j); lightNumber(dig.digit[j]); penundaan (5); } if (digitalRead(button3)==LOW) { if (ditekan3 ==0 || ditekan3> 30) { if (countdown_time> 0) { countdown_time -=1; } gali =IntToDigits(waktu_hitung mundur); } ditekan3 +=1; } else if (digitalRead(button4)==LOW) { if (ditekan4 ==0 || ditekan4> 30) { if (countdown_time <9999) { countdown_time +=1; } gali =IntToDigits(waktu_hitung mundur); } ditekan4 +=1; } if (digitalRead(button3)==HIGH) { press3=0; } if (digitalRead(button4)==HIGH) { press4=0; } }}loop kosong(){ reset(); while (!Countdown(countdown_time,962)) { reset(); } while (digitalRead(button2)==1){};}
Proses manufaktur
Komponen dan persediaan Arduino UNO × 1 Sensor Suhu &Kelembaban DHT11 (4 pin) × 1 Maxim Integrated DS3231 × 1 Resistor 10k ohm × 1 Tampilan grafis OLED 128x64 Adafruit × 1 Breadboard (generik) × 1 Kabel jumper (generik) × 15
Komponen dan persediaan Arduino UNO × 1 Kabel jumper (generik) × 1 Tampilan 7 Segmen × 1 Resistor 221 ohm × 1 Keypad Matriks 3x4 Membran Adafruit × 1 Aplikasi dan layanan online Arduino IDE Tentang proyek ini Ini adalah
Komponen dan persediaan Arduino UNO × 1 Sensor Ultrasonik - HC-SR04 (Generik) × 1 Adafruit 128X64 LED LCD OLED × 1 Aplikasi dan layanan online Arduino IDE Tentang proyek ini Cara menggunakan layar OLED Di sini Anda memiliki tutorial
Komponen dan persediaan Arduino UNO × 1 Adafruit LCD Standar - 16x2 Putih di Atas Biru × 1 Sakelar Tombol Tekan SparkFun 12mm × 4 Resistor 10k ohm × 4 Resistor 221 ohm Yah, 220 ohm... × 2 Potensiometer Putaran Tunggal- 100k ohm × 1