Агуулгын хүснэгт:
Видео: Бодит цагийн орчны цаг: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Зорилго
Би энэ цагийг хийсэн, учир нь надад хаяглах боломжтой LED тууз байдаг бөгөөд би үүнийг ашиглахыг хүсч байна. Дараа нь миний өрөөнд хананд тохирсон сайн цаг байхгүй байгааг би харсан. Тиймээс би хэрэглэгчдийн сэтгэл санаа, хананы өнгөнөөс хамааран өнгөө өөрчилж чаддаг цаг хийхээр шийдлээ.
Алхам 1: YouTube видео
Бүрэн заавар авахын тулд энэ youtube видеог үзээрэй
Алхам 2: Процедур
Би эхлээд 24 х 15 инчийн фанер хавтанг авсан.
LED туузыг хэсэг болгон хайчилж, самбар дээр наагаад дараа нь гагнсаны дараа би бүхэлд нь хар диаграмын цаасаар боож, дээр нь термокан цаас хийж, долоон сегмент бүхий 4 дэлгэцтэй хурц таслагчаар термоканыг хайчилж ав. төвд хоёр нүх. Дараа нь доор өгөгдсөн схемийг ашиглан миний хэлхээг бэлэн болгов
мөн энэ бүхнийг самбарын ард наасан. Би мөн https://jlcpcb.com сайтаас захиалгат pcb захиалсан бөгөөд тэд хятадаас хамгийн хямд үнээр PCB -ийн хамгийн сайн загварыг гаргаж, дэлхий даяар хурдан, найдвартай хүргэж өгдөг. Бүх бүрэлдэхүүн хэсгүүдийг самбар дээр гагнасны дараа би талхны хавтанг авч, нимгэн тунгалаг ул мөрийн цаас ашиглан самбарын ард болон урд хэсгийг таглав. Цаг нь гайхалтай харагдаж, хананы гоо үзэсгэлэнг нэмэгдүүлдэг. Өөрчлөлтийн өнгө нь ямар ч хананд тохиромжтой.
Хэрэв танд энэ төсөл таалагдсан бол youtube дээр бүртгүүлэх эсвэл манай вэбсайт руу зочлоорой https://robocircuits.com Уншсанд баярлалаа!
Алхам 3: Код
/* Дүрмийг RoboCircuits зохион бүтээсэн
* Энэхүү кодын талаар тусламж авахын тулд манай вэбсайт https://robocircuits.com руу зочилно уу * Энэ код нь DS3231.h номын санг ашигладаг бөгөөд үүнийг https://robocircuits.com дээрээс татаж авах боломжтой * Видео бичлэгийг бүрэн эхээр нь үзэхийн тулд манай YouTube суваг дээр https:// youtube үзээрэй. com/робот хэлхээ */
#оруулах #оруулах
int i = 0, j = 0, k = 150;
// DS3231 rtc (SDA, SCL) тоног төхөөрөмжийн интерфейсийг ашиглан DS3231 -ийг эхлүүлнэ үү;
#ifdef _AVR_ ##endif -ийг оруулна уу
// Arduino дээрх аль зүү нь NeoPixels -тэй холбогдсон бэ? // Trinket эсвэл Gemma дээр бид үүнийг 1 #тодорхойлох PIN 6 болгож өөрчлөхийг санал болгож байна
// Arduino -д хэдэн NeoPixel хавсаргасан бэ? #NUMPIXELS -ийг тодорхойлох 45
// Бид NeoPixel номын санг тохируулахдаа хэдэн пиксел, ямар зүү ашиглан дохио илгээхийг хэлдэг. // Хуучин NeoPixel туузны хувьд та гуравдахь параметрийг өөрчлөх шаардлагатай болж магадгүйг анхаарна уу. Боломжит утгуудын талаар дэлгэрэнгүй мэдээллийг strandtest // жишээнээс үзнэ үү. Adafruit_NeoPixel пиксел = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 500; // хагас секундын турш хойшлуулах
void setup () {// Энэ нь Trinket 5V 16MHz -д зориулагдсан бөгөөд хэрэв та Trinket #if (_AVR_ATtiny85_) хэрэв (F_CPU == 16000000) clock_prescale_set (clock_div_1) ашигладаггүй бол эдгээр гурван мөрийг устгах боломжтой; #endif // trinket тусгай кодын төгсгөл
пиксел.begin (); // Энэ нь NeoPixel номын санг эхлүүлдэг. // Цуваа холболтыг тохируулах Serial.begin (115200); // rtc объектыг эхлүүлэх rtc.begin (); // Огноо, цагийг тохируулахын тулд дараах мөрүүдийг тайлбарлахгүй байж болно //rtc.setDOW(WEDNESDAY); // Долоо хоногийн өдрийг Ням гараг болгон тохируулах //rtc.setTime(12, 0, 0); // Цагийг 12:00:00 болгож тохируулах (24 цагийн формат) //rtc.setDate(1, 1, 2014); // Огноог 2014 оны 1 -р сарын 1 болгож тохируулна уу}
void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = газрын зураг (a, 0, 1025, 0, 150); // Ногоон өнгө j = газрын зураг (b, 0, 1025, 0, 150); // Цэнхэр өнгө k = газрын зураг (c, 0, 1025, 0, 150); // Улаан өнгө} өөр {i = 0; j = 0; k = 150; }
// Арын гэрэлтүүлгийн код (int x = 29; x <= 45; x ++) {piksel.setPixelColor (x, piksel. Color (i, j, k)); пиксел.шоу (); }
// Бодит цагийг rtc String -аас татаж авах x = rtc.getTimeStr (); // Цаг илгээх Serial.println (rtc.getTimeStr ()); int hour1 = x.charAt (0); int hour2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); цаг1 = цаг1-48; цаг2 = цаг2-48; мин1 = мин1-48; мин2 = мин2-48;
// Цаг шилжүүлэгч дээр цагийг харуулах (hour1) {// тохиолдол 0: тэг (0); // завсарлага; тохиолдол 1: нэг (0); завсарлага; тохиолдол 2: хоёр (0); завсарлага; анхдагч: nulll (0); завсарлага; } switch (hour2) {case 0: zero (7); завсарлага; тохиолдол 1: нэг (7); завсарлага; тохиолдол 2: хоёр (7); завсарлага; тохиолдол 3: гурван (7); завсарлага; тохиолдол 4: дөрвөн (7); завсарлага; тохиолдол 5: тав (7); завсарлага; тохиолдол 6: зургаа (7); завсарлага; тохиолдол 7: долоон (7); завсарлага; тохиолдол 8: найман (7); завсарлага; тохиолдол 9: есөн (7); завсарлага; анхдагч: nulll (7); завсарлага; } switch (min1) {case 0: zero (15); завсарлага; тохиолдол 1: нэг (15); завсарлага; тохиолдол 2: хоёр (15); завсарлага; тохиолдол 3: гурван (15); завсарлага; тохиолдол 4: дөрвөн (15); завсарлага; тохиолдол 5: тав (15); завсарлага; анхдагч: nulll (15); завсарлага; } switch (min2) {case 0: zero (22); завсарлага; тохиолдол 1: нэг (22); завсарлага; тохиолдол 2: хоёр (22); завсарлага; тохиолдол 3: гурван (22); завсарлага; тохиолдол 4: дөрвөн (22); завсарлага; тохиолдол 5: тав (22); завсарлага; тохиолдол 6: зургаа (22); завсарлага; тохиолдол 7: долоон (22); завсарлага; тохиолдол 8: найман (22); завсарлага; тохиолдол 9: есөн (22); завсарлага; анхдагч: nulll (22); завсарлага; } pixel.setPixelColor (14, пиксел. Color (i, j, k)); пиксел.шоу (); саатал (250); piksel.setPixelColor (14, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); саатал (250); }
хүчингүй тэг (int a) {piksel.setPixelColor (a+0, пиксел. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } void one (int a) {piksel.setPixelColor (a+0, пиксел. Color (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } void two (int a) {piksel.setPixelColor (a+0, piksel. Color (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); } хүчингүй гурван (int a) {piksel.setPixelColor (a+0, пиксел. Color (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+2, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } хүчингүй дөрвөн (int a) {piksel.setPixelColor (a+0, пиксел. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } хүчингүй таван (int a) {piksel.setPixelColor (a+0, пиксел. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } void six (int a) {piksel.setPixelColor (a+0, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+2, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } хүчингүй долоон (int a) {piksel.setPixelColor (a+0, пиксел. Color (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } void найман (int a) {piksel.setPixelColor (a+0, пиксел. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } хүчингүй есөн (int a) {piksel.setPixelColor (a+0, пиксел. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (i, j, k)); пиксел.шоу (); pixel.setPixelColor (a+2, piksel. Color (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (i, j, k)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (i, j, k)); пиксел.шоу (); } void nulll (int a) {piksel.setPixelColor (a+0, пиксел. Color (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+1, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+2, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+3, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+4, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+5, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); piksel.setPixelColor (a+6, пиксел. Өнгө (0, 0, 0)); пиксел.шоу (); }
Алхам 4: Баярлалаа
robocircuits.com хаягаар зочилно уу
Зөвлөмж болгож буй:
Бодит цагийн цагийн модулийг (DS3231) хэрхэн ашиглах вэ: 5 алхам
Бодит цагийн цагны модулийг (DS3231) хэрхэн ашиглах вэ: DS3231 бол өртөг багатай, туйлын нарийвчлалтай I2C бодит цаг (RTC) бөгөөд температурыг нөхсөн болор осциллятор (TCXO), болортой. Төхөөрөмж нь батерейны оролттой бөгөөд үндсэн хүчдэлийн үед цагийг зөв хэмждэг
Java (+-1s) ашиглан DS3231 RTC (Бодит цагийн цаг) -ыг нарийвчлалтай, хурдан, автоматаар тохируулах: 3 алхам
Java (+-1s) ашиглан DS3231 RTC (Бодит цагийн цаг) -ыг нарийвчлалтай, хурдан, автоматаар тохируулах: Энэхүү заавар нь Arduino болон жижиг Java програмыг ашиглан DS3231 бодит цагийн цагийг хэрхэн тохируулахыг танд үзүүлэх болно. Arduino -ийн цуваа холболт Энэ програмын үндсэн логик: 1. Arduino цуврал хүсэлт илгээдэг
Minitel бодит цагийн цаг: 5 алхам
Minitel Real Time Clock: 1978 онд France Telecom -ийн бүтээсэн Minitel нь мэдээлэл хайх, мессеж бичих үйлчилгээ юм. Дэлхийн сүлжээнээс өмнө хамгийн амжилттай сүлжээ гэж тооцогддог. 2008 онд 30 жилийн дараа сүлжээ эцэстээ хаагдсан. (Энэ талаар маш их мэдээлэл байна
DS1307 бодит цагийн цаг (RTC) модулийг ашиглан Arduino дээр суурилсан цаг ба 0.96: 5 алхам
DS1307 Real Time Clock (RTC) модулийг ашиглан Arduino -д суурилсан цаг & 0.96: Сайн байна уу залуусаа энэ хичээлээр бид DS1307 бодит цагийн модулийг ашиглан ажлын цагийг хэрхэн хийхийг харах болно. OLED дэлгэцүүд Тиймээс бид цагийг DS1307 модулаас унших болно. Үүнийг OLED дэлгэц дээр хэвлэ
Arduino IDE ашиглан M5stick C ашиглан цаг хийх - M5stack M5stick-C-тэй RTC бодит цагийн цаг: 4 алхам
Arduino IDE ашиглан M5stick C ашиглан цаг хийх | M5stack M5stick-C-тэй RTC бодит цагийн цаг: Сайн байна уу залуусаа, энэ зааварчилгаанд бид Arduino IDE ашиглан m5stack-ийн m5stick-C хөгжүүлэлтийн самбар ашиглан хэрхэн цаг хийхийг сурах болно. Тиймээс m5stick нь огноо, цаг, цагийг харуулах болно. дэлгэц дээр сарын долоо хоног