No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Robot para riego de plantas en Arduino, Javascript y Node

31/37
Recursos

Aportes 570

Preguntas 44

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

LOS FELICITO A TODO EL EQUIPO PLATZI Y AL PROFESOR FREDDY DE VERDAD QUE ANTES HACIA LAS COSAS POR COPIAR Y AHORA LOGRE ENTENDER ESTOY FULLLL EMOCIONADO Y ESO QUE AUN NO TENGO UN ARDUINO POR QUE AQU脥 EN VENEZUELA CUESTA LO QUE ME GANO EN UN MES Y UN KIT COMPLETO DE ARDUINO CUESTA LO QUE ME GANO EN 6 MESES PERO DEJANDO A UN LADO LO MALO DE VERDAD QUE LOS FELICITO POR SU INICIATIVA DE ESTE CURSO B脕SICO DE PROGRAMACI脫N Y LOGRAR QUE LAS GENTE TECNOLOGA COMO YO NOS EMOCIONE MAS Y CADA VEZ MAS TODA LA RAMA Y EN ESPECIAL LA PROGRAMACI脫N鈥 SALUDOS鈥 ESPERO ALG脷N D脥A CONOCERLOS Y NO SE ALG脷N MOMENTO TENER EL NIVEL PARA TRABAJAR CON USTEDES DESDE VENEZUELA SALUDOS FELIZ A脩O NUEVO Y LES DESEO LO MEJOR PARA EL PR脫XIMO A脩O 2017 SALUDOS A TODA LA COMUNIDAD PLATZI鈥

Muy buen curso!

Por ac谩 les dejo un ejemplo del ejercicio con el simulador, pero en Sketch, no en Javascript. La fotocelda y el servo en movimiento.

https://circuits.io/circuits/3881619-4-mover-un-servo-segun-una-fotocelda/

#include <Servo.h> 

Servo my_servo;
int led = 13;
int pin_FotoCelda = 0; // Almacena el pin anal贸gico del LDR (Fotocelda).
int valor_FotoCelda = 0; // Almacenar el valor del sensor de la Fotocelda.

void setup() {
  pinMode(led, OUTPUT); // pinMode(puerto, env铆a energ铆a).
  my_servo.attach(9); // Puerto.
  my_servo.write(90);  // Posici贸n inicial del servo en grados.
}

void loop() {
  valor_FotoCelda = analogRead(pin_FotoCelda); // Lee el valor del potenci贸metro (valor siempre este 0 y 1024).
  
  // Como el valor del sensor var铆a entre 0 y 1000 (aproximadamente) vamos a hacer lo siguiente:
  // Si el valor del sensor es menor que 400 (muy poca luz) el led se enciende y se mueve el servo a 70 grados.
  if(valor_FotoCelda < 400) {
    digitalWrite(led, HIGH);
    my_servo.write(70);
  // Si el valor del sensor es mayor que 400 (mucha luz) el led se apaga y se mueve el servo a 110 grados.
  } else {
   	digitalWrite(led, LOW);
    my_servo.write(110);
  }
}

隆No puedo creer que todo este curso haya sido gratis! Al empezar el curso pense que iba ser sencillo, nada complejo. Yo estuve en un un clase de programaci贸n en Ing. en Computaci贸n solo por un semestre (4 meses, realmente) y lo maximo que recuerdo que hicimos fue un programa que tu le ingresabas un a帽o y te decia si era bisiesto o no. Pense que el ATM y el pollo que se movia en la granja iba a ser lo mas complejo que programariamos aqu铆 y, por eso, me sorprendi muchisimo cuando emepezamos con Arduino.

Como les comente estuve en la carrera de Computaci贸n, pero solo estuve un semestre. Me sal铆 porque no senti que era la mio en ese momento. Yo queria una carrera que me permitiera crear robots o maquinas, que me permitiera cambiar el mundo y sentia que lo que hacia en Computaci贸n no tenia un impacto tangible. Es por eso, que este curso desperto ese interes que tenia y habia olvidado. Ya he comprado mi Arduino Uno y estoy apunto de subscribirme a Platzi para continuar con el curso de Arduino y concluir la carrera de Programaci贸n.

Sinceramente, gracias.

As铆 termina el circuito en la clase. Si no tienen un Arduino pueden hacerlo en Tinkercad, pero tendr铆an que escribir el c贸digo en Sketch.

El c贸digo quedar铆a as铆:

#include <Servo.h>

Servo servo;
int led = 13;
int pinLDR = 0;
int valorLDR = 0;

bool servoAbajo = true;

void setup()
{
  Serial.begin(9600);
  
  pinMode(13, OUTPUT); 
  
  servo.attach(9);
  servo.write(0);
}

void loop()
{
  valorLDR = analogRead(pinLDR);
  digitalWrite(led, HIGH);
  
  Serial.println(valorLDR);
  
  if (valorLDR > 500) {
    if (servoAbajo) {
      servo.write(110);
      servoAbajo = false;
    } else {
      servo.write(70);
      servoAbajo = true;
    }
  	
  } else {
  	servo.write(0);
  }
  
  delay(1000);
}

Si te sirvi贸 el comentario, dale like, as铆 me ayudas y motivas a seguir colaborando. 隆Feliz aprendizaje!

Atentamente: Rapimi95. 馃槃

Me costaba much铆simo en la universidad entender la programaci贸n, no se como pero logr茅 terminar las materias y ahora estoy haciendo mi proyecto de titulaci贸n. Y por la desesperaci贸n pens茅 muchas veces en dedicarme a otra cosa, gracias a este curso mi cari帽o a mi carrera se reactivo y he logrado entender cosas que nunca entend矛. No me voy a rendir tan pronto, gracias profe Freddy y gracias Platzi 馃槂 鈥

Hice este ejercicio en el simulador, dejo el enlace:

https://www.tinkercad.com/things/ho2Iwsv9AgH-servo

Sacar谩n un curso de rob贸tica ?

Desde Venezuela les hago llegar un saludo impregnado en admiraci贸n y respeto al equipo de Platzi, me encant贸 el curso espero poder continuar form谩ndome en su plataforma; no dejen de mejorar nunca porque si su objetivo es ense帽ar con gran calidad a la mayor cantidad de personas, lo lograran. Son grandes.

