Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

TM1637 Jam Digital dengan pengaturan waktu dan fungsi alarm

Komponen dan persediaan

Arduino Nano R3
× 1
TM1637 4 digit tampilan
× 1
Modul RTC DS1302
× 1
SparkFun LilyPad LED Biru (5pcs)
× 1
Buzzer
× 1

Tentang proyek ini

Ini adalah prototipe mekanisme pengaturan waktu dan alarm yang saya rencanakan untuk digunakan dalam proyek jam digital saya berikutnya. Saya harap ini berguna bagi Anda. Jika Anda memikirkan perbaikan apa pun, beri tahu saya. Saya akan lebih senang untuk melihat ke dalamnya dan berpotensi memasukkannya ke dalam kode saya.

Anda dapat menonton seluruh tutorial di

Jika Anda menyukai konten ini dan Anda ingin mendukung saya dalam membuat video serupa, kunjungi halaman web Patreon saya

https://www.patreon.com/MariosIdeas

Atau

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url

Kode

  • Menampilkan waktu dari modul RTC ditambah pengaturan waktu dan fungsi pengaturan Alarm
Menampilkan waktu dari modul RTC ditambah pengaturan waktu dan fungsi pengaturan AlarmArduino
Kode ini membaca waktu saat ini dari modul RTC. Kemudian juga memungkinkan untuk memperbarui waktu saat ini dan juga mengatur waktu Alarm.
Tindakan penyetelan dilakukan menggunakan 3 tombol.
// Mario's Ideas// Jam Digital TM1637 dengan Fungsi Penyetelan dan Alarm#include #include #include  //// Deklarasi modul RTC// PIN CLK, DAT, RSTvirtuabotixRTC myRTC(A1,A2,A3);// Variabel untuk menyimpan nilai sebelumnya membaca modul RTC menit;int jam;// Variabel untuk menyimpan waktu di mana Alarm harus berbunyi int Alarm_minutes=05;int Alarm_hours=18;uint8_t Blank[] ={0x0};int POSITION=0;//Tabel untuk menyimpan 4 digit, digunakan dalam waktu dan prosedur pengaturan Alarmint digit[3];int interval=0;#define Alarm 9 // Tombol untuk mengaktifkan atau menonaktifkan mode alarm#define Buzer 13#define Led 8//Statusboolean Alarm_set=false;boolean Alarm_in_progress=false;boolean Setup_on=false;// 4digit display connection pins (Digital Pins)#define CLK 4#define DIO 5// Deklarasi tampilan 4 digitTM1637Jam tampilan(CLK, DIO);void setup() { attachInterrupt(digitalPinToInterrupt(2), Press_A_Button,RISING); attachInterrupt(digitalPinToInterrupt(3), Tekan_B_Button,RISING); pinMode(Alarm, INPUT); pinMode(Buzer, OUTPUT); pinMode(Led, OUTPUT); digitalWrite(Buzer,RENDAH); clock.setBrightness(0x0f); Serial.begin(9600);}void Tekan_A_Button(){ if (interval>3){ if (Setup_on==false){ Setup_on=true; if (Alarm_set==true){ digit[0]=(int)Alarm_hours/10; digit[1]=Alarm_hours-((int)Alarm_hours/10)*10; digit[2]=(int)Alarm_minutes/10; digit[3]=Alarm_minutes-((int)Alarm_minutes/10)*10; } else { digit[0]=(int)myRTC.hours/10; digit[1]=myRTC.hours-((int)myRTC.hours/10)*10; digit[2]=(int)myRTC.minutes/10; digit[3]=myRTC.minutes-((int)myRTC.minutes/10)*10; } } else{ POSISI++; if (POSITION==4){ if (Alarm_set==true){ Alarm_minutes=digits[3]+digits[2]*10; Alarm_hours=digit[1]+digit[0]*10; } else { myRTC.setDS1302Time( 0, digits[3]+digits[2]*10, digits[1]+digits[0]*10,myRTC.dayofweek, myRTC.dayofmonth, myRTC.month, myRTC.year); clock.showNumberDec(digit[0],false,1,0); clock.showNumberDec(digit[1],false,1,1); clock.showNumberDec(digit[2],false,1,2); clock.showNumberDec(digit[3],false,1,3); } POSISI=0; Setup_on=salah; } } } interval=0;}void Tekan_B_Button(){ if (interval>3){ if(Setup_on){ digits[POSITION]=digits[POSITION]+1; jika (POSITION==0 dan digit[POSITION]==3) digit[POSITION]=0; jika (POSISI!=0 dan angka[POSISI]==10) angka[POSISI]=0; interval=0; } } interval=0;}void loop() { if (digitalRead(Alarm)==HIGH dan Alarm_set==false ){ if (interval>30){ digitalWrite(Led,HIGH); Alarm_set=benar; penundaan (300); } } else{ if (digitalRead(Alarm)==HIGH dan Alarm_set==true){ if (interval>30){ Alarm_set=false; Alarm_in_progress=salah; digitalWrite(Led,RENDAH); penundaan (300); } } } myRTC.updateTime(); if (Setup_on==true){ clock.showNumberDec(digit[0],false,1,0); clock.showNumberDec(digit[1],false,1,1); clock.showNumberDec(digit[2],false,1,2); clock.showNumberDec(digit[3],false,1,3); penundaan (200); clock.setSegments(Kosong, 1,POSISI); penundaan (200); clock.showNumberDec(digit[0],false,1,0); clock.showNumberDec(digit[1],false,1,1); clock.showNumberDec(digit[2],false,1,2); clock.showNumberDec(digit[3],false,1,3); } else{ if (myRTC.minutes==Alarm_minutes dan myRTC.hours==Alarm_hours dan Alarm_set==true dan Setup_on==false){ Alarm_in_progress=true; } if (Alarm_in_progress){ digitalWrite(Buzer,HIGH); penundaan (1000); digitalWrite(Buzer,RENDAH); penundaan (1000); } if (myRTC.minutes!=minutes){ clock.showNumberDecEx((int)myRTC.hours/10*1000+(myRTC.hours-((int)myRTC.hours/10)*10)*100+ (int) myRTC.minutes/10*10+myRTC.minutes-((int)myRTC.minutes/10)*10, (0x80>> 1), benar); menit=myRTC.menit; jam=myRTC.jam; } } if (interval<200) interval++;}

Skema


Proses manufaktur

  1. Jenis Sensor Analog dan Digital dengan Aplikasi
  2. Alarm air raspberry pi 2 dengan tukang sepatu plus
  3. Membuat robot dengan Raspberry Pi dan Python
  4. Menjelajahi transformasi digital dengan Fiix dan IDC
  5. Menghemat Waktu dan Uang dengan Pemantauan Kondisi
  6. 8 cara untuk memangkas biaya pemeliharaan dan meningkatkan pendapatan dengan perangkat lunak pemeliharaan
  7. Portenta dan Sensor Termokopel (dengan MAX6675)
  8. Mempercepat transformasi digital dengan Data IoT, berkat Cisco dan IBM
  9. Jam Alarm Sederhana dengan DS1302 RTC
  10. Fungsionalitas dan Kemajuan Bearing