Sadržaj:
- Korak 1: Prikupljanje materijala
- Korak 2: Ožičenje svih komponenti
- Korak 3: Programiranje
- Korak 4: Rad i završna obrada Dodirnite
Video: Odličan Arduino sat: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Vidjeli smo mnogo projekata s arduinom. Ali sada ću vam pokazati kako izgraditi sat sa arduinom i 2 LCD ekrana. Jednostavno je, ali potpuno zabavno. Svako može da proba. Dakle, pripremite se !!!
Korak 1: Prikupljanje materijala
Ako želite napraviti, trebat će vam neki predmeti. Ove artikle možete lako kupiti u najbližoj maloprodaji.
Šta će vam trebati:
- Arduino UNO R3Neo
- Pixel Ring 24
- Bread Board
- LCD 16x2
- Otpornik od 100 ohma (2)
- Otpor 120 Ohma (2)
- 10 K Ohm otpornik (2)
- Pritisnite dugme
Dijagram ovih stvari prikazan je gore. Možete koristiti bilo koju ploču za kruh. Treba vam 6 otpornika čija je vrijednost zapisana gore na popisu. Za povezivanje će vam trebati i žice. Ove LCD ekrane ćete koristiti za prikaz. Način ožičenja možete vidjeti u sljedećem koraku.
Korak 2: Ožičenje svih komponenti
Stvari koje će vam trebati. Pokazao sam u prethodnom koraku, pa uzmite žicu sa žicom.
Koraci ožičenja:
- Postavite otpornik od 100 Ohma na gornju stranu ploče za kruh na negativnoj liniji.
- Postavite otpornik od 120 ohma na gornju stranu ploče za kruh na pozitivnoj liniji.
- Postavite dugme (dijagram je prikazan gore)
- Postavite otpornik od 10 K Ohm ispod dugmeta
- Priključite otpornike od 100 ohma (oba) na LCD ekran sa 'LED katodom'
- Priključite otpornike od 120 ohma (oba) na LCD ekran sa 'LED anodom'
- Spojite negativni terminal ploče za kruh s gornje linije na 'Čitanje/Zapisivanje'.
- Spojite negativni terminal ploče za kruh s gornje linije na 'Contrast'.
- Spojite pozitivni terminal ploče za kruh s donje linije na 'Vcc'.
- Spojite još jedan negativni priključak ploče za kruh s gornjeg reda ploče za kruh na 'GND'.
- Učinite isto na 2. LCD -u sve ovo povežite kao prethodni.
- Spojite preostale otpornike na negativnu liniju krušne ploče.
- Spojite tipke na pozitivnu liniju.
- Spojite pozitivni i negativni terminal ploče za kruh na "Neo Pixel Ring 24".
Sada ste povezali sve komponente. Ali arduino i dalje ostaje. Dijagram ovoga prikazan gore.
Koraci ožičenja arduina na sve komponente:
- Spojite tipke (Terminal22) na A0 i A1 arduina.
- Spojite GND na negativni priključak ploče za kruh.
- Spojite 5V na pozitivni priključak ploče za kruh.
- Priključite D13 arduina na "Snagu" "Neo Pixel Ring 24"
- Spojite D7 arduina na "Register Select" na LCD1.
- Spojite D8 arduina na "Omogući" LCD 2.
- Spojite D9 arduina na "DB4" LCD 2.
- Spojite D10 arduina na "DB5" LCD 2.
- Spojite D11 arduina na "DB6" LCD 2.
- Spojite D12 arduina na "DB7" LCD 2.
- Spojite D1 arduina na "Register Select" LCD 1.
- Spojite D2 arduina na "Omogući" LCD 1.
- Spojite D3 arduina na "DB4" LCD 2.
- Spojite D4 arduina na "DB5" LCD 2.
- Spojite D5 arduina na "DB6" LCD 2.
- Spojite D6 arduina na "DB7" LCD 2.
Dijagram svih komponenti nakon ožičenja prikazan je gore.
Korak 3: Programiranje
Učinili ste krug kompletnim. Ali to ne funkcionira dok ga ne programirate za ovaj projekt. Ako ste stručni i imate iskustva, lako ćete to programirati. Nadam se da ćete znati softver koji se koristi u tu svrhu. Programirajte ga u skladu s tim ako želite unijeti promjene u programiranje, ali morate zapamtiti da mora biti ispravno. U suprotnom neće raditi. Ako ga ne možete programirati, možete ga kopirati odavde ili preuzeti iz drugog izvora.
#include
// Lijevi LCD LiquidCrystal lcd1 (7, 8, 9, 10, 11, 12); // Desni LCD LiquidCrystal lcd2 (1, 2, 3, 4, 5, 6); #include #ifdef _AVR_ #include #endif/ / NeoPixel Ring 24 #define PIN 13 #definirajte NUMPIXELS 24Adafruit_NeoPixel piksela = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 50; long previousMillis = 0; dugi interval = 950; int sekunde = 0; int sat = 0; int hourButtonState = 0; int minButtonState = 0; bajt pun [8] = {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111,}; polovina bajtaL [8] = {B11111, B11111, B11111, B11111, B00000, B00, B00000,}; polovina bajtaR [8] = {B00000, B00000, B00000, B00000, B11111, B11111, B11111, B11111,}; // rutina postavljanja se pokreće jednom kada pritisnete reset: void setup () {// set pinovi dugmeta pinMode (14, ULAZ); // postavljanje minuta pinMode (15, INPUT); // postavlja sat // pravi prilagođene znakove lcd1.createChar (0, halfR); lcd1.createChar (1, polaL); lcd1.createChar (2, puno); lcd2.createChar (0, halfR); lcd2.createChar (1, polaL); lcd2.createChar (2, puno); // postavljanje veličine LCD1 lcd1.begin (16, 2); // postavljanje veličine LCD2 lcd2.begin (16, 2); // prsten piksela pixels.begin (); // početno postavljanje lcd1.clear (); num0lcd1 (); lcd2.clear (); num0lcd2 (); //pixels.setPixelColor(17, pixels. Color (0, 150, 0)); //pixels.setPixelColor(18, pixels. Color (0, 150, 0)); pixels.show (); } // rutina petlje radi uvijek i iznova zauvijek: void loop () {hourButtonState = digitalRead (15); minButtonState = digitalRead (14); if (hourButtonState == HIGH) {sat ++; runClock (); } if (minButtonState == HIGH) {sekundi ++; runClock (); } bez potpisa duga strujaMillis = millis (); if (currentMillis - previousMillis> interval) {if (sekunde == 59) {sekundi = 0; if (sat == 11) {sat = 0; } else {sat ++; }} else {sekunde ++; } previousMillis = trenutniMillis; runClock (); } kašnjenje (10); } void runClock () {if (sekunde == 0) {lcd1.clear (); num0lcd1 (); lcd2.clear (); num0lcd2 (); } if (sekunde == 1 || sekunde == 11 || sekunde == 21 || sekunde == 31 || sekunde == 41 || sekunde == 51) {lcd1.clear (); num1lcd1 (); } if (sekunde == 2 || sekunde == 12 || sekunde == 22 || sekunde == 32 || sekunde == 42 || sekunde == 52) {lcd1.clear (); num2lcd1 (); } if (sekunde == 3 || sekunde == 13 || sekunde == 23 || sekunde == 33 || sekunde == 43 || sekunde == 53) {lcd1.clear (); num3lcd1 (); } if (sekunde == 4 || sekunde == 14 || sekunde == 24 || sekunde == 34 || sekunde == 44 || sekunde == 54) {lcd1.clear (); num4lcd1 (); } if (sekunde == 5 || sekunde == 15 || sekunde == 25 || sekunde == 35 || sekunde == 45 || sekunde == 55) {lcd1.clear (); num5lcd1 (); } if (sekunde == 6 || sekunde == 16 || sekunde == 26 || sekunde == 36 || sekunde == 46 || sekunde == 56) {lcd1.clear (); num6lcd1 (); } if (sekunde == 7 || sekunde == 17 || sekunde == 27 || sekunde == 37 || sekunde == 47 || sekunde == 57) {lcd1.clear (); num7lcd1 (); } if (sekunde == 8 || sekunde == 18 || sekunde == 28 || sekunde == 38 || sekunde == 48 || sekunde == 58) {lcd1.clear (); num8lcd1 (); } if (sekunde == 9 || sekunde == 19 || sekunde == 29 || sekunde == 39 || sekunde == 49 || sekunde == 59) {lcd1.clear (); num9lcd1 (); } if (sekunde == 10) {lcd1.clear (); num0lcd1 (); lcd2.clear (); num1lcd2 (); } if (sekunde == 20) {lcd1.clear (); num0lcd1 (); lcd2.clear (); num2lcd2 (); } if (sekunde == 30) {lcd1.clear (); num0lcd1 (); lcd2.clear (); num3lcd2 (); } if (sekunde == 40) {lcd1.clear (); num0lcd1 (); lcd2.clear (); num4lcd2 (); } if (sekunde == 50) {lcd1.clear (); num0lcd1 (); lcd2.clear (); num5lcd2 (); } if (sat == 0) {pixels.setPixelColor (15, pixels. Color (0, 0, 0)); pixels.setPixelColor (16, pixels. Color (0, 0, 0)); pixels.setPixelColor (17, pixels. Color (0, 150, 0)); pixels.setPixelColor (18, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 1) {pixels.setPixelColor (17, pixels. Color (0, 0, 0)); pixels.setPixelColor (18, pixels. Color (0, 0, 0)); pixels.setPixelColor (19, pixels. Color (0, 150, 0)); pixels.setPixelColor (20, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 2) {pixels.setPixelColor (19, pixels. Color (0, 0, 0)); pixels.setPixelColor (20, pixels. Color (0, 0, 0)); pixels.setPixelColor (21, pixels. Color (0, 150, 0)); pixels.setPixelColor (22, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 3) {pixels.setPixelColor (21, pixels. Color (0, 0, 0)); pixels.setPixelColor (22, pixels. Color (0, 0, 0)); pixels.setPixelColor (23, pixels. Color (0, 150, 0)); pixels.setPixelColor (0, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 4) {pixels.setPixelColor (23, pixels. Color (0, 0, 0)); pixels.setPixelColor (0, pixels. Color (0, 0, 0)); pixels.setPixelColor (1, pixels. Color (0, 150, 0)); pixels.setPixelColor (2, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 5) {pixels.setPixelColor (1, pixels. Color (0, 0, 0)); pixels.setPixelColor (2, pixels. Color (0, 0, 0)); pixels.setPixelColor (3, pixels. Color (0, 150, 0)); pixels.setPixelColor (4, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 6) {pixels.setPixelColor (3, pixels. Color (0, 0, 0)); pixels.setPixelColor (4, pixels. Color (0, 0, 0)); pixels.setPixelColor (5, pixels. Color (0, 150, 0)); pixels.setPixelColor (6, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 7) {pixels.setPixelColor (5, pixels. Color (0, 0, 0)); pixels.setPixelColor (6, pixels. Color (0, 0, 0)); pixels.setPixelColor (7, pixels. Color (0, 150, 0)); pixels.setPixelColor (8, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 8) {pixels.setPixelColor (7, pixels. Color (0, 0, 0)); pixels.setPixelColor (8, pixels. Color (0, 0, 0)); pixels.setPixelColor (9, pixels. Color (0, 150, 0)); pixels.setPixelColor (10, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 9) {pixels.setPixelColor (9, pixels. Color (0, 0, 0)); pixels.setPixelColor (10, pixels. Color (0, 0, 0)); pixels.setPixelColor (11, pixels. Color (0, 150, 0)); pixels.setPixelColor (12, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 10) {pixels.setPixelColor (11, pixels. Color (0, 0, 0)); pixels.setPixelColor (12, pixels. Color (0, 0, 0)); pixels.setPixelColor (13, pixels. Color (0, 150, 0)); pixels.setPixelColor (14, pixels. Color (0, 150, 0)); pixels.show (); } if (sat == 11) {pixels.setPixelColor (13, pixels. Color (0, 0, 0)); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.setPixelColor (15, pixels. Color (0, 150, 0)); pixels.setPixelColor (16, pixels. Color (0, 150, 0)); pixels.show (); }} void num0lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); // puni lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); // napola desno lcd1.setCursor (1, 0); lcd1.write (bajt (1)); // pola lijevo lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 0); lcd1.write (bajt (1)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 0); lcd1.write (bajt (1)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 0); lcd1.write (bajt (1)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 0); lcd1.write (bajt (1)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 0); lcd1.write (bajt (1)); lcd1.setCursor (7, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 0); lcd1.write (bajt (1)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (8, 0); lcd1.write (bajt (1)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 0); lcd1.write (bajt (1)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 0); lcd1.write (bajt (1)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 0); lcd1.write (bajt (1)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 0); lcd1.write (bajt (1)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 0); lcd1.write (bajt (1)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 0); lcd1.write (bajt (1)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num1lcd1 () {lcd1.setCursor (0, 1); lcd1.write (bajt (0)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 1); lcd1.write (bajt (0)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (15, 1); lcd1.write (bajt (0)); } void num2lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); // puni lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 0); lcd1.write (bajt (1)); // pola lijevo lcd1.setCursor (2, 0); lcd1.write (bajt (1)); lcd1.setCursor (3, 0); lcd1.write (bajt (1)); lcd1.setCursor (4, 0); lcd1.write (bajt (1)); lcd1.setCursor (5, 0); lcd1.write (bajt (1)); lcd1.setCursor (6, 0); lcd1.write (bajt (1)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num3lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); // puni lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); // napola desno lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num4lcd1 () {lcd1.setCursor (0, 1); lcd1.write (bajt (0)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 0); lcd1.write (bajt (1)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 0); lcd1.write (bajt (1)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 0); lcd1.write (bajt (1)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 0); lcd1.write (bajt (1)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 0); lcd1.write (bajt (1)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 0); lcd1.write (bajt (1)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 0); lcd1.write (bajt (1)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (15, 0); lcd1.write (bajt (1)); lcd1.setCursor (15, 1); lcd1.write (bajt (0)); } void num5lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); // puni lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); // napola desno lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 0); lcd1.write (bajt (1)); lcd1.setCursor (9, 0); lcd1.write (bajt (1)); lcd1.setCursor (10, 0); lcd1.write (bajt (1)); lcd1.setCursor (11, 0); lcd1.write (bajt (1)); lcd1.setCursor (12, 0); lcd1.write (bajt (1)); lcd1.setCursor (13, 0); lcd1.write (bajt (1)); lcd1.setCursor (14, 0); lcd1.write (bajt (1)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num6lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); // puni lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); // napola desno lcd1.setCursor (1, 0); lcd1.write (bajt (1)); // pola lijevo lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 0); lcd1.write (bajt (1)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 0); lcd1.write (bajt (1)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 0); lcd1.write (bajt (1)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 0); lcd1.write (bajt (1)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 0); lcd1.write (bajt (1)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 0); lcd1.write (bajt (1)); lcd1.setCursor (9, 0); lcd1.write (bajt (1)); lcd1.setCursor (10, 0); lcd1.write (bajt (1)); lcd1.setCursor (11, 0); lcd1.write (bajt (1)); lcd1.setCursor (12, 0); lcd1.write (bajt (1)); lcd1.setCursor (13, 0); lcd1.write (bajt (1)); lcd1.setCursor (14, 0); lcd1.write (bajt (1)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num7lcd1 () {lcd1.setCursor (0, 1); lcd1.write (bajt (0)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 1); lcd1.write (bajt (0)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (10,1); lcd1.write (bajt (0)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num8lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); // puni lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); // napola desno lcd1.setCursor (1, 0); lcd1.write (bajt (1)); // pola lijevo lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 0); lcd1.write (bajt (1)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 0); lcd1.write (bajt (1)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 0); lcd1.write (bajt (1)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 0); lcd1.write (bajt (1)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 0); lcd1.write (bajt (1)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (8, 0); lcd1.write (bajt (1)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 0); lcd1.write (bajt (1)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 0); lcd1.write (bajt (1)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 0); lcd1.write (bajt (1)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 0); lcd1.write (bajt (1)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 0); lcd1.write (bajt (1)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 0); lcd1.write (bajt (1)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); } void num9lcd1 () {lcd1.setCursor (0, 0); lcd1.write (bajt (2)); lcd1.setCursor (0, 1); lcd1.write (bajt (2)); lcd1.setCursor (1, 1); lcd1.write (bajt (0)); lcd1.setCursor (2, 1); lcd1.write (bajt (0)); lcd1.setCursor (3, 1); lcd1.write (bajt (0)); lcd1.setCursor (4, 1); lcd1.write (bajt (0)); lcd1.setCursor (5, 1); lcd1.write (bajt (0)); lcd1.setCursor (6, 1); lcd1.write (bajt (0)); lcd1.setCursor (7, 1); lcd1.write (bajt (2)); lcd1.setCursor (7, 0); lcd1.write (bajt (2)); lcd1.setCursor (8, 0); lcd1.write (bajt (1)); lcd1.setCursor (8, 1); lcd1.write (bajt (0)); lcd1.setCursor (9, 0); lcd1.write (bajt (1)); lcd1.setCursor (9, 1); lcd1.write (bajt (0)); lcd1.setCursor (10, 0); lcd1.write (bajt (1)); lcd1.setCursor (10, 1); lcd1.write (bajt (0)); lcd1.setCursor (11, 0); lcd1.write (bajt (1)); lcd1.setCursor (11, 1); lcd1.write (bajt (0)); lcd1.setCursor (12, 0); lcd1.write (bajt (1)); lcd1.setCursor (12, 1); lcd1.write (bajt (0)); lcd1.setCursor (13, 0); lcd1.write (bajt (1)); lcd1.setCursor (13, 1); lcd1.write (bajt (0)); lcd1.setCursor (14, 0); lcd1.write (bajt (1)); lcd1.setCursor (14, 1); lcd1.write (bajt (0)); lcd1.setCursor (15, 0); lcd1.write (bajt (2)); lcd1.setCursor (15, 1); lcd1.write (bajt (2)); } void num0lcd2 () {lcd2.setCursor (0, 0); lcd2.write (bajt (2)); // puni lcd2.setCursor (0, 1); lcd2.write (bajt (2)); lcd2.setCursor (1, 1); lcd2.write (bajt (0)); // napola desno lcd2.setCursor (1, 0); lcd2.write (bajt (1)); // pola lijevo lcd2.setCursor (2, 1); lcd2.write (bajt (0)); lcd2.setCursor (2, 0); lcd2.write (bajt (1)); lcd2.setCursor (3, 1); lcd2.write (bajt (0)); lcd2.setCursor (3, 0); lcd2.write (bajt (1)); lcd2.setCursor (4, 1); lcd2.write (bajt (0)); lcd2.setCursor (4, 0); lcd2.write (bajt (1)); lcd2.setCursor (5, 1); lcd2.write (bajt (0)); lcd2.setCursor (5, 0); lcd2.write (bajt (1)); lcd2.setCursor (6, 1); lcd2.write (bajt (0)); lcd2.setCursor (6, 0); lcd2.write (bajt (1)); lcd2.setCursor (7, 1); lcd2.write (bajt (0)); lcd2.setCursor (7, 0); lcd2.write (bajt (1)); lcd2.setCursor (8, 1); lcd2.write (bajt (0)); lcd2.setCursor (8, 0); lcd2.write (bajt (1)); lcd2.setCursor (9, 1); lcd2.write (bajt (0)); lcd2.setCursor (9, 0); lcd2.write (bajt (1)); lcd2.setCursor (10, 1); lcd2.write (bajt (0)); lcd2.setCursor (10, 0); lcd2.write (bajt (1)); lcd2.setCursor (11, 1); lcd2.write (bajt (0)); lcd2.setCursor (11, 0); lcd2.write (bajt (1)); lcd2.setCursor (12, 1); lcd2.write (bajt (0)); lcd2.setCursor (12, 0); lcd2.write (bajt (1)); lcd2.setCursor (13, 1); lcd2.write (bajt (0)); lcd2.setCursor (13, 0); lcd2.write (bajt (1)); lcd2.setCursor (14, 1); lcd2.write (bajt (0)); lcd2.setCursor (14, 0); lcd2.write (bajt (1)); lcd2.setCursor (15, 1); lcd2.write (bajt (2)); lcd2.setCursor (15, 0); lcd2.write (bajt (2)); } void num1lcd2 () {lcd2.setCursor (0, 1); lcd2.write (bajt (0)); lcd2.setCursor (1, 1); lcd2.write (bajt (0)); lcd2.setCursor (2, 1); lcd2.write (bajt (0)); lcd2.setCursor (3, 1); lcd2.write (bajt (0)); lcd2.setCursor (4, 1); lcd2.write (bajt (0)); lcd2.setCursor (5, 1); lcd2.write (bajt (0)); lcd2.setCursor (6, 1); lcd2.write (bajt (0)); lcd2.setCursor (7, 1); lcd2.write (bajt (0)); lcd2.setCursor (8, 1); lcd2.write (bajt (0)); lcd2.setCursor (9, 1); lcd2.write (bajt (0)); lcd2.setCursor (10, 1); lcd2.write (bajt (0)); lcd2.setCursor (11, 1); lcd2.write (bajt (0)); lcd2.setCursor (12, 1); lcd2.write (bajt (0)); lcd2.setCursor (13, 1); lcd2.write (bajt (0)); lcd2.setCursor (14, 1); lcd2.write (bajt (0)); lcd2.setCursor (15, 1); lcd2.write (bajt (0)); } void num2lcd2 () {lcd2.setCursor (0, 0); lcd2.write (bajt (2)); // puni lcd2.setCursor (0, 1); lcd2.write (bajt (2)); lcd2.setCursor (1, 0); lcd2.write (bajt (1)); // pola lijevo lcd2.setCursor (2, 0); lcd2.write (bajt (1)); lcd2.setCursor (3, 0); lcd2.write (bajt (1)); lcd2.setCursor (4, 0); lcd2.write (bajt (1)); lcd2.setCursor (5, 0); lcd2.write (bajt (1)); lcd2.setCursor (6, 0); lcd2.write (bajt (1)); lcd2.setCursor (7, 1); lcd2.write (bajt (2)); lcd2.setCursor (7, 0); lcd2.write (bajt (2)); lcd2.setCursor (8, 1); lcd2.write (bajt (0)); lcd2.setCursor (9, 1); lcd2.write (bajt (0)); lcd2.setCursor (10, 1); lcd2.write (bajt (0)); lcd2.setCursor (11, 1); lcd2.write (bajt (0)); lcd2.setCursor (12, 1); lcd2.write (bajt (0)); lcd2.setCursor (13, 1); lcd2.write (bajt (0)); lcd2.setCursor (14, 1); lcd2.write (bajt (0)); lcd2.setCursor (15, 1); lcd2.write (bajt (2)); lcd2.setCursor (15, 0); lcd2.write (bajt (2)); } void num3lcd2 () {lcd2.setCursor (0, 0); lcd2.write (bajt (2)); // puni lcd2.setCursor (0, 1); lcd2.write (bajt (2)); lcd2.setCursor (1, 1); lcd2.write (bajt (0)); // napola desno lcd2.setCursor (2, 1); lcd2.write (bajt (0)); lcd2.setCursor (3, 1); lcd2.write (bajt (0)); lcd2.setCursor (4, 1); lcd2.write (bajt (0)); lcd2.setCursor (5, 1); lcd2.write (bajt (0)); lcd2.setCursor (6, 1); lcd2.write (bajt (0)); lcd2.setCursor (7, 1); lcd2.write (bajt (2)); lcd2.setCursor (7, 0); lcd2.write (bajt (2)); lcd2.setCursor (8, 1); lcd2.write (bajt (0)); lcd2.setCursor (9, 1); lcd2.write (bajt (0)); lcd2.setCursor (10, 1); lcd2.write (bajt (0)); lcd2.setCursor (11, 1); lcd2.write (bajt (0)); lcd2.setCursor (12, 1); lcd2.write (bajt (0)); lcd2.setCursor (13, 1); lcd2.write (bajt (0)); lcd2.setCursor (14, 1); lcd2.write (bajt (0)); lcd2.setCursor (15, 1); lcd2.write (bajt (2)); lcd2.setCursor (15, 0); lcd2.write (bajt (2)); } void num4lcd2 () {lcd2.setCursor (0, 1); lcd2.write (bajt (0)); lcd2.setCursor (1, 1); lcd2.write (bajt (0)); lcd2.setCursor (2, 1); lcd2.write (bajt (0)); lcd2.setCursor (3, 1); lcd2.write (bajt (0)); lcd2.setCursor (4, 1); lcd2.write (bajt (0)); lcd2.setCursor (5, 1); lcd2.write (bajt (0)); lcd2.setCursor (6, 1); lcd2.write (bajt (0)); lcd2.setCursor (7, 1); lcd2.write (bajt (2)); lcd2.setCursor (7, 0); lcd2.write (bajt (2)); lcd2.setCursor (8, 0); lcd2.write (bajt (1)); lcd2.setCursor (8, 1); lcd2.write (bajt (0)); lcd2.setCursor (9, 0); lcd2.write (bajt (1)); lcd2.setCursor (9, 1); lcd2.write (bajt (0)); lcd2.setCursor (10, 0); lcd2.write (bajt (1)); lcd2.setCursor (10, 1); lcd2.write (bajt (0)); lcd2.setCursor (11, 0); lcd2.write (bajt (1)); lcd2.setCursor (11, 1); lcd2.write (bajt (0)); lcd2.setCursor (12, 0); lcd2.write (bajt (1)); lcd2.setCursor (12, 1); lcd2.write (bajt (0)); lcd2.setCursor (13, 0); lcd2.write (bajt (1)); lcd2.setCursor (13, 1); lcd2.write (bajt (0)); lcd2.setCursor (14, 0); lcd2.write (bajt (1)); lcd2.setCursor (14, 1); lcd2.write (bajt (0)); lcd2.setCursor (15, 0); lcd2.write (bajt (1)); lcd2.setCursor (15, 1); lcd2.write (bajt (0)); } void num5lcd2 () {lcd2.setCursor (0, 0); lcd2.write (bajt (2)); // puni lcd2.setCursor (0, 1); lcd2.write (bajt (2)); lcd2.setCursor (1, 1); lcd2.write (bajt (0)); // napola desno lcd2.setCursor (2, 1); lcd2.write (bajt (0)); lcd2.setCursor (3, 1); lcd2.write (bajt (0)); lcd2.setCursor (4, 1); lcd2.write (bajt (0)); lcd2.setCursor (5, 1); lcd2.write (bajt (0)); lcd2.setCursor (6, 1); lcd2.write (bajt (0)); lcd2.setCursor (7, 1); lcd2.write (bajt (2)); lcd2.setCursor (7, 0); lcd2.write (bajt (2)); lcd2.setCursor (8, 0); lcd2.write (bajt (1)); lcd2.setCursor (9, 0); lcd2.write (bajt (1)); lcd2.setCursor (10, 0); lcd2.write (bajt (1)); lcd2.setCursor (11, 0); lcd2.write (bajt (1)); lcd2.setCursor (12, 0); lcd2.write (bajt (1)); lcd2.setCursor (13, 0); lcd2.write (bajt (1)); lcd2.setCursor (14, 0); lcd2.write (bajt (1)); lcd2.setCursor (15, 1); lcd2.write (bajt (2)); lcd2.setCursor (15, 0); lcd2.write (bajt (2)); }
Korak 4: Rad i završna obrada Dodirnite
Povežite svoj arduino s računarom i pustite ga da radi. Nadam se da će vam sat raditi. Radi, ali izgleda tako neuredno. Toliko otpornika i žica da nije dobro. Dakle, stavite sve komponente u kutiju i izrežite jednu rupu za LCD bojanje i dajte izgled digitalnog sata.
Nisam ga stvorio u stvarnosti, ali sam ga dizajnirao u AUTODESKIM KOLOVIMA. Dizajnirat ću ga u stvarnosti i objaviti video rad. Nisam izvorni govornik. Ako ste učinili neku grešku, javite mi se u privatne poruke. I žao mi je zbog te greške. Takođe sam uzeo neku ideju iz "Danovog arduino sata". Upoznajmo se s drugim instruktorima.
Preporučuje se:
Kako napraviti analogni sat i digitalni sat sa LED trakom pomoću Arduina: 3 koraka
Kako napraviti analogni sat i digitalni sat sa LED trakom pomoću Arduina: Danas ćemo napraviti analogni sat & Digitalni sat sa Led Stripom i MAX7219 Dot modulom s Arduinom. Popravit će vrijeme s lokalnom vremenskom zonom. Analogni sat može koristiti dužu LED traku pa se može objesiti na zid kako bi postao umjetničko djelo
Odličan analogni sintetizator/organ koji koristi samo diskretne komponente: 10 koraka (sa slikama)
Sjajan analogni sintesajzer/organ koji koristi samo diskretne komponente: analogni sintisajzeri su jako cool, ali ih je i prilično teško napraviti. Zato sam želio učiniti jedan što jednostavnijim, tako da njegovo funkcioniranje može biti lako razumljivo. Da biste radili, vi potrebno vam je nekoliko osnovnih podkrugova: jednostavan oscilator sa otporom
Nike LED Swoosh! Ovo je odličan dekor za sobu. Ovo je jedini projekt koji svi mogu ponoviti .: 5 koraka
Nike LED Swoosh! Ovo je odličan dekor za sobu. Ovo je jedan projekt koji svatko može ponoviti .: Alati-mjerač vrpce-lemilica-lemilica-električna bušilica-brusni papir-Oprema-LED traka (RGB) 5m-LED kontroler-Napajanje 12V 4A-drvo 50-50-1500 2x drvo 20-20-3000 2x šperploča 500-1000mm-vijci (45mm) 150x-vijci (35mm) 30x-scr
Zastava obavijesti - odličan uvod u Wi -Fi, IFTTT i Huzzah ESP8266: 9 koraka (sa slikama)
Zastava obavijesti - Odličan uvod u Wi -Fi, IFTTT i Huzzah ESP8266: Uvijek mi nedostaju važne stvari … pa sam stvorio Zastavu. Uređaj Interneta stvari (IoT) koji me obavještava ili podsjeća na ove važne stvari! Sada kratkim pogledom na svoj stol mogu vidjeti imam li e -poštu koju sam spomenuo u tweetu
Odličan LED mjerač razine: 7 koraka
Sjajan LED mjerač nivoa: Ovo je trebao biti moj ulazak na takmičenje 'Get the LED Out', ali bio sam prespor. Jednog dana mi je bilo dosadno. Hteo sam da napravim nešto super. Brzo razmišljanje i ništa nije ispalo. Kopajući po kutijama za smeće, našao sam stari komplet mjerača nivoa