Components and supplies
display nokia 5110
Jumper wires (generic)
Arduino UNO
Resistor 221 ohm
Apps and platforms
Arduino IDE
Project description
Code
code
c_cpp
// pin 3 - Serial clock out (SCLK) // pin 4 - Serial date out (DIN) // pin 5 - date/Command select (D/C) // pin 6 - LCD chip select (CS/CE) // pin 7 - LCD reset (RST)
1//Programa : Teste display Nokia 5110 usando biblioteca Adafruit 2//Autor 3 : VINICIUS LOPES 4 5#include <Adafruit_GFX.h> 6#include <Adafruit_PCD8544.h> 7 8// 9 pin 3 - Serial clock out (SCLK) 10// pin 4 - Serial date out (DIN) 11// pin 5 12 - date/Command select (D/C) 13// pin 6 - LCD chip select (CS/CE) 14// pin 7 - 15 LCD reset (RST) 16 17Adafruit_PCD8544 display = Adafruit_PCD8544(3,4,5,6,7); 18 19int 20 second,minute, hour, day, mounth,year; 21unsigned long UtlTime; 22 23void setup() 24 25pinMode(2,OUTPUT); 26UtlTime=0; { 27 28minute=0; 29hour=0; 30day=0; 31 32mounth=0; 33year=0; 34Serial.begin(9600); 35 display.begin(); 36 37 display.setContrast(50); // Adjust the display contrast 38 display.clearDisplay(); 39 //Apaga o buffer e o display 40 display.setTextSize(1); //Seta o tamanho do 41 texto 42 display.setTextColor(BLACK); //Seta a cor do texto 43 44 45display.print(" 46 date e hour "); 47display.setCursor(0,10); 48display.print(" com Arduino"); 49 50display.display(); 51delay (5000); 52 53 54//Configura o minute 55display.clearDisplay(); 56 57display.setCursor(0,0); 58display.print("minute: "); 59display.display(); 60Serial.print("\ 61in 62 between minute:"); 63while(minute==0) { 64if (Serial.available() > 0) 65 66{ 67minute= Serial.parseInt(); 68} 69} 70display.print(minute); 71 72display.display(); 73delay(1000); 74 75//Configura a hour 76display.clearDisplay(); 77 78display.setCursor(0,0); 79display.print("hour: "); 80display.display(); 81Serial.print("\ 82in 83 between hour:"); 84while(hour==0) 85{ 86if (Serial.available() > 0) 87 88{ 89hour= Serial.parseInt(); 90} 91} 92display.print(hour); 93 94display.display(); 95delay(1000); 96 97//Configura o day 98display.clearDisplay(); 99 100display.setCursor(0,0); 101display.print("day: "); 102display.display(); 103 104Serial.print("\ 105in between day:"); 106while(day==0) 107{ 108if 109 (Serial.available() > 0) 110{ 111day= Serial.parseInt(); 112} 113} 114 115display.print(day); 116display.display(); 117delay(1000); 118 119//Configura 120 o mês 121display.clearDisplay(); 122display.setCursor(0,0); 123display.print("mounth: 124 "); 125display.display(); 126Serial.print("\ 127in between mounth:"); 128while(mounth==0) 129 130{ 131if (Serial.available() > 0) 132{ 133mounth= Serial.parseInt(); 134 135} 136} 137display.print(mounth); 138 display.display(); 139delay(1000); 140 141 142//Configura o year 143display.clearDisplay(); 144display.setCursor(0,0); 145 146display.print("year: "); 147display.display(); 148Serial.print("\ 149in 150 between year:"); 151while(year==0) 152{ 153if (Serial.available() > 154 0) 155{ 156year= Serial.parseInt(); 157} 158} 159display.print(year); 160 161 162display.display(); 163delay(1000); 164display.clearDisplay(); 165 166} 167 168 169void loop() 170{ 171 172if(millis()-UtlTime<0) 173{ 174UtlTime=millis(); 175 176} 177else 178{ 179second=int((millis()-UtlTime)/1000); 180} 181 182if(second>59) 183{ 184second=0; 185minute++; 186UtlTime=millis(); 187 188if(minute>59) 189{ 190hour++; 191minute=0; 192if(hour>23) 193 194{ 195day++; 196hour=0; 197if(mounth==1||mounth==3||mounth==5||mounth==7||mounth==8||mounth==10||mounth==12) 198 199{ 200if(day>31) 201{ 202day=1; 203mounth++; 204 205if(mounth>12) 206{ 207year++; 208mounth=1; 209 210} 211} 212} 213else if(mounth==2) 214 215{ 216if(year%400==0) 217{ 218if(day>29) 219 220{ 221day=1; 222mounth++; 223} 224 225} 226else if((year%4==0)&&(year%100!=0)) 227{ 228 229if(day>29) 230{ 231day=1; 232mounth++; 233 234} 235} 236else 237{ 238if(day>28) 239 240{ 241day=1; 242mounth++; 243} 244 245} 246} 247else 248{ 249if(day>30) 250 251{ 252day=1; 253mounth++; 254} 255 256} 257} 258} 259} 260 261display.clearDisplay(); 262 263delay(1000); 264Serial.print(day); 265Serial.print("/"); 266Serial.print(mounth); 267 268Serial.print("/"); 269Serial.print(year); 270Serial.println(); 271 272display.setCursor(0,0); 273 274display.print("date "); 275display.print(day); 276display.print("/"); 277 278display.print(mounth); 279display.print("/"); 280display.print(year); 281 282 283 284display.display(); 285Serial.print(hour); 286Serial.print(":"); 287Serial.print(minute); 288 289Serial.print(":"); 290Serial.print(second); 291Serial.print("\ 292"); 293 294Serial.println(); 295 296display.setCursor(0,10); 297display.print("hour 298 "); 299display.print(hour); 300display.print(":"); 301display.print(minute); 302 303display.print(":"); 304display.print(second); 305display.display(); 306char 307 tecla; 308tecla = Serial.read(); 309if(tecla=='1'){ 310digitalWrite(2,LOW); 311} 312if(tecla=='2'){ 313 314 digitalWrite(2, HIGH); 315} 316 317} 318 319
code
c_cpp
// pin 3 - Serial clock out (SCLK) // pin 4 - Serial date out (DIN) // pin 5 - date/Command select (D/C) // pin 6 - LCD chip select (CS/CE) // pin 7 - LCD reset (RST)
1//Programa : Teste display Nokia 5110 usando biblioteca Adafruit 2//Autor : VINICIUS LOPES 3 4#include <Adafruit_GFX.h> 5#include <Adafruit_PCD8544.h> 6 7// pin 3 - Serial clock out (SCLK) 8// pin 4 - Serial date out (DIN) 9// pin 5 - date/Command select (D/C) 10// pin 6 - LCD chip select (CS/CE) 11// pin 7 - LCD reset (RST) 12 13Adafruit_PCD8544 display = Adafruit_PCD8544(3,4,5,6,7); 14 15int second,minute, hour, day, mounth,year; 16unsigned long UtlTime; 17 18void setup() 19pinMode(2,OUTPUT); 20UtlTime=0; { 21 22minute=0; 23hour=0; 24day=0; 25mounth=0; 26year=0; 27Serial.begin(9600); 28 display.begin(); 29 display.setContrast(50); // Adjust the display contrast 30 display.clearDisplay(); //Apaga o buffer e o display 31 display.setTextSize(1); //Seta o tamanho do texto 32 display.setTextColor(BLACK); //Seta a cor do texto 33 34 35display.print(" date e hour "); 36display.setCursor(0,10); 37display.print(" com Arduino"); 38display.display(); 39delay (5000); 40 41 42//Configura o minute 43display.clearDisplay(); 44display.setCursor(0,0); 45display.print("minute: "); 46display.display(); 47Serial.print("\ 48in between minute:"); 49while(minute==0) { 50if (Serial.available() > 0) 51{ 52minute= Serial.parseInt(); 53} 54} 55display.print(minute); 56display.display(); 57delay(1000); 58 59//Configura a hour 60display.clearDisplay(); 61display.setCursor(0,0); 62display.print("hour: "); 63display.display(); 64Serial.print("\ 65in between hour:"); 66while(hour==0) 67{ 68if (Serial.available() > 0) 69{ 70hour= Serial.parseInt(); 71} 72} 73display.print(hour); 74display.display(); 75delay(1000); 76 77//Configura o day 78display.clearDisplay(); 79display.setCursor(0,0); 80display.print("day: "); 81display.display(); 82Serial.print("\ 83in between day:"); 84while(day==0) 85{ 86if (Serial.available() > 0) 87{ 88day= Serial.parseInt(); 89} 90} 91display.print(day); 92display.display(); 93delay(1000); 94 95//Configura o mês 96display.clearDisplay(); 97display.setCursor(0,0); 98display.print("mounth: "); 99display.display(); 100Serial.print("\ 101in between mounth:"); 102while(mounth==0) 103{ 104if (Serial.available() > 0) 105{ 106mounth= Serial.parseInt(); 107} 108} 109display.print(mounth); 110 display.display(); 111delay(1000); 112 113//Configura o year 114display.clearDisplay(); 115display.setCursor(0,0); 116display.print("year: "); 117display.display(); 118Serial.print("\ 119in between year:"); 120while(year==0) 121{ 122if (Serial.available() > 0) 123{ 124year= Serial.parseInt(); 125} 126} 127display.print(year); 128 129display.display(); 130delay(1000); 131display.clearDisplay(); 132 133} 134 135void loop() 136{ 137 138if(millis()-UtlTime<0) 139{ 140UtlTime=millis(); 141} 142else 143{ 144second=int((millis()-UtlTime)/1000); 145} 146if(second>59) 147{ 148second=0; 149minute++; 150UtlTime=millis(); 151if(minute>59) 152{ 153hour++; 154minute=0; 155if(hour>23) 156{ 157day++; 158hour=0; 159if(mounth==1||mounth==3||mounth==5||mounth==7||mounth==8||mounth==10||mounth==12) 160{ 161if(day>31) 162{ 163day=1; 164mounth++; 165if(mounth>12) 166{ 167year++; 168mounth=1; 169} 170} 171} 172else if(mounth==2) 173{ 174if(year%400==0) 175{ 176if(day>29) 177{ 178day=1; 179mounth++; 180} 181} 182else if((year%4==0)&&(year%100!=0)) 183{ 184if(day>29) 185{ 186day=1; 187mounth++; 188} 189} 190else 191{ 192if(day>28) 193{ 194day=1; 195mounth++; 196} 197} 198} 199else 200{ 201if(day>30) 202{ 203day=1; 204mounth++; 205} 206} 207} 208} 209} 210 211display.clearDisplay(); 212delay(1000); 213Serial.print(day); 214Serial.print("/"); 215Serial.print(mounth); 216Serial.print("/"); 217Serial.print(year); 218Serial.println(); 219 220display.setCursor(0,0); 221display.print("date "); 222display.print(day); 223display.print("/"); 224display.print(mounth); 225display.print("/"); 226display.print(year); 227 228 229display.display(); 230Serial.print(hour); 231Serial.print(":"); 232Serial.print(minute); 233Serial.print(":"); 234Serial.print(second); 235Serial.print("\ 236"); 237Serial.println(); 238 239display.setCursor(0,10); 240display.print("hour "); 241display.print(hour); 242display.print(":"); 243display.print(minute); 244display.print(":"); 245display.print(second); 246display.display(); 247char tecla; 248tecla = Serial.read(); 249if(tecla=='1'){ 250digitalWrite(2,LOW); 251} 252if(tecla=='2'){ 253 digitalWrite(2, HIGH); 254} 255 256} 257 258
Downloadable files
hardware
// pin 3 - Serial clock out (SCLK) // pin 4 - Serial date out (DIN) // pin 5 - date/Command select (D/C) // pin 6 - LCD chip select (CS/CE) // pin 7 - LCD reset (RST)
hardware
Comments
Only logged in users can leave comments
viniciuslindoss
0 Followers
•0 Projects
Table of contents
Intro
5
0