Hola a [email protected] Comparto el c贸digo del 煤ltimo desaf铆o del curso, el robot de riego. En mi caso (ya que soy muuuuy creativo) lo he llamado IrrigationBot.
El c贸digo est谩 bastante comentado, y es similar al utilizado para el ejmplo con el fotorresistor, sin embargo les recomiendo presten especial atenci贸n a las referencias sobre el higr贸metro, creo les ahorrar谩 alg煤n dolor de cabeza.
El prototipo lo pueden ver en funcionamiento Aqu铆

irrigationBot.js

// JavaScript Document

var jf = require('johnny-five');

var circuit = new jf.Board();

var led, motor, higro, alarm; //declaraci贸n de los componentes del hardware

var turn = 0; //variable que controla la posici贸n de la bandera.

circuit.on("ready", activate); // cuando el circuito est茅 listo disparamos la funci贸n activate();

function activate() {
	//En el caso de los sensores debemos configurarlos. Lo hacemos creando un objeto JSON donde especificamos el puerto    // y la frecuencia.
	var config = {pin: "A0", freq:50};
	
	higro = new jf.Sensor(config); // inicializamos nuestro higr贸metro y le pasamos com par谩metro a config.
	
	
	motor = new jf.Servo(9); //inicializamos nuestro servo y le pasamos el puerto donde recibir谩los datos
	motor.to(90); //la bandera quedar谩 recta al iniciar por primera vez
	
	measure(); // invocaci贸n de la funci贸n que controlar谩 las mediciones y las acciones a ejecutr
	
}

//Creamos una funci贸n recursiva que nos permite monitorar cada segundo las variaciones de luz.

function measure(){
	//Mostramos por consola los datos enviados por celda.
	console.log("Humedad del suelo: " + higro.value);
	
	humidity = higro.value; // capturamos la cantidad de humedad en una variable.
	led = new jf.Led(13); //inicilizamos nuestra led y le asignamos el puerto 13
	alarm = new jf.Led(4); //inicilizamos nuestro buzzer y le asignamos el puerto 4
	
	if(humidity > 800){ // recordar que valor m谩s alto es inversamente proporcional a cantidad de humedad
		led.on(); // escasa humedad encendemos la led.		
		alarm.on(); // suena la alarma porque se ha encendido el sistema de riego.
		if(turn){
			turn = 0;
			motor.to(110);
		}
		else{
			turn = 1;
			motor.to(60);
		}
	}
	else{
		motor.to(20);
		led.off(); // si tenemos suficiente humedad la led se apaga.
		alarm.off(); // la alarma est谩 apagada si no es necesario regar.		
	}
	
	setTimeout(measure, 1000);//llamada recursiva a la funci贸n measure();
}

Hice una peque帽a modificaci贸n al c贸digo conservando el mismo concepto que el original. Est谩 hecho con Sketch (Lenguaje de arduino) para que lo prueben en Tinkercad si no tienen los elementos f铆sicos

#include <Servo.h>

Servo servo;
int led = 13;
int luz = 0;

void setup()
{
  pinMode(led, OUTPUT); // Define el pin 13 como salida
  pinMode(A0, INPUT); // Defino la entrada an谩loga
  Serial.begin(9600); // Abro el puerto serial en 9600 bps:
  servo.attach(9); // Le indico el pin 9 donde est谩 conectado
  servo.write(0); // Inicio el servomotor en 90掳
}

void loop()
{
  digitalWrite(led, HIGH);
  luz = analogRead(A0); // Leo el valor de la foto resistencia
  Serial.println(luz); // Imprimo el valor de   digitalWrite(led, HIGH);
  
  delay(500); // Espero 500ms
  
  if (luz > 300){ // Hay luz
    servo.write(70);
  } else {
    servo.write(0);
  }
  
  digitalWrite(led, LOW);
  delay(500); // Espero 500ms
  
  if (luz > 300){ // Hay luz
    servo.write(110);
  } else {
    servo.write(0);
  }
  
}

Cu谩ntos m谩s solamente viendo porque no tienen un Arduino? 馃槃

