Practicas / Mbed 2 deprecated Maqueta_Combinada_FINAL

Dependencies:   mbed Adafruit_GFX DS1820

Committer:
daniferca
Date:
Thu Dec 16 16:44:58 2021 +0000
Revision:
3:b05574b98b47
Parent:
2:20c2d39d5902
Child:
4:c691dac74f1b
FINAL_COMBINADA_SEGURIDAD_TRANSPORTE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniferca 0:d6db09ba7537 1 #include "mbed.h"
daniferca 0:d6db09ba7537 2 #include "hcsr04.h"
daniferca 0:d6db09ba7537 3 #include "DS1820.h"
daniferca 0:d6db09ba7537 4
daniferca 0:d6db09ba7537 5
daniferca 0:d6db09ba7537 6 #include "Adafruit_SSD1306.h"
daniferca 0:d6db09ba7537 7
daniferca 0:d6db09ba7537 8 class I2CPreInit : public I2C
daniferca 0:d6db09ba7537 9 {
daniferca 0:d6db09ba7537 10 public:
daniferca 0:d6db09ba7537 11 I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
daniferca 0:d6db09ba7537 12 {
daniferca 0:d6db09ba7537 13 frequency(100000);
daniferca 0:d6db09ba7537 14 start();
daniferca 0:d6db09ba7537 15 };
daniferca 0:d6db09ba7537 16 };
daniferca 0:d6db09ba7537 17
daniferca 0:d6db09ba7537 18 I2CPreInit gI2C(PB_9,PB_8);
daniferca 0:d6db09ba7537 19
daniferca 0:d6db09ba7537 20 Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);
daniferca 0:d6db09ba7537 21
daniferca 0:d6db09ba7537 22
daniferca 0:d6db09ba7537 23 Serial pc(USBTX, USBRX);
daniferca 0:d6db09ba7537 24
daniferca 0:d6db09ba7537 25
daniferca 0:d6db09ba7537 26
daniferca 0:d6db09ba7537 27 Ticker tickerMideDistancia;
daniferca 0:d6db09ba7537 28 unsigned distancia=20;
daniferca 3:b05574b98b47 29 AnalogIn adc_temp(ADC_TEMP);
daniferca 0:d6db09ba7537 30 HCSR04 usensor(D7,D8); //(PinName TrigPin,PinName EchoPin):
daniferca 0:d6db09ba7537 31 DigitalIn finalDer(D2); //Final de carrera DERECHA
daniferca 0:d6db09ba7537 32 DigitalIn finalIzq(D3); //Final de carrera IZQUIERDA
daniferca 0:d6db09ba7537 33 DigitalIn boton(D5); //Boton para iniciar el programa seleccionado
daniferca 0:d6db09ba7537 34 DigitalIn switcher(D9); //Interruptor para indicar que programa usar
daniferca 0:d6db09ba7537 35 DigitalOut step(D13);
daniferca 0:d6db09ba7537 36 DigitalOut dir(D12);
daniferca 0:d6db09ba7537 37 DigitalOut enable(D11);
daniferca 0:d6db09ba7537 38 DigitalOut led(LED1);
daniferca 0:d6db09ba7537 39 DigitalOut myLed1 (D4); //Indicador programa Taladro seleccionado
daniferca 0:d6db09ba7537 40 DigitalOut myLed2 (D6); //Indicador programa Transportador de Piezas seleccionado
daniferca 0:d6db09ba7537 41
daniferca 0:d6db09ba7537 42 DS1820 ds1820(D10); //Substitute PA_9 with actual mbed pin name connected to the DS1820 data pin
daniferca 0:d6db09ba7537 43
daniferca 0:d6db09ba7537 44
daniferca 0:d6db09ba7537 45
daniferca 0:d6db09ba7537 46 float temp = 0;
daniferca 0:d6db09ba7537 47 int contador=0; //Contador de Piezas e Impactos del Taladro
daniferca 0:d6db09ba7537 48 int FUNCIONAR=0; //Variable que de comienzo al programa en funcion del boton
daniferca 0:d6db09ba7537 49
daniferca 0:d6db09ba7537 50
daniferca 0:d6db09ba7537 51 int x=0; //Variable abilitadora programa Transportador de Piezas, en funcion del interruptor
daniferca 0:d6db09ba7537 52 int y=0; //Variable abilitadora programa Taladro, en funcion del interruptor
daniferca 0:d6db09ba7537 53
daniferca 0:d6db09ba7537 54 Timer tiempo; //Temprizador para las acciones del taladro
daniferca 0:d6db09ba7537 55
daniferca 0:d6db09ba7537 56 enum estados {cerrada, abriendose, cerrandose, abierta};
daniferca 0:d6db09ba7537 57 estados estado;
daniferca 0:d6db09ba7537 58
daniferca 0:d6db09ba7537 59
daniferca 0:d6db09ba7537 60 void paso(int d)
daniferca 0:d6db09ba7537 61 {
daniferca 0:d6db09ba7537 62 dir=d;
daniferca 0:d6db09ba7537 63 step=1;
daniferca 0:d6db09ba7537 64 wait_us(100); // Cambio de paso
daniferca 0:d6db09ba7537 65 step=0;
daniferca 0:d6db09ba7537 66 wait_us(900); //Este hay que cambiar
daniferca 0:d6db09ba7537 67 }
daniferca 0:d6db09ba7537 68
daniferca 0:d6db09ba7537 69 void estadoCerrada()
daniferca 0:d6db09ba7537 70 {
daniferca 0:d6db09ba7537 71
daniferca 0:d6db09ba7537 72 if (x==1) { //Entrada al Transportador de Piezas
daniferca 0:d6db09ba7537 73
daniferca 1:65e9a9b006c1 74 if((finalIzq == 1) && (FUNCIONAR==1) && contador==0) { //Inicio en funcion del Final de Carrera de la Izquierda y del Boton
daniferca 1:65e9a9b006c1 75
daniferca 1:65e9a9b006c1 76 wait(0.5); //Tiempo de espera para descargar la Pieza
daniferca 0:d6db09ba7537 77 enable=1;
daniferca 0:d6db09ba7537 78 estado=abriendose;
daniferca 0:d6db09ba7537 79
daniferca 1:65e9a9b006c1 80 gOled.clearDisplay();
daniferca 1:65e9a9b006c1 81 gOled.printf("Programa Transporte");
daniferca 1:65e9a9b006c1 82 gOled.display();
daniferca 1:65e9a9b006c1 83 gOled.setTextCursor(0,0);
daniferca 0:d6db09ba7537 84
daniferca 0:d6db09ba7537 85 }
daniferca 1:65e9a9b006c1 86
daniferca 1:65e9a9b006c1 87 else if (contador>0){
daniferca 1:65e9a9b006c1 88
daniferca 1:65e9a9b006c1 89 wait(0.5); //Tiempo de espera para descargar la Pieza
daniferca 1:65e9a9b006c1 90 enable=1;
daniferca 1:65e9a9b006c1 91 estado=abriendose;
daniferca 1:65e9a9b006c1 92
daniferca 1:65e9a9b006c1 93
daniferca 1:65e9a9b006c1 94 }
daniferca 0:d6db09ba7537 95 }
daniferca 0:d6db09ba7537 96
daniferca 0:d6db09ba7537 97 if(y==1) { //Entrada al Taladro
daniferca 0:d6db09ba7537 98
daniferca 0:d6db09ba7537 99 if((finalIzq == 1) && (FUNCIONAR==1)) { //Inicio en funcion del Final de Carrera de la Izquierda y del Boton
daniferca 0:d6db09ba7537 100 enable=1;
daniferca 0:d6db09ba7537 101 estado=abriendose;
daniferca 0:d6db09ba7537 102
daniferca 1:65e9a9b006c1 103 gOled.clearDisplay();
daniferca 1:65e9a9b006c1 104 gOled.printf("Programa Taladro");
daniferca 1:65e9a9b006c1 105 gOled.display();
daniferca 1:65e9a9b006c1 106 gOled.setTextCursor(0,0);
daniferca 1:65e9a9b006c1 107
daniferca 0:d6db09ba7537 108 }
daniferca 0:d6db09ba7537 109
daniferca 0:d6db09ba7537 110
daniferca 0:d6db09ba7537 111 else if (contador>0){ //Una vez se alcanza la posicion para taladrar, el contador es mayor de 0 y no parara/cumplira esta condicion hasta que al final del programa se iguale el contador a 0
daniferca 0:d6db09ba7537 112
daniferca 0:d6db09ba7537 113 estado=abriendose;
daniferca 0:d6db09ba7537 114
daniferca 0:d6db09ba7537 115
daniferca 1:65e9a9b006c1 116
daniferca 0:d6db09ba7537 117 }
daniferca 0:d6db09ba7537 118
daniferca 2:20c2d39d5902 119
daniferca 2:20c2d39d5902 120
daniferca 0:d6db09ba7537 121 tiempo.reset();
daniferca 0:d6db09ba7537 122 tiempo.start();
daniferca 0:d6db09ba7537 123 }
daniferca 0:d6db09ba7537 124
daniferca 0:d6db09ba7537 125
daniferca 0:d6db09ba7537 126 }
daniferca 0:d6db09ba7537 127
daniferca 0:d6db09ba7537 128 void estadoAbriendose()
daniferca 0:d6db09ba7537 129 {
daniferca 0:d6db09ba7537 130
daniferca 0:d6db09ba7537 131 if(x==1) { //Entrada al Transportador de Piezas
daniferca 0:d6db09ba7537 132
daniferca 0:d6db09ba7537 133 if((finalDer==1)) {
daniferca 0:d6db09ba7537 134
daniferca 0:d6db09ba7537 135 estado=abierta;
daniferca 0:d6db09ba7537 136 enable=0;
daniferca 0:d6db09ba7537 137
daniferca 0:d6db09ba7537 138 }
daniferca 2:20c2d39d5902 139
daniferca 2:20c2d39d5902 140
daniferca 2:20c2d39d5902 141 else if (FUNCIONAR>1){
daniferca 2:20c2d39d5902 142
daniferca 2:20c2d39d5902 143 estado=abierta;
daniferca 2:20c2d39d5902 144
daniferca 2:20c2d39d5902 145 }
daniferca 2:20c2d39d5902 146
daniferca 0:d6db09ba7537 147
daniferca 0:d6db09ba7537 148 else {
daniferca 0:d6db09ba7537 149
daniferca 0:d6db09ba7537 150 gOled.clearDisplay();
daniferca 0:d6db09ba7537 151
daniferca 0:d6db09ba7537 152 paso(1);
daniferca 0:d6db09ba7537 153
daniferca 0:d6db09ba7537 154 }
daniferca 0:d6db09ba7537 155 }
daniferca 0:d6db09ba7537 156
daniferca 0:d6db09ba7537 157
daniferca 0:d6db09ba7537 158 if(y==1) { //Entrada al Taladro
daniferca 0:d6db09ba7537 159
daniferca 0:d6db09ba7537 160
daniferca 0:d6db09ba7537 161 if(tiempo.read() > 4 ){
daniferca 0:d6db09ba7537 162
daniferca 0:d6db09ba7537 163 contador++;
daniferca 0:d6db09ba7537 164 estado=abierta;
daniferca 0:d6db09ba7537 165 enable=0;
daniferca 0:d6db09ba7537 166
daniferca 0:d6db09ba7537 167 }
daniferca 0:d6db09ba7537 168
daniferca 0:d6db09ba7537 169 else if ((contador>0) && (tiempo.read() > 0.6)){
daniferca 0:d6db09ba7537 170
daniferca 0:d6db09ba7537 171 contador++;
daniferca 0:d6db09ba7537 172 estado=abierta;
daniferca 0:d6db09ba7537 173 enable=0;
daniferca 2:20c2d39d5902 174
daniferca 0:d6db09ba7537 175 }
daniferca 2:20c2d39d5902 176
daniferca 0:d6db09ba7537 177 else {
daniferca 0:d6db09ba7537 178
daniferca 0:d6db09ba7537 179 paso(1);
daniferca 0:d6db09ba7537 180
daniferca 0:d6db09ba7537 181
daniferca 0:d6db09ba7537 182 }
daniferca 0:d6db09ba7537 183
daniferca 0:d6db09ba7537 184 }
daniferca 0:d6db09ba7537 185
daniferca 0:d6db09ba7537 186
daniferca 0:d6db09ba7537 187 }
daniferca 0:d6db09ba7537 188
daniferca 0:d6db09ba7537 189 void estadoCerrandose()
daniferca 0:d6db09ba7537 190 {
daniferca 0:d6db09ba7537 191
daniferca 0:d6db09ba7537 192 if(x==1) { //Entrada al Transportador de Piezas
daniferca 0:d6db09ba7537 193
daniferca 2:20c2d39d5902 194 if(finalIzq==1 && contador<3 && FUNCIONAR==1) { //Bucle hasta hasta que el contador alcance 3
daniferca 0:d6db09ba7537 195
daniferca 0:d6db09ba7537 196 estado=cerrada;
daniferca 0:d6db09ba7537 197 enable=0;
daniferca 0:d6db09ba7537 198 }
daniferca 0:d6db09ba7537 199
daniferca 0:d6db09ba7537 200 else if ((finalIzq==1)&& contador>2) { //Cuando el contador alcance 3, se terminara el programa
daniferca 0:d6db09ba7537 201
daniferca 0:d6db09ba7537 202 estado = cerrada;
daniferca 0:d6db09ba7537 203 enable = 0;
daniferca 0:d6db09ba7537 204 contador=0;
daniferca 0:d6db09ba7537 205 FUNCIONAR=0;
daniferca 2:20c2d39d5902 206
daniferca 2:20c2d39d5902 207 }
daniferca 2:20c2d39d5902 208
daniferca 2:20c2d39d5902 209 else if ((finalIzq==1) && (FUNCIONAR>1)) { //
daniferca 2:20c2d39d5902 210
daniferca 2:20c2d39d5902 211 estado = cerrada;
daniferca 2:20c2d39d5902 212 enable = 0;
daniferca 2:20c2d39d5902 213 contador=0;
daniferca 2:20c2d39d5902 214 FUNCIONAR=0;
daniferca 0:d6db09ba7537 215
daniferca 0:d6db09ba7537 216 }
daniferca 0:d6db09ba7537 217
daniferca 0:d6db09ba7537 218 else { //Activar/Mantener movimiento
daniferca 0:d6db09ba7537 219
daniferca 0:d6db09ba7537 220 paso(0);
daniferca 0:d6db09ba7537 221
daniferca 0:d6db09ba7537 222 }
daniferca 0:d6db09ba7537 223 }
daniferca 0:d6db09ba7537 224
daniferca 0:d6db09ba7537 225 if (y==1){ //Entrada al Taladro
daniferca 0:d6db09ba7537 226
daniferca 2:20c2d39d5902 227 if((tiempo.read() > 0.6) && contador<7 ){ //Recorrido limitado por tiempo y contador(menor que 7) para taladro
daniferca 0:d6db09ba7537 228
daniferca 0:d6db09ba7537 229 estado=cerrada;
daniferca 0:d6db09ba7537 230
daniferca 2:20c2d39d5902 231 }
daniferca 2:20c2d39d5902 232
daniferca 0:d6db09ba7537 233
daniferca 0:d6db09ba7537 234 else if ((contador>6)&& (finalIzq==1)){ //Cuando el contador alcance 7 se pulse el final de carrera de la izquierda, se terminara el programa
daniferca 0:d6db09ba7537 235
daniferca 0:d6db09ba7537 236 estado = cerrada;
daniferca 0:d6db09ba7537 237 enable = 0;
daniferca 0:d6db09ba7537 238 contador=0;
daniferca 0:d6db09ba7537 239 FUNCIONAR=0;
daniferca 2:20c2d39d5902 240
daniferca 0:d6db09ba7537 241 }
daniferca 2:20c2d39d5902 242
daniferca 0:d6db09ba7537 243
daniferca 0:d6db09ba7537 244 else {
daniferca 0:d6db09ba7537 245
daniferca 0:d6db09ba7537 246 paso(0); //Activar/Mantener movimiento
daniferca 0:d6db09ba7537 247
daniferca 0:d6db09ba7537 248 }
daniferca 0:d6db09ba7537 249
daniferca 0:d6db09ba7537 250 }
daniferca 0:d6db09ba7537 251
daniferca 0:d6db09ba7537 252 }
daniferca 0:d6db09ba7537 253
daniferca 0:d6db09ba7537 254 void estadoAbierta()
daniferca 0:d6db09ba7537 255 {
daniferca 0:d6db09ba7537 256
daniferca 0:d6db09ba7537 257 if(x==1){ //Entrada al Transportador de Piezas
daniferca 0:d6db09ba7537 258
daniferca 0:d6db09ba7537 259 contador++; //Contador Piezas
daniferca 0:d6db09ba7537 260
daniferca 0:d6db09ba7537 261
daniferca 0:d6db09ba7537 262 gOled.clearDisplay();
daniferca 0:d6db09ba7537 263 gOled.printf("Piezas Transportadas = %d\n",contador);
daniferca 0:d6db09ba7537 264 gOled.display();
daniferca 0:d6db09ba7537 265 gOled.setTextCursor(0,0);
daniferca 0:d6db09ba7537 266
daniferca 0:d6db09ba7537 267
daniferca 0:d6db09ba7537 268 }
daniferca 0:d6db09ba7537 269
daniferca 0:d6db09ba7537 270 if (y==1){ //Entrada al Taladro
daniferca 0:d6db09ba7537 271
daniferca 0:d6db09ba7537 272 gOled.clearDisplay();
daniferca 0:d6db09ba7537 273 gOled.printf("Impactos Taladro = %d\n",contador);
daniferca 3:b05574b98b47 274 gOled.printf("temp = %3.1f C\r\n", adc_temp.read()*100);
daniferca 0:d6db09ba7537 275 gOled.display();
daniferca 0:d6db09ba7537 276 gOled.setTextCursor(0,0);
daniferca 3:b05574b98b47 277 pc.printf("ADC Temp = %f\n", (adc_temp.read()*100));
daniferca 0:d6db09ba7537 278
daniferca 1:65e9a9b006c1 279 }
daniferca 0:d6db09ba7537 280
daniferca 0:d6db09ba7537 281
daniferca 0:d6db09ba7537 282 tiempo.reset();
daniferca 0:d6db09ba7537 283 tiempo.start();
daniferca 0:d6db09ba7537 284
daniferca 0:d6db09ba7537 285 enable=1;
daniferca 0:d6db09ba7537 286 estado=cerrandose;
daniferca 0:d6db09ba7537 287
daniferca 0:d6db09ba7537 288 }
daniferca 0:d6db09ba7537 289
daniferca 3:b05574b98b47 290 //void estadoSEGURIDAD(){
daniferca 3:b05574b98b47 291
daniferca 3:b05574b98b47 292 // if(FUNCIONAR>1){
daniferca 3:b05574b98b47 293
daniferca 3:b05574b98b47 294 // if(finalIzq==1){
daniferca 3:b05574b98b47 295
daniferca 3:b05574b98b47 296 // FUNCIONAR==0;
daniferca 3:b05574b98b47 297 // estado==cerrada;
daniferca 3:b05574b98b47 298
daniferca 3:b05574b98b47 299 // }
daniferca 0:d6db09ba7537 300
daniferca 3:b05574b98b47 301
daniferca 3:b05574b98b47 302 // else{
daniferca 3:b05574b98b47 303
daniferca 3:b05574b98b47 304 // contador==1000;
daniferca 3:b05574b98b47 305 // paso(0);
daniferca 3:b05574b98b47 306
daniferca 3:b05574b98b47 307 // }
daniferca 3:b05574b98b47 308
daniferca 3:b05574b98b47 309 // }
daniferca 3:b05574b98b47 310
daniferca 3:b05574b98b47 311 // }
daniferca 0:d6db09ba7537 312 int main()
daniferca 0:d6db09ba7537 313 {
daniferca 0:d6db09ba7537 314 pc.baud(115200);
daniferca 0:d6db09ba7537 315 estado=cerrada;
daniferca 0:d6db09ba7537 316 gOled.begin();
daniferca 0:d6db09ba7537 317 gOled.clearDisplay();
daniferca 0:d6db09ba7537 318 gOled.printf("Hola\n");
daniferca 0:d6db09ba7537 319 gOled.display();
daniferca 3:b05574b98b47 320 ds1820.begin();
daniferca 2:20c2d39d5902 321 ds1820.startConversion();
daniferca 0:d6db09ba7537 322
daniferca 0:d6db09ba7537 323 if (boton == 1){
daniferca 0:d6db09ba7537 324
daniferca 0:d6db09ba7537 325 FUNCIONAR=1;
daniferca 0:d6db09ba7537 326
daniferca 0:d6db09ba7537 327 }
daniferca 0:d6db09ba7537 328
daniferca 0:d6db09ba7537 329
daniferca 0:d6db09ba7537 330
daniferca 0:d6db09ba7537 331 if(x==1) {
daniferca 0:d6db09ba7537 332 gOled.clearDisplay();
daniferca 0:d6db09ba7537 333 gOled.printf("Programa: Transporte de Piezas\n");
daniferca 0:d6db09ba7537 334 gOled.display();
daniferca 0:d6db09ba7537 335 }
daniferca 0:d6db09ba7537 336
daniferca 0:d6db09ba7537 337 if(y==1) {
daniferca 0:d6db09ba7537 338 gOled.clearDisplay();
daniferca 0:d6db09ba7537 339 gOled.printf("Programa: Taladro\n");
daniferca 0:d6db09ba7537 340 gOled.display();
daniferca 0:d6db09ba7537 341 }
daniferca 0:d6db09ba7537 342 tiempo.reset();
daniferca 0:d6db09ba7537 343
daniferca 0:d6db09ba7537 344 pc.baud(115200);
daniferca 0:d6db09ba7537 345
daniferca 2:20c2d39d5902 346 while(1) {
daniferca 2:20c2d39d5902 347
daniferca 2:20c2d39d5902 348
daniferca 0:d6db09ba7537 349
daniferca 0:d6db09ba7537 350 if (switcher ==0){ //Programa Transportador de Piezas
daniferca 0:d6db09ba7537 351
daniferca 0:d6db09ba7537 352 y=0;
daniferca 0:d6db09ba7537 353 x=1;
daniferca 0:d6db09ba7537 354
daniferca 0:d6db09ba7537 355 myLed1=1;
daniferca 0:d6db09ba7537 356 myLed2=0;
daniferca 0:d6db09ba7537 357
daniferca 0:d6db09ba7537 358 }
daniferca 0:d6db09ba7537 359
daniferca 0:d6db09ba7537 360 else if (switcher==1){ //Programa Taladro
daniferca 0:d6db09ba7537 361
daniferca 0:d6db09ba7537 362 y=1;
daniferca 0:d6db09ba7537 363 x=0;
daniferca 0:d6db09ba7537 364
daniferca 0:d6db09ba7537 365 myLed1=0;
daniferca 0:d6db09ba7537 366 myLed2=1;
daniferca 0:d6db09ba7537 367
daniferca 0:d6db09ba7537 368 }
daniferca 0:d6db09ba7537 369
daniferca 0:d6db09ba7537 370 if (boton==1){
daniferca 0:d6db09ba7537 371
daniferca 2:20c2d39d5902 372 FUNCIONAR++;
daniferca 0:d6db09ba7537 373
daniferca 0:d6db09ba7537 374 }
daniferca 0:d6db09ba7537 375
daniferca 0:d6db09ba7537 376
daniferca 0:d6db09ba7537 377 switch ( estado ) {
daniferca 0:d6db09ba7537 378 case cerrada:
daniferca 0:d6db09ba7537 379 estadoCerrada();
daniferca 0:d6db09ba7537 380 break;
daniferca 0:d6db09ba7537 381 case abriendose:
daniferca 0:d6db09ba7537 382 estadoAbriendose();
daniferca 0:d6db09ba7537 383 break;
daniferca 0:d6db09ba7537 384 case abierta:
daniferca 0:d6db09ba7537 385 estadoAbierta();
daniferca 0:d6db09ba7537 386 break;
daniferca 0:d6db09ba7537 387 case cerrandose:
daniferca 0:d6db09ba7537 388 estadoCerrandose();
daniferca 0:d6db09ba7537 389 break;
daniferca 3:b05574b98b47 390 //case SEGURIDAD:
daniferca 3:b05574b98b47 391 // estadoSEGURIDAD();
daniferca 3:b05574b98b47 392 // break;
daniferca 0:d6db09ba7537 393 default:
daniferca 0:d6db09ba7537 394 break;
daniferca 0:d6db09ba7537 395 }
daniferca 0:d6db09ba7537 396
daniferca 2:20c2d39d5902 397
daniferca 0:d6db09ba7537 398
daniferca 0:d6db09ba7537 399 }
daniferca 0:d6db09ba7537 400
daniferca 0:d6db09ba7537 401 }
daniferca 0:d6db09ba7537 402