SlideShare una empresa de Scribd logo
1 de 16
#include <Servo.h>
Servo servoVertical;
Servo servoHorizontal;
Servo servoBorrado;
int botonReset = 9;
int botonIzquierda = 10;
int botonArriba = 11;
int botonDerecha = 12;
int botonAbajo = 13;
int pinTransistor = 6;
int estadoBotonReset;
int estadoBotonIzquierda;
int estadoBotonArriba;
int estadoBotonDerecha;
int estadoBotonAbajo;
char salir;
void setup() {
Serial.begin(9600);
Serial.flush();
servoBorrado.attach(4);
servoBorrado.write(0);
servoBorrado.detach();
pinMode(botonReset, INPUT);
pinMode(botonIzquierda, INPUT);
pinMode(botonArriba, INPUT);
pinMode(botonDerecha, INPUT);
pinMode(botonAbajo, INPUT);
pinMode(pinTransistor,OUTPUT);
digitalWrite(pinTransistor, LOW);
}
void loop() {
char opcion = pedirOpcion();
switch(opcion) {
case 'a': dibujarCuadrado();
break;
case 'b': dibujarTriangulo();
break;
case 'c': dibujarRectangulo();
break;
case 'd': dibujarCaracol();
break;
case 'e': dibujarCaracol2();
break;
case 'f': dibujarPollo();
break;
case 'g': dibujarRana();
break;
case 'h': dibujarMariposa();
break;
case 'i': borrarDibujo();
break;
case 'j': dibujarJirafa();
break;
/*case '0': dibujarCero();
delay(10000);
break;*/
case '1': dibujarUno();
break;
/*case '2': dibujarDos();
delay(10000);
break;
case '3': dibujarTres();
break;
case '4': dibujarCuatro();
break;
case '5': dibujarCinco();
break;
case '6': dibujarSeis();
break;
case '7': dibujarSiete();
break;
case '8': dibujarOcho();
break;
case '9': dibujarNueve();
break;*/
case 'z': Serial.println("Modo edicion activado. Inserte 'q' para salir.");
estadoBotonReset = digitalRead(botonReset);
salir = Serial.read();
while(salir != 'q') {
//while(estadoBotonReset == LOW) {
estadoBotonIzquierda = digitalRead(botonIzquierda);
estadoBotonArriba = digitalRead(botonArriba);
estadoBotonDerecha = digitalRead(botonDerecha);
estadoBotonAbajo = digitalRead(botonAbajo);
if(estadoBotonIzquierda == HIGH) {
pintarIzquierda(50); }
if(estadoBotonArriba == HIGH) {
pintarArriba(50);
}
if(estadoBotonDerecha == HIGH) {
pintarDerecha(50);
}
if(estadoBotonAbajo == HIGH) {
pintarAbajo(50);
}
estadoBotonReset = digitalRead(botonReset);
salir = Serial.read();
Serial.flush();
}
Serial.println("Saliendo de modo edicion.");
break;
default: Serial.println("Opcion incorrecta. Mostrando opciones de nuevo.");
}
}
char pedirOpcion() {
Serial.println("Que desea dibujar?");
Serial.println("a) Cuadrado.");
Serial.println("b) Triangulo.");
Serial.println("c) Rombo.");
Serial.println("d) Cero.");
Serial.println("e) Uno.");
Serial.println("f) Dos.");
Serial.println("Seleccione una opcion: ");
while (Serial.available() == 0);
char input = Serial.read();
Serial.flush();
Serial.print("Elegida opcion ");
Serial.write(input);
Serial.println(".");
return input;
}
void borrarDibujo() {
//Serial.println("Borrando dibujo.");
digitalWrite(pinTransistor, HIGH);
servoBorrado.attach(4);
servoBorrado.write(160);
delay(4000);
servoBorrado.write(0);
delay(2500);
servoBorrado.write(160);
delay(4000);
servoBorrado.write(0);
delay(4000);
servoBorrado.detach();
digitalWrite(pinTransistor, LOW);
}
void pintarArriba(int tiempo) {
servoVertical.attach(3);
servoVertical.write(0);
delay(tiempo);
servoVertical.detach();
}
void pintarAbajo(int tiempo) {
servoVertical.attach(3);
servoVertical.write(180);
delay(tiempo);
servoVertical.detach();
}
void pintarDerecha(int tiempo) {
servoHorizontal.attach(2);
servoHorizontal.write(0);
delay(tiempo);
servoHorizontal.detach();
}
void pintarIzquierda(int tiempo) {
servoHorizontal.attach(2);
servoHorizontal.write(180);
delay(tiempo);
servoHorizontal.detach();
}
//funciones para pintar las figuras
void dibujarCuadrado() {
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
//Arriba
pintarArriba(2500);
//Derecha
pintarDerecha(2500);
//Abajo
pintarAbajo(2650);
//Izquierda
pintarIzquierda(2500);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarTriangulo() {
pintarArriba(1000);
delay(150);
pintarDerecha(2000);
delay(150);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarDerecha(50);
pintarArriba(50);
pintarArriba(50);
pintarAbajo(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarAbajo(50);
pintarDerecha(50);
pintarIzquierda(1500);
pintarIzquierda(3600);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarRectangulo() {
pintarArriba(1000);
delay(150);
pintarDerecha(2000);
delay(150);
//Arriba
pintarArriba(1250);
//Derecha
pintarDerecha(3500);
//Abajo
pintarAbajo(1400);
//Izquierda
pintarIzquierda(2600);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
//Funciones para pintar los numeros del 0-9
void dibujarCero(){
//fuera
//pintarDerecha(1500);
//Abajo
//pintarAbajo(2000);
//Izquierda
//pintarIzquierda(1490);
//Arriba
//pintarArriba(1900);
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(1650);
delay(150);
pintarDerecha(1000);
delay(150);
pintarAbajo(1530);
delay(150);
pintarIzquierda(1150);
delay(150);
pintarAbajo(270);
delay(150);
pintarIzquierda(200);
delay(150);
pintarArriba(2050);
delay(150);
pintarDerecha(1650);
delay(150);
pintarAbajo(2030);
delay(150);
pintarIzquierda(1300);
delay(150);
pintarIzquierda(2500);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarUno(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(1500);
delay(150);
pintarIzquierda(250);
delay(150);
pintarArriba(350);
delay(150);
pintarDerecha(650);
delay(150);
pintarAbajo(2100);
delay(150);
pintarIzquierda(400);
delay(150);
pintarIzquierda(2460);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarDos(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(800);
delay(150);
pintarDerecha(800);
delay(150);
pintarArriba(500);
delay(150);
pintarIzquierda(900);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(1100);
delay(150);
pintarAbajo(1100);
delay(150);
pintarIzquierda(800);
delay(150);
pintarAbajo(400);
delay(150);
pintarDerecha(800);
delay(150);
pintarAbajo(200);
delay(150);
pintarIzquierda(1100);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarTres(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(800);
delay(150);
pintarArriba(400);
delay(150);
pintarIzquierda(800);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(700);
delay(150);
pintarArriba(400);
delay(150);
pintarIzquierda(800);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(1100);
delay(150);
pintarAbajo(1450);
delay(150);
pintarIzquierda(1100);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarCuatro(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(800);
delay(150);
pintarIzquierda(800);
delay(150);
pintarArriba(800);
delay(150);
pintarDerecha(400);
delay(150);
pintarAbajo(700);
delay(150);
pintarDerecha(400);
delay(150);
pintarArriba(700);
delay(150);
pintarDerecha(400);
delay(150);
pintarAbajo(1900);
delay(150);
pintarIzquierda(800);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarCinco(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(600);
delay(150);
pintarArriba(400);
delay(150);
pintarIzquierda(700);
delay(150);
pintarArriba(700);
delay(150);
pintarDerecha(900);
delay(150);
pintarAbajo(400);
delay(150);
pintarIzquierda(700);
delay(150);
pintarAbajo(400);
delay(150);
pintarDerecha(700);
delay(150);
pintarAbajo(700);
delay(150);
pintarIzquierda(900);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarSeis(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(1100);
delay(150);
pintarDerecha(800);
delay(150);
pintarAbajo(400);
delay(150);
pintarIzquierda(600);
delay(150);
pintarAbajo(300);
delay(150);
pintarDerecha(600);
delay(150);
pintarAbajo(600);
delay(150);
pintarIzquierda(600);
delay(150);
pintarArriba(300);
delay(150);
pintarDerecha(350);
delay(150);
pintarArriba(200);
delay(150);
pintarIzquierda(350);
delay(150);
pintarAbajo(500);
delay(150);
pintarIzquierda(200);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarSiete(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(1100);
delay(150);
pintarIzquierda(600);
delay(150);
pintarAbajo(200);
delay(150);
pintarIzquierda(200);
delay(150);
pintarArriba(400);
delay(150);
pintarDerecha(1000);
delay(150);
pintarAbajo(1500);
delay(150);
pintarIzquierda(200);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarOcho(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(1000);
delay(150);
pintarDerecha(200);
delay(150);
pintarAbajo(500);
delay(150);
pintarDerecha(370);
delay(150);
pintarArriba(300);
delay(150);
pintarIzquierda(530);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(700);
delay(150);
pintarAbajo(1220);
delay(150);
pintarIzquierda(700);
delay(150);
pintarArriba(300);
delay(150);
pintarDerecha(470);
delay(150);
pintarArriba(200);
delay(150);
pintarIzquierda(460);
delay(150);
pintarAbajo(550);
delay(150);
pintarIzquierda(200);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarNueve(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(600);
delay(150);
pintarIzquierda(600);
delay(150);
pintarArriba(600);
delay(150);
pintarDerecha(600);
delay(150);
pintarAbajo(400);
delay(150);
pintarIzquierda(370);
delay(150);
pintarAbajo(200);
delay(150);
pintarDerecha(370);
delay(150);
pintarArriba(550);
delay(150);
pintarDerecha(200);
delay(150);
pintarAbajo(1450);
delay(150);
pintarIzquierda(200);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
//Funciones para pintar los animales
void dibujarCaracol(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(400);
delay(150);
pintarArriba(200);
delay(150);
pintarIzquierda(400);
delay(150);
pintarDerecha(350);
delay(150);
pintarAbajo(300);
delay(150);
pintarIzquierda(500);
delay(150);
pintarArriba(500);
delay(150);
pintarDerecha(700);
delay(150);
pintarAbajo(750);
delay(150);
pintarDerecha(300);
delay(150);
pintarIzquierda(1050);
delay(150);
pintarArriba(1200);
delay(150);
pintarAbajo(300);
delay(150);
pintarIzquierda(200);
delay(150);
pintarArriba(300);
delay(150);
pintarAbajo(1250);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarCaracol2(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(400);
delay(150);
pintarDerecha(800);
delay(150);
pintarArriba(400);
delay(150);
pintarIzquierda(800);
delay(150);
pintarDerecha(700);
delay(150);
pintarAbajo(600);
delay(150);
pintarIzquierda(1000);
delay(150);
pintarArriba(1000);
delay(150);
pintarDerecha(1400);
delay(150);
pintarAbajo(1500);
delay(150);
pintarDerecha(600);
delay(150);
pintarIzquierda(1950);
delay(150);
pintarArriba(2400);
delay(150);
//cuerno derecho
pintarAbajo(600);
delay(150);
pintarIzquierda(400);
delay(150);
//cuerno izquierdo
pintarArriba(600);
delay(150);
pintarAbajo(2500);
delay(150);
pintarIzquierda(2100);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarPollo(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(300);
delay(150);
pintarDerecha(600);
delay(150);
pintarArriba(600);
delay(150);
pintarIzquierda(700);
delay(150);
pintarAbajo(400);
delay(150);
pintarDerecha(400);
delay(150);
pintarIzquierda(400);
delay(150);
pintarArriba(800);
delay(150);
pintarIzquierda(300);
delay(150);
pintarAbajo(300);
delay(150);
pintarIzquierda(300);
delay(150);
pintarAbajo(200);
delay(150);
pintarDerecha(500);
delay(150);
pintarAbajo(725);
delay(150);
pintarDerecha(500);
delay(150);
pintarAbajo(250);
delay(150);
pintarIzquierda(2300);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarRana(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarDerecha(600);
delay(150);
pintarArriba(400);
delay(150);
pintarAbajo(600);
delay(150);
pintarDerecha(400);
delay(150);
pintarArriba(600);
delay(150);
pintarAbajo(600);
delay(150);
pintarDerecha(700);
delay(150);
pintarArriba(300);
delay(150);
pintarIzquierda(500);
delay(150);
pintarArriba(450);
delay(150);
pintarIzquierda(300);
delay(150);
pintarArriba(400);
delay(150);
pintarIzquierda(100);
delay(150);
pintarAbajo(100);
delay(150);
pintarIzquierda(200);
delay(150);
pintarArriba(100);
delay(150);
pintarIzquierda(100);
delay(150);
pintarAbajo(650);
delay(150);
pintarIzquierda(300);
delay(150);
pintarAbajo(450);
delay(150);
pintarIzquierda(300);
delay(150);
pintarAbajo(200);
delay(150);
pintarIzquierda(2400);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarMariposa() {
pintarArriba(1000);
delay(150);
pintarDerecha(2000);
delay(150);
pintarArriba(1000);
delay(150);
pintarDerecha(500);
delay(150);
pintarAbajo(500);
delay(150);
pintarIzquierda(200);
delay(150);
pintarAbajo(300);
delay(150);
pintarIzquierda(400);
delay(150);
pintarArriba(1300);
delay(150);
pintarAbajo(300);
delay(150);
pintarIzquierda(300);
delay(150);
pintarArriba(300);
delay(150);
pintarAbajo(1350);
delay(150);
pintarIzquierda(350);
delay(150);
pintarArriba(400);
delay(150);
pintarIzquierda(100);
delay(150);
pintarArriba(400);
delay(150);
pintarDerecha(600);
delay(150);
pintarAbajo(1150);
delay(150);
pintarIzquierda(1700);
delay(150);
pintarAbajo(1000);
delay(150);
}
void dibujarJirafa(){
pintarArriba(1000);
delay(150);
pintarDerecha(2500);
delay(150);
pintarArriba(2000);
//aqui empieza la cabeza
pintarIzquierda(200);
delay(150);
pintarArriba(200);
delay(150);
pintarIzquierda(400);
delay(150);
pintarArriba(150);
delay(150);
pintarDerecha(500);
delay(150);
pintarArriba(200);
delay(150);
pintarDerecha(150);
delay(150);
pintarAbajo(250);
delay(150);
pintarDerecha(100);
delay(150);
pintarArriba(250);
delay(150);
pintarDerecha(100);
delay(150);
pintarAbajo(300);
delay(150);
pintarDerecha(70);
delay(150);
pintarAbajo(300);
delay(150);
pintarIzquierda(100);
delay(150);
//termina el cuello
pintarAbajo(1500);
//cuerpo
pintarDerecha(1800);
//cola
pintarAbajo(400);
pintarIzquierda(150);
pintarArriba(400);
//patas derechas
pintarAbajo(1600);
pintarIzquierda(150);
pintarArriba(1600);
pintarAbajo(1200);
pintarIzquierda(150);
pintarArriba(1200);
pintarAbajo(400);
//barriga
pintarIzquierda(1100);
pintarArriba(400);
//piernas izquierdas
pintarAbajo(1600);
pintarIzquierda(150);
pintarArriba(1600);
pintarAbajo(1200);
pintarIzquierda(150);
pintarArriba(900);
delay(150);
pintarIzquierda(2000);
delay(150);
pintarAbajo(1000);
delay(150);
}

Más contenido relacionado

Similar a Arduino - código - video (11)

COMANDOS
COMANDOSCOMANDOS
COMANDOS
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
Assembler 2do laboratorio
Assembler 2do laboratorioAssembler 2do laboratorio
Assembler 2do laboratorio
 
Proyectos pic 2008
Proyectos pic  2008Proyectos pic  2008
Proyectos pic 2008
 
Instrucciones(raptor, java, c#)
Instrucciones(raptor, java, c#)Instrucciones(raptor, java, c#)
Instrucciones(raptor, java, c#)
 
Comandos
ComandosComandos
Comandos
 
Instrucciones(raptor, java, c#)
Instrucciones(raptor, java, c#)Instrucciones(raptor, java, c#)
Instrucciones(raptor, java, c#)
 
Presentación Fuente interactiva concurso Smart Cities
Presentación Fuente interactiva concurso Smart CitiesPresentación Fuente interactiva concurso Smart Cities
Presentación Fuente interactiva concurso Smart Cities
 

Más de Karen Wiznia

Lettuce example using scenarios outline
Lettuce example using scenarios outlineLettuce example using scenarios outline
Lettuce example using scenarios outlineKaren Wiznia
 
Lettuce example using simple scenario
Lettuce example using simple scenarioLettuce example using simple scenario
Lettuce example using simple scenarioKaren Wiznia
 
Anteproyecto - código - Video final
Anteproyecto - código - Video finalAnteproyecto - código - Video final
Anteproyecto - código - Video finalKaren Wiznia
 
Requests lettuce y python
Requests lettuce y pythonRequests lettuce y python
Requests lettuce y pythonKaren Wiznia
 
Testing & selenium - examples
Testing & selenium - examplesTesting & selenium - examples
Testing & selenium - examplesKaren Wiznia
 
Requests con lettuce y python
Requests con lettuce y pythonRequests con lettuce y python
Requests con lettuce y pythonKaren Wiznia
 
Selenium with lettuce and python
Selenium with lettuce and pythonSelenium with lettuce and python
Selenium with lettuce and pythonKaren Wiznia
 
Crear un repositorio con Gir Bash
Crear un repositorio con Gir BashCrear un repositorio con Gir Bash
Crear un repositorio con Gir BashKaren Wiznia
 

Más de Karen Wiznia (9)

Lettuce example using scenarios outline
Lettuce example using scenarios outlineLettuce example using scenarios outline
Lettuce example using scenarios outline
 
Lettuce example using simple scenario
Lettuce example using simple scenarioLettuce example using simple scenario
Lettuce example using simple scenario
 
Anteproyecto - código - Video final
Anteproyecto - código - Video finalAnteproyecto - código - Video final
Anteproyecto - código - Video final
 
Requests lettuce y python
Requests lettuce y pythonRequests lettuce y python
Requests lettuce y python
 
Testing & selenium - examples
Testing & selenium - examplesTesting & selenium - examples
Testing & selenium - examples
 
Requests con lettuce y python
Requests con lettuce y pythonRequests con lettuce y python
Requests con lettuce y python
 
Selenium with lettuce and python
Selenium with lettuce and pythonSelenium with lettuce and python
Selenium with lettuce and python
 
Crear un repositorio con Gir Bash
Crear un repositorio con Gir BashCrear un repositorio con Gir Bash
Crear un repositorio con Gir Bash
 
Malware
MalwareMalware
Malware
 

Arduino - código - video