Агуулгын хүснэгт:
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Arduino секундомерыг интернетээс хайна уу. Хэрэв та энд байгаа бол та үүнийг л хийсэн байх. Хувийн туршлагаас харахад интернет дээрх аливаа секундомер нь хэтэрхий төвөгтэй (кодын хувьд, эхлэгчдэд зориулсан), эсвэл хэтэрхий хялбаршуулсан, практик биш, зүгээр л дахин тохируулалгүйгээр хэдэн секунд тоолсоор байдаг гэж би хэлж чадна.
Та ч бас тэгж бодож байна, тийм үү? За яахав дээ. Би үүнийг хийсэн, үүнээс гадна би миллис () функцээс шууд оруулдаг. Төгсгөлгүй тооны шугам (49 хоног хүртэл, эсвэл бусад). Хамгийн сайхан хэсэг? Энэ бол зөвхөн нэг мөр юм.
Дахин тохируулах нь секунд хэмжигчийн хамгийн хэцүү хэсэг юм. Дунд шатны програмистуудын хувьд хэрэв та хараахан амжаагүй байгаа бол үүнийг үргэлжлүүлээд секунд, минут, цагийг хамт хийж үзээрэй. Та миний ярьж байгаа зүйлийг ойлгох болно.
Анхлан суралцагчдын хувьд үргэлжлүүлэн уншиж, миний оюун ухааны авьяасыг гайхаарай.
Зүгээр л тоглож байна, гэхдээ миний гаргаж ирсэн шийдэл бол маш цэвэрхэн юм. Энэ нь юу болохыг энд харуулав.
Алхам 1: Шийдэл
Тиймээс асуудал бол дахин тохируулах явдал юм. Бидний хүсч буй зүйл бол дараалсан тоонуудын төгсгөлгүй гаралтаас (миллис () - үндсэндээ миллисекунд буюу үнэндээ 1.024 миллисекунд, гэхдээ хамаагүй) тоонуудын тасралтгүй, давтагдах мөчлөг юм.
Оюун санаанд орж ирэх хамгийн эхний зүйл бол time1 -time2, хоцролт гэх мэт ялгааг ашиглах явдал юм. Үүнийг март. Ачаалахад дор хаяж зургаан мөр код, if илэрхийлэл шаардлагатай.
Тиймээс үүнийг хэрхэн яаж хийхийг эндээс үзнэ үү. Бидэнд хязгаар бий (59). Бид 0 -ээс 59 хүртэлх бүх зүйлийг дахин дахин давтахыг хүсч байна. Яаж?
Хэрэв бид миллис функцийн үлдэгдлийг 59 -д хуваасан бол яах вэ? Бинго!
Тиймээс ийм байх ёстой:
(60 [хязгаар нь 59] + миллис () / 1000 [1000 миллисекунд бол секунд] % 60
За, тайлбарлая. (%) эсвэл модуль нь үндсэндээ (+) шиг үлдэгдлийг олдог оператор юм. 9 % 2 = 1 шиг.
Тиймээс:
- үлдэгдэл (60 + 0) % 60 = 0
- үлдэгдэл (60 + 1) % 60 = 1
- үлдэгдэл (60 + 58) % 60 = 58
- үлдэгдэл (60 + 59) % 60 = 59
- үлдэгдэл (60 + 60) % 60 = 60
- үлдэгдэл (60 + 61) % 60 = 1
Хараач!
Одоо хэсгүүдийн хувьд.
Алхам 2: эд ангиуд
Тийм ч их биш
- Ямар ч ардуино
-
Аливаа дэлгэц (би 0.96 инчийн OLED ашигладаг байсан, гэхдээ та өөрт байгаа бүх зүйлээ ашиглаж болно, зүгээр л дэлгэцийнхээ дэлгэцийн функцэд зөв хувьсагчийг оруулаарай.)
Ингээд л болоо.
Алхам 3: Код
Явцгаая. Үүнийг маш тодорхой тайлбарласан тул ямар ч асуудал гарах ёсгүй. 0.96 OLED -ийн номын сангууд болон init нь кодонд байна. Хэрэв өөр бол үүнийг өөрийн дэлгэцээр солино уу.
// 0.96 OLED сангууд
#оруулах
#оруулах
#оруулах
#оруулах
// 0.96 OLED Init
#OLED_RESET -ийг тодорхойлох 4
Adafruit_SSD1306 дэлгэц (OLED_RESET);
int секунд;
int минут;
int цаг;
хүчингүй тохиргоо () {
// Бусад 0.96 инчийн OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (ЦАГААН); }
void loop () {
секунд = (60 + миллис () / 1000) % 60;
минут = (60 + миллис () / 60000) % 60; цаг = (25 + миллис () / 3600000) % 25;
display.clearDisplay ();
display.setCursor (0, 22); // дэлгэцийг дахин тохируулснаас хойш хэдэн цагийн турш хэвлэх.хэвлэх (цаг); display.print ("h:");
// дахин тохируулснаас хойш хэдэн минутын минут хэвлэх
дэлгэц.хэвлэх (минут);
display.print ("m:");
// дэлгэцийг дахин тохируулснаас хойшхи секундын тоог хэвлэх.хэвлэх (секунд); display.print ("s");
display.setCursor (0, 0);
display.print ("Секундомер"); display.drawLine (0, 18, 128, 18, ЦАГААН); display.display ();
}
Алхам 4: Төгсгөлийн төгсгөл …
Ингээд л боллоо! Одоо очоод хүссэн зүйлээ хий. Өндөг хийх эсвэл хөршүүдээ авах.
Баяртай, Ааруш
Зөвлөмж болгож буй:
Энгийн CloudX M633 дижитал секундомер: 4 алхам
Энгийн CloudX M633 дижитал секундомер: Энэхүү төсөлд бид гар утсан дээрх секундомер шиг цаг, минут, секундын бүртгэл хөтлөх боломжтой дижитал цагийн хувилбарыг гаргах гэж байна! Бид LCD дэлгэц ашиглан цагийг харуулах болно
PIR, 3D хэвлэсэн хулуу, Troll Arduino -тэй нийцтэй аудио пранкер/практик хошигнол ашиглан Halloween -ийг айлгадаг машин: 5 алхам
PIR, 3D хэвлэмэл хулуу, Troll Arduino -тэй нийцтэй аудио пранкер/практик хошигнолын самбар ашиглан Halloween -ийг айлгадаг машин: EngineeringShock Electronics -ийн Патрик Томас Митчелл бүтээсэн, мөн Kickstarter дээр бүрэн санхүүжсэн байсан. Би хэдэн долоо хоногийн өмнө шагналыг авсан бөгөөд ашиглалтын зарим жишээг бичиж, Arduino номын санг бий болгоход тусалсан
Практик Arduino ESP32 утасгүй ханын гаралтын LED зурвас хянагч: 6 алхам
Практик Arduino ESP32 утасгүй хананы гаралтын LED зурвас хянагч: Энэ бол хямд үнэтэй LED зурвас хийхэд маш практик DIY утасгүй ханын гаралтын хянагч юм.Энэ нь EBay дээр зарагддаг хямд wifi хянагчийг орлох болно. Тэд RGB Led туузтай сайн ажилладаг. EBay Wifi хянагч нь сайн бүтээгдээгүй бөгөөд амархан эвдэрдэг. Алс
1602 LCD товчлуурын бамбай ашиглан Arduino [+Практик төслүүд]: 7 алхам
1602 LCD Keypad Shield W/ Arduino [+Практик төслүүд] -ийг ашиглах нь: Та энэ болон бусад гайхалтай хичээлүүдийг ElectroPeak -ийн албан ёсны вэбсайтаас уншиж болно. Энэхүү гарын авлагад та Arduino LCD товчлуурын бамбайг 3 практик төслөөр хэрхэн ашиглах талаар сурах болно. Бамбайг хэрхэн тохируулж, түлхүүрүүдийг таних вэHo
Энгийн Arduino цаг / Секундомер: 6 алхам (зурагтай)
Энгийн Arduino цаг / Секундомер: Энэ " зааварчилгаа өгөх " танд хэдхэн энгийн алхамаар секундомерын үүрэг гүйцэтгэдэг энгийн Arduino Uno цаг хийхийг зааж, зааж өгөх болно