Components and supplies
Arduino UNO
Pushbutton Switch, Push-Pull
Alphanumeric LCD, 16 x 2
Apps and platforms
Arduino IDE
Project description
Code
Code
arduino
1/* 2 * Nombre del programa: morserenacido.ino 3 * Descripción del programa: Este programa permite escribir en un display mediante clave morse. Requiere de un circuito utilizando un display lcd de 16 x 2, tres botones, y un arduino genuino uno. 4 * Boton 1: Raya 5 * Boton 2 : Punto 6 * Boton 3 : Termina el caracter. 7 * 8 * Desarrollo: Cesar Gibran Hernandez Orozco 9 * Fecha de creación: 29/05/2019 10 * Versión: 1.0 11 * Correo electronico: supergxp@gmail.com 12 * 13 */ 14const int punto = 12; 15const int raya = 13; 16const int reset = 5; 17 18int puntoon = HIGH; 19int rayaon = HIGH; 20int reseton = HIGH; 21String Letra; 22int rayaon2 = HIGH; 23int puntoon2 = HIGH; 24int envio2 = HIGH; 25int renglon = 0; 26int columna = 0; 27String envio; 28 29#include <LiquidCrystal.h> 30 31LiquidCrystal lcd (2, 3, 7, 9, 8, 10); 32 33byte as[8]={ 34 0b00000, 35 0b00100, 36 0b01010, 37 0b10001, 38 0b11111, 39 0b10001, 40 0b10001, 41 0b00000 42}; 43 44byte bs[8]={ 45 0b00000, 46 0b11100, 47 0b10010, 48 0b10010, 49 0b11100, 50 0b10010, 51 0b10010, 52 0b11100 53}; 54 55byte resets[8]={ 56 0b00000, 57 0b00000, 58 0b00000, 59 0b00000, 60 0b00000, 61 0b00000, 62 0b00000, 63 0b00000 64}; 65 66byte cs[8]={ 67 0b00000, 68 0b01110, 69 0b10000, 70 0b10000, 71 0b10000, 72 0b10000, 73 0b01110, 74 0b00000 75}; 76 77byte ds[8]={ 78 0b00000, 79 0b11100, 80 0b10010, 81 0b10010, 82 0b10010, 83 0b10010, 84 0b11100, 85 0b00000 86}; 87 88 89void setup() { 90 Serial.begin(9600); 91 pinMode(rayaon, INPUT); 92 pinMode(puntoon, INPUT); 93 pinMode(reseton, INPUT); 94 95 lcd.begin(16, 2); 96 lcd.createChar(2, as); 97 lcd.createChar(3, bs); 98 lcd.createChar(4, resets); 99 lcd.createChar(5, cs); 100 lcd.createChar(6, ds); 101 102 103 Letra = String(); 104 envio = String(); 105 /* 106 lcd.print("I "); 107 lcd.write(byte(0)); // when calling lcd.write() '0' must be cast as a byte 108 lcd.print(" Arduino! "); 109 lcd.write((byte) 1);*/ 110 111} 112 113void loop() { 114 115rayaon = digitalRead(raya); 116puntoon =digitalRead(punto); 117reseton =digitalRead(reset); 118 119int sensorReading = analogRead(A0); 120int delayTime = map(sensorReading, 0, 1023, 200, 1000); 121 122 123 124 125if(rayaon == HIGH){ 126 rayaon2 = HIGH; 127} 128 129if(puntoon == HIGH){ 130 puntoon2 = HIGH; 131} 132 133if(reseton == HIGH){ 134 envio2 = HIGH; 135} 136if(rayaon == LOW && rayaon2 == HIGH){ 137 Letra = Letra + "R"; 138 Serial.println(Letra); 139 //delay(50); 140 rayaon2 = rayaon; 141} 142 143if(puntoon == LOW && puntoon2 == HIGH){ 144 Letra = Letra + "P"; 145 Serial.println(Letra); 146 //delay(50); 147 puntoon2 = puntoon; 148} 149 150if(reseton == LOW && envio2 == HIGH){ 151 envio2 = reseton; 152 Serial.println("entro"); 153 /*lcd.setCursor(columna, renglon); 154 155 Letra = ""; 156 envio = ""; 157 columna = columna +1;*/ 158 159 160 if(Letra == "PR"){ 161 envio = "A"; 162 Serial.println(envio); 163 164 Letra = ""; 165 columna = columna + 1; 166 } 167 168 else if(Letra == "RPPP"){ 169 envio = "B"; 170 Serial.println(envio); 171 Letra = ""; 172 columna = columna + 1; 173 } 174 175 else if(Letra == "RPP"){ 176 envio = "D"; 177 Serial.println(envio); 178 Letra = ""; 179 columna = columna + 1; 180 } 181 182 else if(Letra == "RPRP"){ 183 envio = "C"; 184 Serial.println(envio); 185 Letra = ""; 186 columna = columna + 1; 187 } 188 189 190 else if(Letra == "P"){ 191 envio = "E"; 192 Serial.println(envio); 193 Letra = ""; 194 columna = columna + 1; 195 } 196 197 else if(Letra == "PPRP"){ 198 envio = "F"; 199 Serial.println(envio); 200 Letra = ""; 201 columna = columna + 1; 202 } 203 204 else if(Letra == "RRP"){ 205 envio = "G"; 206 Serial.println(envio); 207 Letra = ""; 208 columna = columna + 1; 209 } 210 211 else if(Letra == "PPPP"){ 212 envio = "H"; 213 Serial.println(envio); 214 Letra = ""; 215 columna = columna + 1; 216 } 217 218 else if(Letra == "PP"){ 219 envio = "I"; 220 Serial.println(envio); 221 Letra = ""; 222 columna = columna + 1; 223 } 224 225 else if(Letra == "PRRR"){ 226 envio = "J"; 227 Serial.println(envio); 228 Letra = ""; 229 columna = columna + 1; 230 } 231 232 else if(Letra == "RPR"){ 233 envio = "K"; 234 Serial.println(envio); 235 Letra = ""; 236 columna = columna + 1; 237 } 238 239 240 else if(Letra == "PRPP"){ 241 envio = "L"; 242 Serial.println(envio); 243 Letra = ""; 244 columna = columna + 1; 245 } 246 247 else if(Letra == "RR"){ 248 envio = "M"; 249 Serial.println(envio); 250 Letra = ""; 251 columna = columna + 1; 252 } 253 else if(Letra == "RP"){ 254 envio = "N"; 255 Serial.println(envio); 256 Letra = ""; 257 columna = columna + 1; 258 } 259 260 261 else if(Letra == "RRR"){ 262 envio = "O"; 263 Serial.println(envio); 264 Letra = ""; 265 columna = columna + 1; 266 } 267 else if(Letra == "PRRP"){ 268 envio = "P"; 269 Serial.println(envio); 270 Letra = ""; 271 columna = columna + 1; 272 } 273 else if(Letra == "RRPR"){ 274 envio = "Q"; 275 Serial.println(envio); 276 Letra = ""; 277 columna = columna + 1; 278 } 279 else if(Letra == "PRP"){ 280 envio = "R"; 281 Serial.println(envio); 282 Letra = ""; 283 columna = columna + 1; 284 } 285 286 else if(Letra == "PPP"){ 287 envio = "S"; 288 Serial.println(envio); 289 Letra = ""; 290 columna = columna + 1; 291 } 292 else if(Letra == "R"){ 293 envio = "T"; 294 Serial.println(envio); 295 Letra = ""; 296 columna = columna + 1; 297 } 298 else if(Letra == "PPR"){ 299 envio = "U"; 300 Serial.println(envio); 301 Letra = ""; 302 columna = columna + 1; 303 } 304 305 else if(Letra == "PPPR"){ 306 envio = "V"; 307 Serial.println(envio); 308 Letra = ""; 309 columna = columna + 1; 310 } 311 312 else if(Letra == "PRR"){ 313 envio = "W"; 314 Serial.println(envio); 315 Letra = ""; 316 columna = columna + 1; 317 } 318 319 else if(Letra == "RPPR"){ 320 envio = "X"; 321 Serial.println(envio); 322 Letra = ""; 323 columna = columna + 1; 324 } 325 else if(Letra == "RPRR"){ 326 envio = "Y"; 327 Serial.println(envio); 328 Letra = ""; 329 columna = columna + 1; 330 } 331 else if(Letra == "RRPP"){ 332 envio = "Z"; 333 Serial.println(envio); 334 Letra = ""; 335 columna = columna + 1; 336 } 337 else if(Letra == "PRRRR"){ 338 envio = "1"; 339 Serial.println(envio); 340 Letra = ""; 341 columna = columna + 1; 342 } 343 else if(Letra == "PPRRR"){ 344 envio = "2"; 345 Serial.println(envio); 346 Letra = ""; 347 columna = columna + 1; 348 } 349 else if(Letra == "PPPRR"){ 350 envio = "3"; 351 Serial.println(envio); 352 Letra = ""; 353 columna = columna + 1; 354 } 355 else if(Letra == "PPPPR"){ 356 envio = "4"; 357 Serial.println(envio); 358 Letra = ""; 359 columna = columna + 1; 360 } 361 else if(Letra == "PPPPP"){ 362 envio = "5"; 363 Serial.println(envio); 364 Letra = ""; 365 columna = columna + 1; 366 } 367 else if(Letra == "RPPPP"){ 368 envio = "6"; 369 Serial.println(envio); 370 Letra = ""; 371 columna = columna + 1; 372 } 373 else if(Letra == "RRPPP"){ 374 envio = "7"; 375 Serial.println(envio); 376 Letra = ""; 377 columna = columna + 1; 378 } 379 else if(Letra == "RRRPP"){ 380 envio = "8"; 381 Serial.println(envio); 382 Letra = ""; 383 columna = columna + 1; 384 } 385 else if(Letra == "RRRRP"){ 386 envio = "9"; 387 Serial.println(envio); 388 Letra = ""; 389 columna = columna + 1; 390 } 391 else if(Letra == "RRRRR"){ 392 envio = "0"; 393 Serial.println(envio); 394 Letra = ""; 395 columna = columna + 1; 396 } 397 else if(Letra == "PPPPPP"){ 398 lcd.setCursor(columna, renglon); 399 lcd.write(4); 400 Letra = ""; 401 columna = columna + 1; 402 } 403 else if(Letra == "RRRRRR"){ 404 renglon = 1; 405 columna = 17; 406 Letra = ""; 407 408 } 409 410 else{ 411 Letra = ""; 412 } 413 lcd.setCursor(columna-1, renglon); 414 lcd.print(envio); 415 envio = ""; 416} 417 418 419if(renglon == 1 && columna == 17){ 420 renglon = 0; 421 columna = 0; 422 423for(columna = 0; columna <= 16; columna++){ 424 lcd.setCursor(columna, 0); 425 lcd.write(4); 426} 427 for(columna = 0; columna <= 16; columna++){ 428 lcd.setCursor(columna, 1); 429 lcd.write(4); 430} 431 renglon = 0; 432 columna = 0; 433} 434 435if(columna == 16){ 436 renglon = 1; 437 columna = 0; 438 439} 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465}
Code
arduino
1/* 2 * Nombre del programa: morserenacido.ino 3 * Descripción del programa: Este programa permite escribir en un display mediante clave morse. Requiere de un circuito utilizando un display lcd de 16 x 2, tres botones, y un arduino genuino uno. 4 * Boton 1: Raya 5 * Boton 2 : Punto 6 * Boton 3 : Termina el caracter. 7 * 8 * Desarrollo: Cesar Gibran Hernandez Orozco 9 * Fecha de creación: 29/05/2019 10 * Versión: 1.0 11 * Correo electronico: supergxp@gmail.com 12 * 13 */ 14const int punto = 12; 15const int raya = 13; 16const int reset = 5; 17 18int puntoon = HIGH; 19int rayaon = HIGH; 20int reseton = HIGH; 21String Letra; 22int rayaon2 = HIGH; 23int puntoon2 = HIGH; 24int envio2 = HIGH; 25int renglon = 0; 26int columna = 0; 27String envio; 28 29#include <LiquidCrystal.h> 30 31LiquidCrystal lcd (2, 3, 7, 9, 8, 10); 32 33byte as[8]={ 34 0b00000, 35 0b00100, 36 0b01010, 37 0b10001, 38 0b11111, 39 0b10001, 40 0b10001, 41 0b00000 42}; 43 44byte bs[8]={ 45 0b00000, 46 0b11100, 47 0b10010, 48 0b10010, 49 0b11100, 50 0b10010, 51 0b10010, 52 0b11100 53}; 54 55byte resets[8]={ 56 0b00000, 57 0b00000, 58 0b00000, 59 0b00000, 60 0b00000, 61 0b00000, 62 0b00000, 63 0b00000 64}; 65 66byte cs[8]={ 67 0b00000, 68 0b01110, 69 0b10000, 70 0b10000, 71 0b10000, 72 0b10000, 73 0b01110, 74 0b00000 75}; 76 77byte ds[8]={ 78 0b00000, 79 0b11100, 80 0b10010, 81 0b10010, 82 0b10010, 83 0b10010, 84 0b11100, 85 0b00000 86}; 87 88 89void setup() { 90 Serial.begin(9600); 91 pinMode(rayaon, INPUT); 92 pinMode(puntoon, INPUT); 93 pinMode(reseton, INPUT); 94 95 lcd.begin(16, 2); 96 lcd.createChar(2, as); 97 lcd.createChar(3, bs); 98 lcd.createChar(4, resets); 99 lcd.createChar(5, cs); 100 lcd.createChar(6, ds); 101 102 103 Letra = String(); 104 envio = String(); 105 /* 106 lcd.print("I "); 107 lcd.write(byte(0)); // when calling lcd.write() '0' must be cast as a byte 108 lcd.print(" Arduino! "); 109 lcd.write((byte) 1);*/ 110 111} 112 113void loop() { 114 115rayaon = digitalRead(raya); 116puntoon =digitalRead(punto); 117reseton =digitalRead(reset); 118 119int sensorReading = analogRead(A0); 120int delayTime = map(sensorReading, 0, 1023, 200, 1000); 121 122 123 124 125if(rayaon == HIGH){ 126 rayaon2 = HIGH; 127} 128 129if(puntoon == HIGH){ 130 puntoon2 = HIGH; 131} 132 133if(reseton == HIGH){ 134 envio2 = HIGH; 135} 136if(rayaon == LOW && rayaon2 == HIGH){ 137 Letra = Letra + "R"; 138 Serial.println(Letra); 139 //delay(50); 140 rayaon2 = rayaon; 141} 142 143if(puntoon == LOW && puntoon2 == HIGH){ 144 Letra = Letra + "P"; 145 Serial.println(Letra); 146 //delay(50); 147 puntoon2 = puntoon; 148} 149 150if(reseton == LOW && envio2 == HIGH){ 151 envio2 = reseton; 152 Serial.println("entro"); 153 /*lcd.setCursor(columna, renglon); 154 155 Letra = ""; 156 envio = ""; 157 columna = columna +1;*/ 158 159 160 if(Letra == "PR"){ 161 envio = "A"; 162 Serial.println(envio); 163 164 Letra = ""; 165 columna = columna + 1; 166 } 167 168 else if(Letra == "RPPP"){ 169 envio = "B"; 170 Serial.println(envio); 171 Letra = ""; 172 columna = columna + 1; 173 } 174 175 else if(Letra == "RPP"){ 176 envio = "D"; 177 Serial.println(envio); 178 Letra = ""; 179 columna = columna + 1; 180 } 181 182 else if(Letra == "RPRP"){ 183 envio = "C"; 184 Serial.println(envio); 185 Letra = ""; 186 columna = columna + 1; 187 } 188 189 190 else if(Letra == "P"){ 191 envio = "E"; 192 Serial.println(envio); 193 Letra = ""; 194 columna = columna + 1; 195 } 196 197 else if(Letra == "PPRP"){ 198 envio = "F"; 199 Serial.println(envio); 200 Letra = ""; 201 columna = columna + 1; 202 } 203 204 else if(Letra == "RRP"){ 205 envio = "G"; 206 Serial.println(envio); 207 Letra = ""; 208 columna = columna + 1; 209 } 210 211 else if(Letra == "PPPP"){ 212 envio = "H"; 213 Serial.println(envio); 214 Letra = ""; 215 columna = columna + 1; 216 } 217 218 else if(Letra == "PP"){ 219 envio = "I"; 220 Serial.println(envio); 221 Letra = ""; 222 columna = columna + 1; 223 } 224 225 else if(Letra == "PRRR"){ 226 envio = "J"; 227 Serial.println(envio); 228 Letra = ""; 229 columna = columna + 1; 230 } 231 232 else if(Letra == "RPR"){ 233 envio = "K"; 234 Serial.println(envio); 235 Letra = ""; 236 columna = columna + 1; 237 } 238 239 240 else if(Letra == "PRPP"){ 241 envio = "L"; 242 Serial.println(envio); 243 Letra = ""; 244 columna = columna + 1; 245 } 246 247 else if(Letra == "RR"){ 248 envio = "M"; 249 Serial.println(envio); 250 Letra = ""; 251 columna = columna + 1; 252 } 253 else if(Letra == "RP"){ 254 envio = "N"; 255 Serial.println(envio); 256 Letra = ""; 257 columna = columna + 1; 258 } 259 260 261 else if(Letra == "RRR"){ 262 envio = "O"; 263 Serial.println(envio); 264 Letra = ""; 265 columna = columna + 1; 266 } 267 else if(Letra == "PRRP"){ 268 envio = "P"; 269 Serial.println(envio); 270 Letra = ""; 271 columna = columna + 1; 272 } 273 else if(Letra == "RRPR"){ 274 envio = "Q"; 275 Serial.println(envio); 276 Letra = ""; 277 columna = columna + 1; 278 } 279 else if(Letra == "PRP"){ 280 envio = "R"; 281 Serial.println(envio); 282 Letra = ""; 283 columna = columna + 1; 284 } 285 286 else if(Letra == "PPP"){ 287 envio = "S"; 288 Serial.println(envio); 289 Letra = ""; 290 columna = columna + 1; 291 } 292 else if(Letra == "R"){ 293 envio = "T"; 294 Serial.println(envio); 295 Letra = ""; 296 columna = columna + 1; 297 } 298 else if(Letra == "PPR"){ 299 envio = "U"; 300 Serial.println(envio); 301 Letra = ""; 302 columna = columna + 1; 303 } 304 305 else if(Letra == "PPPR"){ 306 envio = "V"; 307 Serial.println(envio); 308 Letra = ""; 309 columna = columna + 1; 310 } 311 312 else if(Letra == "PRR"){ 313 envio = "W"; 314 Serial.println(envio); 315 Letra = ""; 316 columna = columna + 1; 317 } 318 319 else if(Letra == "RPPR"){ 320 envio = "X"; 321 Serial.println(envio); 322 Letra = ""; 323 columna = columna + 1; 324 } 325 else if(Letra == "RPRR"){ 326 envio = "Y"; 327 Serial.println(envio); 328 Letra = ""; 329 columna = columna + 1; 330 } 331 else if(Letra == "RRPP"){ 332 envio = "Z"; 333 Serial.println(envio); 334 Letra = ""; 335 columna = columna + 1; 336 } 337 else if(Letra == "PRRRR"){ 338 envio = "1"; 339 Serial.println(envio); 340 Letra = ""; 341 columna = columna + 1; 342 } 343 else if(Letra == "PPRRR"){ 344 envio = "2"; 345 Serial.println(envio); 346 Letra = ""; 347 columna = columna + 1; 348 } 349 else if(Letra == "PPPRR"){ 350 envio = "3"; 351 Serial.println(envio); 352 Letra = ""; 353 columna = columna + 1; 354 } 355 else if(Letra == "PPPPR"){ 356 envio = "4"; 357 Serial.println(envio); 358 Letra = ""; 359 columna = columna + 1; 360 } 361 else if(Letra == "PPPPP"){ 362 envio = "5"; 363 Serial.println(envio); 364 Letra = ""; 365 columna = columna + 1; 366 } 367 else if(Letra == "RPPPP"){ 368 envio = "6"; 369 Serial.println(envio); 370 Letra = ""; 371 columna = columna + 1; 372 } 373 else if(Letra == "RRPPP"){ 374 envio = "7"; 375 Serial.println(envio); 376 Letra = ""; 377 columna = columna + 1; 378 } 379 else if(Letra == "RRRPP"){ 380 envio = "8"; 381 Serial.println(envio); 382 Letra = ""; 383 columna = columna + 1; 384 } 385 else if(Letra == "RRRRP"){ 386 envio = "9"; 387 Serial.println(envio); 388 Letra = ""; 389 columna = columna + 1; 390 } 391 else if(Letra == "RRRRR"){ 392 envio = "0"; 393 Serial.println(envio); 394 Letra = ""; 395 columna = columna + 1; 396 } 397 else if(Letra == "PPPPPP"){ 398 lcd.setCursor(columna, renglon); 399 lcd.write(4); 400 Letra = ""; 401 columna = columna + 1; 402 } 403 else if(Letra == "RRRRRR"){ 404 renglon = 1; 405 columna = 17; 406 Letra = ""; 407 408 } 409 410 else{ 411 Letra = ""; 412 } 413 lcd.setCursor(columna-1, renglon); 414 lcd.print(envio); 415 envio = ""; 416} 417 418 419if(renglon == 1 && columna == 17){ 420 renglon = 0; 421 columna = 0; 422 423for(columna = 0; columna <= 16; columna++){ 424 lcd.setCursor(columna, 0); 425 lcd.write(4); 426} 427 for(columna = 0; columna <= 16; columna++){ 428 lcd.setCursor(columna, 1); 429 lcd.write(4); 430} 431 renglon = 0; 432 columna = 0; 433} 434 435if(columna == 16){ 436 renglon = 1; 437 columna = 0; 438 439} 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465}
Downloadable files
Sketch
Sketch
Comments
Only logged in users can leave comments
GiHOxp
0 Followers
•0 Projects
Table of contents
Intro
3
0