Bueno, esto se acab贸:
![](

var cinco = require("johnny-five");// classe con la biblioteca J-five
var circuito = new cinco.Board();//instancia con modulos para la placa
var bombilla;
var servo;
var celda;
var turno = 0;

circuito.on("ready", encender);

function encender()
{
  var configuracion = {pin: "A0", freq: 50}//configuracion del sensor objeto jeson
  celda = new cinco.Sensor(configuracion);//instancia con modulos para el sensor

  bombilla = new cinco.Led(13);//instancia con modulos para el led
  bombilla.on();

  servo = new cino.Servo(9);//instancia con modulos para el servo
  servo.to(90);
  ondear();
}

ondear()
{
  console.log("Luz = " + celda.value);
  var luz = celda.value;
  if(luz > 800)
  {
    if(turno){
      turno = 0;
      servo.to(70);
    }
    else{
      turno = 1;
      servo.to(110);
    }
    servo.to(90);
  }
  else
  {
    servo.to(180);
  }
  setTimeout(ondear, 1000);//setTimeout invoca a una funcion de forma recursiva
}```

A quienes esten usando el simulador tinkercad.com con este c贸digo en C mueven el servo

#include <Servo.h>

int led_puerto = 13;
int servo_puerto = 9;
Servo servo;

void setup()
{
  pinMode(led_puerto, OUTPUT);
  servo.attach(servo_puerto);
  servo.write(0);
}

void loop()
{
  servo.write(180);
}

Y el circuito configurado como dijo freddy

Ha sido un excelente curso es mas, diria el mejor de todos para alguien que no sabe nada de programacion. Quiero dar gracias por todo el conocimiento que me otorg贸 Freddy en este curso lastima se tuviera que acabar.

<strong>Thanks Freddy</strong>

Sinceramente estoy muy agradecida con todo el equipo de Platzi y con Freddy por compartir este valioso conocimiento (y gratuitamente) los admiro mucho y quisiera poder brindarle esta oportunidad a otras personas (sobre todo ac谩 en mi pa铆s, Venezuela), como ustedes lo han hecho conmigo. Me han hecho muy feliz, y son uno de mis mayores motores de inspiraci贸n y motivaci贸n para continuar con mis estudios y no rendirme. Se les quiere.

Espero tener pronto mi kit de Arduino para aplicar todo lo aprendido! 馃槂
Estas clases han sido lo m谩ximo y me motivan a seguir aprendiendo m谩s.

Adjunto mi c贸digo y simulaci贸n del ejercicio, a煤n me falta llevarlo a la pr谩ctica鈥

Este es el circuito implementado, funciono a las mil maravillas con el c贸digo:
![](

Muchas gracias Freddy, aprend铆 mucho m谩s de lo que aprendo en la universidad. Mil gracias!!

Esto esta muy genial!!!
yo quiero continuar con alguna carrera de platzi, pero me falta un a帽o para que me puedan hacer prestamos y adquirir la suscripcion anual, les pido a mis padres y la siutacion no da para hacerlo de una 馃槮, pero pronto tendre ese certificado, gracias por ser mi mentos Freddy.

bueno fue genial el curso es muy completo ahora solo debo esperar a que termine la cuarentena y comprar el arduino para poner en pr谩ctica todo esto y realizar el 煤ltimo reto que me queda

ANTES DE INICIAR CON LA FOTORESISTENCIA

DESPUES DE QUE PASA EL NIVEL LA FOTORESISTENCIA, ACTIVA EL LED Y EL SERVO

<#include <Servo.h>

int fotoresistor = A0;
int led = 13;
int servoPos = 0;
Servo jjservo;


void setup()
{
  pinMode(led, OUTPUT);
  pinMode(fotoresistor, INPUT);
  jjservo.attach(9);
}

void loop()
{
  jjservo.write(servoPos);
  int medida = digitalRead(fotoresistor);
                         
  if (medida == 1 )/// el valor en voltaje es aproximadamente 2.22 V
  {
    servoPos = 90;
    digitalWrite(led, HIGH);
    delay(300);
    digitalWrite(led, LOW);
    delay(300);
  }
  else
  {
  	digitalWrite(led, LOW);
    servoPos = 0;
  }
  
}>

Aqu铆 mi resultado:
![](

#include<Servo.h>

Servo servo;
int rojo = 13;
int naranja = 11;
int azul = 7;
int luz = 0;

void setup()
{
  pinMode(rojo, OUTPUT); // pin 13  salida led rojo
  pinMode(naranja, OUTPUT);//pin 11 salida led anaranjado
  pinMode(azul, OUTPUT);// pin 7 salida led azul
  pinMode(A0, INPUT); // Defino la entrada an谩loga
  Serial.begin(9600); // Abro el puerto serial en 9600 bps:
  servo.attach(9); // pin 9 donde est谩 conectado
  servo.write(0); // Inicia el servomotor en 90掳
}

void loop()
{
  digitalWrite(rojo, HIGH);
  digitalWrite(naranja, LOW);
  digitalWrite(azul, HIGH);
  luz = analogRead(A0); // Leo el valor de la foto resistencia
  Serial.println(luz); // Imprimo el valor de   digitalWrite(led, HIGH);
  
  delay(500); // 
  
  if (luz > 300){ 
    servo.write(70);
  } else {
    servo.write(0);
  }
  
  digitalWrite(rojo, LOW);
  digitalWrite(naranja, HIGH);
  digitalWrite(azul, LOW);
  delay(500); 
  
  if (luz > 300){
    servo.write(110);
  } else {
    servo.write(0);
  }
  
}```

Verificar en el siguiente enlace:
[](https://www.tinkercad.com/things/25qu2WaTB65-start-simulating/editel?collectionid=OIYJ88OJ3OPN3EA&lessonid=EHD2303J3YPUS5Z&magic=638b523f76dcedce06d8fb4f94f5fdc5a4130698&projectid=OIYJ88OJ3OPN3EA&t=1573883088877849613&tenant=circuits#/lesson-viewer?sharecode=L05ra4orn-6zR9ejAutRFBys4zt6BPMmLXMnSBqLGVM=)

隆Saludos Freddy, saludos Platzi! Excelente este curso de Programaci贸n B谩sica. Soy de de Venezuela y estoy muy agradecido por su labor para con mi hermanos del pa铆s al regalar becas de suscripci贸n gratis a sus cursos. Esto nos motiva a seguir aprendiendo y a tumbar cualquier limitante o barreras pese a nuestra horrible situaci贸n econ贸mica, pol铆tica y social.

En arduino, el ejemplo de la clase

Muchas gracias por todo, tanto a Freddy como a los que estuvieron en el curso, pude ver como unos se ayudaban a otros a lo largo del curso, espero que pueda ver mas gente as铆 a lo largo de los dem谩s cursos

Gracias Freddy. Ha sido muy emocionante, me gradu茅 de Ingeniero Qu铆mico hace 7 a帽os y nunca he podido ejercer mas de un a帽o (en Venezuela), a esta altura me he replanteado muchas cosas y decid铆 aprender a programar y estudiar con ustedes para reenfocarme profesionalmente en este campo. Gracias por todo, siento que he aprendido en un mes mas de lo que me hab铆a imaginado.

Estoy con mas de 6 meses de atraso que se dio este curso y tengo mas ganas cada vez que termino de ver un video y hago mi resumen de aprendizaje, buenos tips freddy. Saludos desde Venezuela ojala pueda ganar la beca鈥

WOW, Excelente curso. Aqu铆 les dejo mis apuntes de todo el curso 馃槃. A por la carrera de IoT ahora 馃槀

Mi aporte con c贸digo en Sketch 馃槂

Totalmente agradecido con Freddy, los compa帽eros del curso y la comunidad Platzi en general, aprender a programar ha sido una de mis mejores experiencias, este curso me ha ayudado a fortalecer mi gusto personal y mi camino profesional, con mucho animo de compartir a otros lo aprendido y seguir fortaleciendo habilidades tecnol贸gicas para estar a la vanguardia de lo que nos espera en un futuro no muy lejano.

Freddy!!! Infinitas gracias por todo el conocimiento que has compartido mediante este curso.

Quiero manifestar que desde hace un tiempo decid铆 iniciar mi aprendizaje de programaci贸n con un objetivo algo diferente a los que se plantean en este curso. Sin embargo, debo confesar que desde los primeros videos he quedado cautivado por el contenido y la pedagog铆a que tienes para ense帽ar.

He visto cada uno de los videos y he realizado cada una de las actividades propuestas, y creo que hay mucho por aprender, pero tambi茅n creo que este curso ha sentado las bases de lo que ser谩 mi proceso de aprendizaje en programaci贸n, manteniendo mi objetivo inicial.

Nuevamente, muchas gracias.
!Y vida eterna para Platzi!

estoy creando una pagina para mi escuela que tal voy:
<!DOCTYPE html>
<html lang=鈥渆s鈥>

<head>
<meta charset=鈥淯TF-8鈥>
<meta name=鈥渧iewport鈥 content=鈥渨idth=device-width, initial-scale=1.0鈥>
<meta http-equiv=鈥淴-UA-Compatible鈥 content=鈥渋e=edge鈥>
<title>CBTa #64</title>
<link rel=鈥渟hortcut icon鈥 href=鈥渋mg/cbta64.jpg鈥 type=鈥渋mage/x-icon鈥>
<link rel=鈥渟tylesheet鈥 href=鈥渃ss/estilos.css鈥>
<link href=鈥https://fonts.googleapis.com/css?family=Open+Sans:300,400,700,800&display=swap鈥 rel=鈥渟tylesheet鈥>
</head>

<body>
<header>
<nav>
<a href=鈥渇ile:///C:/Users/Manuelprz/Downloads/P%C3%A1gina%20web%20Manuel%20Design/index.html鈥>Inicio</a>
<a href="">Acerca de</a>
<a href="">Portafolio</a>
</nav>
<section class=鈥渢extos-header鈥>
<h1>EXCELENCIA EDUCATIVA</h1>
<h2>Tu mejor oferta</h2>
</section>
<div class=鈥渨ave鈥 style=鈥渉eight: 150px; overflow: hidden;鈥><svg viewBox=鈥0 0 500 150鈥 preserveAspectRatio=鈥渘one"
style=鈥渉eight: 100%; width: 100%;鈥>
<path d=鈥淢0.00,49.98 C150.00,150.00 349.20,-50.00 500.00,49.98 L500.00,150.00 L0.00,150.00 Z"
style=鈥渟troke: none; fill: #fff;鈥></path>
</svg></div>
</header>
<main>
<section class=鈥渃ontenedor sobre-nosotros鈥>
<h2 class=鈥渢itulo鈥>Nuestra Instituci贸n</h2>
<div class=鈥渃ontenedor-sobre-nosotros鈥>
<img src=鈥渋mg/ilustracion2.svg鈥 alt=鈥濃 class=鈥渋magen-about-us鈥>
<div class=鈥渃ontenido-textos鈥>
<h3><span>1</span>carreras disponibles</h3>
<strong></strong><p>tecnico en ofimatica</p></strong>
<strong><p>tecnico en desarrollo sustentable</p></strong>
<h3><span>2</span>Formacion Academica</h3>
<p>En la institucion aprenderemos a desarrollar habilidades y destrezas en el ambito social,educativo y demas.</p>
</div>
</div>
</section>
<section class=鈥減ortafolio鈥>
<div class=鈥渃ontenedor鈥>
<h2 class=鈥渢itulo鈥>Portafolio</h2>
<div class=鈥済aleria-port鈥>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img1.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img2.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img3.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img8.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img4.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img5.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img6.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
<div class=鈥渋magen-port鈥>
<img src=鈥渋mg/img7.jpg鈥 alt="">
<div class=鈥渉over-galeria鈥>
<img src=鈥渋mg/icono1.png鈥 alt="">
<p>Nuestro trabajo</p>
</div>
</div>
</div>
</div>
</section>
<section class=鈥渃lientes contenedor鈥>
<h2 class=鈥渢itulo鈥>Que dicen nuestros alumnos</h2>
<div class=鈥渃ards鈥>
<div class=鈥渃ard鈥>
<img src=鈥渋mg/face1.jpg鈥 alt="">
<div class=鈥渃ontenido-texto-card鈥>
<h4>Juan</h4>
<p>La escuela es lo bastante buena para ofrecer la mejor calidad respecto a educacion y formacion profesional, formen parte de el CBTa #64</p>
</div>
</div>
<div class=鈥渃ard鈥>
<img src=鈥渋mg/face2.jpg鈥 alt="">
<div class=鈥渃ontenido-texto-card鈥>
<h4>Emy</h4>
<p>Cuenta con el estandar necesario de estudio con unos profesores lo bastante preparados para dar a conocer sus clases adecuadamente</p>
</div>
</div>
</div>
</section>
<section class=鈥渁bout-services鈥>
<div class=鈥渃ontenedor鈥>
<h2 class=鈥渢itulo鈥>Actividades Extracurriculares</h2>
<div class=鈥渟ervicio-cont鈥>
<div class=鈥渟ervicio-ind鈥>
<img src=鈥渋mg/ilustracion1.svg鈥 alt="">
<h3>Banda de Guerra</h3>
<p>forma parte de la banda de guerra y participa en diversos concursos a nivel estatal</p>
</div>
<div class=鈥渟ervicio-ind鈥>
<img src=鈥渋mg/ilustracion4.svg鈥 alt="">
<h3>Equipo de futbol</h3>
<p>Forma parte de nuestro equipo de futbol y acude a competencias para asi lograr participaciones a nivel estado</p>
</div>
<div class=鈥渟ervicio-ind鈥>
<img src=鈥渋mg/ilustracion3.svg鈥 alt="">
<h3>Escolta de bandera</h3>
<p>adentrate en nuestra escolta de bandera y participa en competencias estatales</p>
</div>
</div>
</div>
</section>
</main>
<footer>
<div class=鈥渃ontenedor-footer鈥>
<div class=鈥渃ontent-foo鈥>
<h4>celular</h4>
<p>6495260048</p>
</div>
<div class=鈥渃ontent-foo鈥>
<h4>pagina</h4>
<p>https://www.facebook.com/cbta64/</p>
</div>
<div class=鈥渃ontent-foo鈥>
<h4>Localidad</h4>
<p>Santa Maria del Oro, Durango</p>
</div>
</div>
<h2 class=鈥渢itulo-final鈥>漏 Manuel Design | Manuel Pererz</h2>
</footer>
</body>

</html>

estilos

  • {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    }

body {
font-family: 鈥榦pen sans鈥;
}

.contenedor {
padding: 60px 0;
width: 90%;
max-width: 1000px;
margin: auto;
overflow: hidden;
}

.titulo {
color: #642a73;
font-size: 30px;
text-align: center;
margin-bottom: 60px;
}

/* Header */

header {
width: 100%;
height: 600px;
background: #bc4e9c;
/* fallback for old browsers /
background: -webkit-linear-gradient(to right, hsla(340, 95%, 50%, 0.459), hsla(317, 45%, 52%, 0.664)), url(鈥/img/portada.jpg);
/
Chrome 10-25, Safari 5.1-6 /
background: linear-gradient(to right, hsla(340, 95%, 50%, 0.459), hsla(317, 45%, 52%, 0.664)), url(鈥/img/portada.jpg);
/
W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
background-size: cover;
background-attachment: fixed;
position: relative;
}

nav{
text-align: right;
padding: 30px 50px 0 0;
}

nav > a{
color:#fff;
font-weight: 300;
text-decoration: none;
margin-right: 10px;
}

nav > a:hover{
text-decoration: underline;
}

header .textos-header{
display: flex;
height: 430px;
width: 100%;
align-items: center;
justify-content: center;
flex-direction: column;
text-align: center;
}

.textos-header h1{
font-size: 50px;
color:#fff;
}

.textos-header h2{
font-size: 30px;
font-weight: 300;
color:#fff;
}

.wave{
position: absolute;
bottom: 0;
width: 100%;
}

/* About us */

main .sobre-nosotros{
padding: 30px 0 60px 0;
}
.contenedor-sobre-nosotros{
display: flex;
justify-content: space-evenly;
}

.imagen-about-us{
width: 48%;
}

.sobre-nosotros .contenido-textos{
width: 48%;
}

.contenido-textos h3{
margin-bottom: 15px;
}

.contenido-textos h3 span{
background: #4d0686;
color: #fff;
border-radius: 50%;
display: inline-block;
text-align: center;
width: 30px;
height: 30px;
padding: 2px;
box-shadow: 0 0 6px 0 rgba(0, 0, 0, .5);
margin-right: 5px;
}

.contenido-textos p{
padding: 0px 0px 30px 15px;
font-weight: 300;
text-align: justify;
}
.contenido-textos p{
padding: 0px 0px 30px 15px;
font-weight: 300;
text-align: justify;
}
/* Galeria */

.portafolio{
background: #f2f2f2;
}

.galeria-port{
display: flex;
justify-content: space-evenly;
flex-wrap: wrap;
}

.imagen-port{
width: 24%;
margin-bottom: 10px;
overflow: hidden;
position: relative;
cursor: pointer;
box-shadow: 0 0 6px 0 rgba(0, 0, 0, .5);
}

.imagen-port > img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.hover-galeria{
position: absolute;
width: 100%;
height: 100%;
top: 0;
transform: scale(0);
background: hsla(273,91%,27%, 0.7);
transition: transform .5s;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

.hover-galeria img{
width: 50px;
}

.hover-galeria p{
color: #fff;
}

.imagen-port:hover .hover-galeria{
transform: scale(1);
}

/* Clients */

.cards{
display: flex;
justify-content: space-evenly;
}

.cards .card{
background: #4d0686;
display: flex;
width: 46%;
height: 200px;
align-items: center;
justify-content: space-evenly;
border-radius: 5px;
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.6);
}

.cards .card img{
width: 100px;
height: 100px;
object-fit: cover;
border: 3px solid #fff;
border-radius: 50%;
display: block;
}

.cards .card > .contenido-texto-card{
width: 60%;
color: #fff;
}

.cards .card > .contenido-texto-card p{
font-weight: 300;
padding-top: 5px;
}

/* Our team */

.about-services{
background: #f2f2f2;
padding-bottom: 30px;
}

.servicio-cont{
display:flex;
justify-content: space-between;
align-items: center;
}

.servicio-ind{
width: 28%;
text-align: center;
}

.servicio-ind img{
width: 90%;
}

.servicio-ind h3{
margin: 10px 0;
}

.servicio-ind p{
font-weight: 300;
text-align: justify;
}

/* footer */

footer{
background: #414141;
padding: 60px 0 30px 0;
margin: auto;
overflow: hidden;
}

.contenedor-footer{
display: flex;
width: 90%;
justify-content: space-evenly;
margin: auto;
padding-bottom: 50px;
border-bottom: 1px solid #ccc;
}

.content-foo{
text-align: center;
}

.content-foo h4{
color: #fff;
border-bottom: 3px solid #af20d3;
padding-bottom: 5px;
margin-bottom: 10px;
}

.content-foo p{
color: #ccc;
}

.titulo-final{
text-align: center;
font-size: 24px;
margin: 20px 0 0 0;
color: #9e9797;
}

@media screen and (max-width:900px){
header{
background-position: center;
}

.contenedor-sobre-nosotros{
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sobre-nosotros .contenido-textos{
    width: 90%;
}

.imagen-about-us{
    width: 90%;
}

/* Galeria */

.imagen-port{
    width: 44%;
}

/* Clientes */

.cards{
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cards .card{
    width: 90%;
}

.cards .card:first-child{
    margin-bottom: 30px;
}

/* servicios */

.servicio-cont{
    justify-content: center;
    flex-direction: column;
}

.servicio-ind{
    width: 100%;
    text-align: center;
}

.servicio-ind:nth-child(1), .servicio-ind:nth-child(2){
    margin-bottom: 60px;
}

.servicio-ind img{
    width: 90%;
}

}

@media screen and (max-width:500px){
nav{
text-align: center;
padding: 30px 0 0 0;
}

nav > a{
    margin-right: 5px;
}

.textos-header h1{
    font-size: 35px;
}

.textos-header h2{
    font-size: 20px;
}

/* ABOUT US */

.imagen-about-us{
    margin-bottom: 60px;
    width: 99%;
}

.sobre-nosotros .contenido-textos{
    width: 95%;
}

/* Galeria */

.imagen-port{
    width: 95%;
}

/* Clients */

.cards .card{
    height: 450px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cards .card img{
    width: 90px;
    height: 90px;
}

/* Footer */

.contenedor-footer{
    flex-direction: column;
    border: none;
}

.content-foo{
    margin-bottom: 20px;
    text-align: center;
}

.content-foo h4{
    border: none;
}

.content-foo p{
    color: #ccc;
    border-bottom: 1px solid #f2f2f2;
    padding-bottom: 20px;
}

.titulo-final{
    font-size: 20px;
}

}

y necesito saber como enlazar otra pagina html con estilos ya que al enlazarla me aparce sin estilos y sin imagenes, es algo que no recuerdo como hacer

function Confusi贸n ()
{
Estoy un poco perdido por tantas palabras. Pero vuelvo a verlo y entiendo.
}

entre mas aprendo cosas nuevas me doy cuenta que en realidad se menos, que buen curso, ahore me voy a hacer el de definitivo de java.

Un proyecto simple pero muy inspirador, sobretodo para realizar proyectos en casa 馃槈

INTERESANTE
PDTA: ME FALTA ARDUINO JEJEXD

Excelente curso, much铆simas gracias, Freddy. Mi objetivo es el frontend como mayor fuerte y backend como el otro.

Todo en un solo if.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var BancoCliente = 'BOD';
        var CuentaCliente = true;
        var saldo = 100;
        var BancoDestino = prompt('Ingresa Banco de destino');
        var CuentaDestino = true;
        var Hora = new Date();
        var Costo = 0;
        var Monto = parseInt(prompt('Ingresa monto'));
        
        if (Hora.getHours() > 9 && Hora.getHours() < 12 || Hora.getHours() > 15 && Hora.getHours() < 20){
            if(CuentaCliente && CuentaDestino){
                if (BancoCliente == BancoDestino){
                    Costo = 0;
                }
                else {
                    Costo = 5;
                }
                Monto += Costo;
                if (saldo > Monto){
                    alert('Transaccion exitosa');
                }
                else{
                    alert('Saldo insuficiente');
                }
            }
            else{
                alert('Cuenta no verificada');
            }
        }
        else {
            alert('Hora invalida');
        ```

Hola. Se puede leer o escribir variables de arduino desde una aplicaci贸n web? Cual ser铆a el camino? El problema de usar firmata es que no se puede aprovechar la potencia de procesador para que el hardware funcione independientemente de la conexi贸n hacia un ordenador. Junto a un colega nos dedicamos a realizar desarrollos electr贸nicos como el que adjunto en imagen (un equipo para electrodeposici贸n de cobre en desarrollo) . Por ejemplo en este caso el arduino se comunica a una HMI y maneja un inversor seg煤n par谩metros cargados en HMI y queremos leer y graficar valores en una pc solo de ser requeridos por el usuario, es decir el equipo debe funcionar de forma aut贸noma.

Un profesor excelente, todo el curso magnifico, eternamente agradecido y felicidades para todos en platzi !

#include<Servo.h>


const long A = 1000;     //Resistencia en oscuridad en K惟
const int B = 15;        //Resistencia a la luz (10 Lux) en K惟
const int Rc = 10; 

Servo servoMotor;
const int LDRPin = A0;
int ilumi;
int foto;
int turno;

void setup()
{
  pinMode(13, OUTPUT);
  pinMode(LDRPin,INPUT);
  servoMotor.attach(9);
}

void loop()
{
  foto = analogRead(LDRPin);
  digitalWrite(13, HIGH);
  delay(500); // medio segundo
  digitalWrite(13, LOW);
  delay(500); // medio segundo
  
  
  ilumi = ((long)foto*A*10)/((long)B*Rc*(1024-foto)); //calcular la intensidad de luz
  ondear();
}

void ondear(){
	int luz  =   ilumi;
  if(luz > 800){
    if(turno == 1){
      turno =0;
      servoMotor.write(70);
  	  delay(500);
    }else{
      turno = 1;
      servoMotor.write(110);
  	  delay(500);
    }
  }else{
    servoMotor.write(150);
  	delay(500);
  }
 // ondear();
}```

隆Nunca pens茅 que iba a programar un arduino con un curso de programaci贸n b谩sica! Tuve que hacerlo en el simulador Tinkercad, fue un reto complicado, pero me siento super contento y emocionado de haber cumplido este y todos los dem谩s retos del curso.

En mi circuito, usando un sensor de temperatura, se activa (pardea) un led rojo a modo de alarma y autom谩ticamente se mueve un servo (simulando la acci贸n de abrir la llave de agua).

ENLACE AL DISE脩O EN TINKERCAD

La verdad es que estoy bastante agradecido por haber cursado este curso. Tan pronto vuelva a tener recursos, vendr茅 a devorarme todos los cursos que pueda, sobretodo ese de Biolog铆a Extraterrestre jajaja

Sr. John Freddy, muy buenas tardes,

Muy agradecido estoy por la oportunidad de reforzar mis conocimientos con este curso.

Excelente contenido, metodolog铆a, algo muy distinto a los cursos online que he participado.

Quedo con mucha expectativa con los cursos que tomar茅.

Muchos 茅xitos para Platzi.

Hola, para todas las personas de Lima-Per煤 todas las piezas lo encuentran en paruro con leticia.
Ahi pueden encontrar mas proyectos interesantes como este como drones, sumobots y mas.
Saludos.

Yo hice lo mismo pero con PHP y fue un INFIERNO jajajaja, se ve increible como lo hizo, y la forma de explicarlo. Me hubiera gustado ver este video antes de hacer aquel proyecto para usar node.

Muchas gracias por el curso Freddy, la verdad que en cuanto tenga la oportunidad me voy a inscribir a los cursos de Platzi, he aprendido mucho contigo y estoy m谩s que seguro que todos los profesores que son parte de tu equipo tiene una gran calidad de conocimientos y ense帽anzas para todos los que decidan tomar el camino de nunca parar de aprender, los 煤ltimos ejemplos que explicaste con Arduino los entend铆 perfectamente, de momento no puedo probarlos pero la verdad estoy muy emocionado de que me hallas hecho una introducci贸n a los lenguajes javascript, java, C entre otros muchos cursos que ustedes imparten, yo los sigo por YouTube todo el tiempo y por mi parte siempre estar谩n m谩s que recomendados, gracias por todo lo que haces.

Saludos, aqui les dejo my proyecto realizado sin arduino, hecho en tinkercad, prodan ver el proyecto en bloques y codigo, deben dar luz al fotoresistor haciendo click sobre el para ver como se mueve el servo:

https://www.tinkercad.com/things/lKsWsh8nMx3-cool-rottis/editel?sharecode=FXYwqQ8JOfF26zyNhDek9qGm8drk-JnSIjnMrz0EFno

Freddy cantando el himno de M茅xico jajajaja

@freddier Muchas gracias por cambiarnos la forma de pensar y de ver las cosas, reci茅n finalizo mis proyectos del curso y quiero continuar con mas proyectos. Gracias Platzi, seguir茅 mi carrera como Backend aqui mismo.

A pesar de no tener el arduino fisico, utilice un simulador y buscando en internet logre programarlo para hacer lo que indicaba fredy en la primera parte.

Codigo en arduino:

#include <Servo.h> //Importar libreria

Servo myservo; //Crear objeto del tipo servo
int pulsomin = 1000; // 1 milisegundo equivale a 1000 microsegundos (0 grados)
int pulsomax = 2000; // 2 milisegundos equivale a 2000 microsegundos (180 grados)

int valorSensor = 0;
const int pinsensor = A0;

int ms = 100;
void setup()
{
  pinMode(13, OUTPUT);
  myservo.attach(9, pulsomin, pulsomax); //inicializar el servo, primer parametro el pin, luego valor del pulso minimo y luego valor del pulso maximo.
  
  Serial.begin(9600);
}


void loop()
{
  valorSensor = analogRead(pinsensor);
  Serial.print("Valor del sensor: ");
  Serial.println(valorSensor);
    
  if (valorSensor >= 500) {
    digitalWrite(13, LOW); //Apagamos el led cuando detecta mucha luz
    myservo.write(0); // funcion write envia el angulo al cual debe posicionarse el servo
  
  }
  else {
    myservo.write(180);
    digitalWrite(13, HIGH); //Prendemos el led cuando detecta poca luz.
  };```


De verdad felicito al equipo, yo vengo del sector industrial el cual me ha dejado muchas ideas de software industrial con estas actividades ya tengo como materializar todas esas ideas .

gracias por darme ideas de proyectos

Genial Buen curso!! solo me comprarme el Arduino :'v

Gracias por todo, Freddy!

Desde Venezuela 鈥nfinitas Gracias!!! a freddy y Platzi, por permitirme aprender un poco mas con este excelente curso, 100% recomendado. gracias鈥

No crei posible que en este curso de programacion iba a realizar cosas tan increibles como crear un robot, no quiero imaginarme lo que me espera en los cursos avanzados隆隆隆隆

Que emoci贸n, estoy que grito en plena madrugada :v , definitivamente esto es lo que me gusta!

Much铆simas gracias por tu tiempo, seguimos con los cursos aprendiendo. Platzi!

Ahora a conseguir un arduino para poder aplicar esto!

Muchas gracias se帽or Freddy.

Usted ha sido un excelente maestro.

Muchas gracias Freddy y TeamPlatzi! Excelente curso.
Su pasi贸n contagia.
Nos volveremos a ver.
Fuerte abrazo.

Bon铆simo

Muchas gracias por el curso, pronto comprar茅 el arduino y subire los retos.

Lo que am茅 del curso: La inspiraci贸n que hierve con cada clase tan desmenuzada, f谩cil y pr谩ctica. No es simplista, es un abrebocas inmenso al maravilloso mundo de la programaci贸n. Quiero comenzar a aprender JavaScript y dem谩s tecnolog铆as web, crear sitios web pro, aprender IA, desarrollar aplicaciones, profundizar en estructuras de datos y algoritmos complejos, y finalmente para nutrir e inspirar quiero impartir ese conocimiento a otras personas.

Lo m谩s valioso al comenzar este camino es interiorizar hasta d贸nde queremos llegar, cada uno tiene sus propias razones para crear c贸digo, 驴cu谩les son las tuyas?

隆Gracias Platzi!

Me encant贸 el curso, no pude seguir el arduino porque no ten铆a uno:( Pero en cuanto lo tenga lo repasar茅 y crear茅 cosas incre铆bles:D

de hecho esta increible
eres un gran profesor freddy realmente lo eres y yo creia que ALVARO FELIPE era bueno, tu tambien lo eres

Encontrar inspiraci贸n a los 30 a帽os es dif铆cil, este se帽or lo logr贸鈥

Excelente ejercicio, obviamente cuando tengo un arduino fisico aplicare este ejercicio, FREDDY gracias por hacer que las clases sean faciles. anexo mi ejercicio.!!

As铆 quedo mi montaje, hecho en tinkercad.

El c贸digo:

<#include <Servo.h>

Servo servo_9;
int analogPin = A0;
int ldr;
int pos = 0;

void setup()
{
  pinMode(13, OUTPUT);
  servo_9.attach(9);
  Serial.begin(9600);
 
}

void loop()
{
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(300); 
  ldr = analogRead(analogPin);
  Serial.println(ldr);
  
  if (ldr > 200)
  {
    if (pos == 1)
    {
      pos = 0;
      servo_9.write(70);
    }
    else
    {
      pos = 1;
      servo_9.write(100);
    }
  }
  else 
  {
    servo_9.write (160);
  }

}> 

Por si les interesa echarle un vistazo:
https://www.tinkercad.com/things/9QHrtMhF3wR

Platzi ah sido un grandioso recurso para romper esquemas.

Como no tengo un arduino (por el momento), realice el c贸digo en sketch y luego lo pase a tinkercard, en donde realice el diagrama de conexiones del arduino.

CONEXIONES

C脫DIGO

// LED
int bombillo = 13;

// SERVOMOTOR
// Conectar con el servo
#include <Servo.h>
Servo motorcito; //Crea un objeto servo para controlar el servo
int pos = 90; //Posici贸n del servo
int turno = 0; // Variable necesaria en la funci贸n ondear

// FOTORESISTENCIA
int pinFotoResistencia = 0; 
int luz;
int timeOut = 1000; // Variable necesaria en la funci贸n ondear

void setup() {
  // LED
  pinMode(bombillo, OUTPUT);

  // SERVOMOTOR
  motorcito.attach(9); //Asigna el pin donde se conecta el servo

  // FOTORESISTENCIA
  // Configuraci贸n Puerto Serial para el funcionamiento de la fotoresistencia
  Serial.begin(9600);
  pinMode(pinFotoResistencia, INPUT);
}

void loop() {
  // LED
  digitalWrite(bombillo,HIGH);

  // SERVOMOTOR
  motorcito.write(pos); //Posici贸n en que se coloca el servo

  // Funci贸n para ondear la bandera
  ondear();
}

// ONDEAR: Funci贸n que mueve constantemente el servo cuando se supera un valor de la 
// fotoresistencia y mantiene una posici贸n cuando esta por debajo del valor. Este es
// una funci贸n recursiva
void ondear()
{
    
    // luz guarda el valor que ingresa al pin analogo debido a la luz percibida por
    // la fotoresistencia
    luz = analogRead(pinFotoResistencia);
    // Devolver el valor leido por el serial en el IDE de Arduino
    Serial.println(luz);

    // Si el valor de la fotoresistencia supera 800, se mueve el servo, de lo contrario
    // se mantiene en una misma posici贸n
    if (luz > 800)
    {
      if (turno == 1)
      {
        turno = 0;
        motorcito.write(70);
      }
      else
      {
        turno = 1;
        motorcito.write(110);
      }
    }
    else
    {
      motorcito.write(150);
    }

    // Tiempo de espera para volver a llamar a la misma funci贸n
    delay(timeOut);
    ondear();
}

Espero que sea de gran ayuda 馃槂

Freddy gracias por la dedicaci贸n, por la constante motivaci贸n e inspiraci贸n. Este curso fue la chispa que detono mi inter茅s por la programaci贸n. Pase de descubrir platzi por Youtube y ver sus videos a ser un estudiante activo con suscripci贸n en la plataforma, lo mas importante es que me generan confianza y siento que estoy aprendiendo gran cantidad de cosas nuevas cada dia, felicidades para totos los que estamos aca, \o/

Muchas gracias por compartir el conocimiento.Ya he recomendado este curso a tres familiares y muy pronto lo hare con mis amigos .

el reto terminado , 2021
https://www.youtube.com/watch?v=CUJIwaK_-vA

es mi intento ojala a alguien le pueda ayudar

S铆 a ustedes les sale este error, el problema es el COM en el c贸digo
.

C:\Users\Seba-PC\Progra\Platzi\Programaci贸n basica\ArduiNode>node leds
C:\Users\Seba-PC\Progra\Platzi\Programaci贸n basica\ArduiNode\node_modules\bindings\bindings.js:135
  throw err;
  ^

Error: Could not locate the bindings file. Tried:
 鈫 C:\Users\Seba-PC\Progra\Platzi\Programaci贸n basica\ArduiNode\node_modules\johnny-five\node_modules\@serialport\bindings\build\bindings.node

.
Han habido cambios en como se escribe el c贸digo en Johnny Five, se soluciona as铆:

//As铆 es el c贸digo original y falla
var jf = require("johnny-five");
var circuito = new jf.Board();

//As铆 tiene que quedar, ahora (Febrero 2021) hay que incluir en la .Board el puerto COM al que esta conectado el Arduino. Por su puesto tu tienes que colocar el COM que te dice en tu computador
var jf = require("johnny-five");
var circuito = new jf.Board({ port: "COM5" });

.
驴C贸mo saber mi COM? en el arduino te dice a cual esta conectado.
.

se le ve la emocion a Freddy por la electronica y la programacion juntos

Que gran curso! y sobre todo que gran Profesor!

curso mas pro de arduino???

kisto para empezar los cursos de programcion en platzi que emocion

hola

:'c tu despedida me llego al cora XD
no tengo arduino, en cuanto lo tengo prometo enviar mi proyecto y tembien tengo planeado seguir con mas cursos de aca

gracias por este increible curso, de verdad que ni en quinto semestre de universidad dan lo que se vio aqui, y creo que nunca me daran esto

no quiero ser ingeniero de mi universidad, quiero ser ingeniero de Platzi XD

hasta la proxima BYE
y claro que voy a ense帽ar lo que aprendi XD

Muchisimas gracias Freddy por siempre motivarnos para seguir aprendiendo!, estoy muy convencido de que mi suscripci贸n a Platzi valdr谩 totalmente la pena!

la verdad considero que el material y los proyectos que se realizar fueron mas all谩 de mis expectativas, agradezco mucho motivarnos a seguir adelante en el mundo de la programaci贸n y a amar lo que hacemos.

Muy emotivo el mensaje final.

Buenas a todos, lo que hizo Freddy en el circuito es un divisor de voltaje en un circuito en serie, lo que en realidad lee el puerto analogo del arduino es esa variacion de voltaje al variar la resistencia del LDR que tambien depende de la cantidad de luz. Gracia Freddy, excelente curso.

gracias

buen video

ya casi consigo usar el simulador de Arduino para hacer todo este circuito 馃槃

Aqu铆 les dejo mi simulaci贸n, el c贸digo es el mismo, saludos!!!

GENIALL LLEGAR HASTA ACA!!

ES MUCHO LO QUE SE APRENDE

Para los que lo realizan en la simulaci贸n de tinkercad les dejo el c贸digo que pueden usar en la pagina (NOTA: Tiene que hacer click en el fotoreceptor al iniciar la simulaci贸n para cambiar la variaci贸n de luz)

#include <Servo.h>

int sensorValue = 0;

int girador = 0;

Servo servo_9;

void setup()
{
  pinMode(13, OUTPUT);
  pinMode(A0, INPUT);
  Serial.begin(9600);

  servo_9.attach(9);

}

void loop()
{
  digitalWrite(13, HIGH);
  sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  if (sensorValue > 500) {
    if (girador == 1) {
      girador = 0;
      servo_9.write(150);
      delay(2000); // Wait for 2000 millisecond(s)
    } else {
      girador = 1;
      servo_9.write(30);
      delay(2000); // Wait for 2000 millisecond(s)
    }
  }
}```

![](https://ibb.co/zRRnHmb) Esta es la imagen del dise帽o

Hola. En primer lugar muchas gracias por este curso de programaci贸n b谩sica, siento que vi muchas cosas nuevas e interesantes, voy a volver atras a repasar un poco mas para no olvidarlas 馃槂
Aqui dejo lo que hice en Arduino, o hice en un simulador y me hubiera encantado poder tenerlo en fisico.
Otra cosa es que encontre mucho mas sencillo hacerlo en lenguaje C o como se programa en el simulador y en el Arduino que lo que veia que hacia Feddy en java script. Mi codigo me resulto mas corto y facil de entender 馃槃
Aqui lo dejo 馃槂

#include <Servo.h>


Servo servomotor;
int sensor = A0;
int var;


void setup()
{
  Serial.begin(9600);
  
  pinMode(13, OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(A0,INPUT);
  
  servomotor.attach(9);
}


void loop()
{
  var = analogRead(0);
 
  if(var < 400)
  {
    servomotor.write(0);
     digitalWrite(13,LOW);
  }
  else
  {
   
    digitalWrite(13,HIGH);
    servomotor.write(80);
    delay(1000);
    servomotor.write(180);
    delay(1000);
  }

Serial.println(var);

}

https://www.tinkercad.com/things/2GRlTQ6qU2g-brilliant-habbi-kup/editel

en verdad que a pesar de ser un curso basico de programacion esta muy completo y entre mas avanzas te impresiona lo bueno que es a pesar de ser gratis)

Se puede hacer completamente con el emulador? Trate de ponerle el codigo del entorno de arduino y me dio errores.

Les comparto 茅ste link, 隆seguro les va a interesar!
https://platzi.com/blog/conoce-personas-increibles-como-tu/

Muchas gracias por este curso de programaci贸n b谩sica. Me sirvi贸 mucho para repasar conceptos de programaci贸n y aprender cosas nuevas. Estoy bien animado para continuar con los cursos pagos , valen la pena 馃槂 馃槃