ADVANCEDEV3PROGRAMMINGLESSON
SincronizacióndevigasenparaleloBySanjayandArvindSeshan
1. Entenderquéesun“problemadesincronización”cuandoseusanVigas(olazos)Paralelas.
2. Aprendertécnicasparaasegurarquedosvigasterminanantesdepasaralsiguientebloquedeprogramación(variables,cablesdedatos,buclesyMisBloques)
Prerrequisitos:LecciónVigasParalelas,Cablesdedatos,Variables,MisBloquesconInputs yOutputs
©2015EV3Lessons.com,Lastedit4/21/2015 2
Objetivosdelalección
ì LasVigasParalelassonbuenasparahacerdoscosasalmismotiempoì AmenudosedeseahacerotracosadespuésdecompletarlaVigaParalelaì Dificultadparasaberquévigaterminaráantes(“problemadesincronización”)
ì Necesidaddesincronizarlasvigasparaasegurarquelosbloquesseejecutancuandoseesperaquelohagan
©2015EV3Lessons.com,Lastedit4/21/2015 3
UtilizacióndeLazosParalelosenlosprogramas
Enlaimagendeabajo,¿empezaráelgirodespuésdequetermineelmotorAoantes?
Respuesta:Nolossabes
ì Enelejemploqueremosqueambosbloques,movimientode720grados(movimientorecto)ymovimientodemotormedianoA,terminenantesqueempieceelmovimientodegiro(movimientode360grados).
ì Existenvariasposibilidadesparahaceresto:ì Variables (verdiapositiva4)ì Cables(verdiapositiva5)ì Bucles(verdiapositiva6)ì Misbloques(verdiapositiva7)
©2015EV3Lessons.com,Lastedit4/21/2015 4
Asegurar ambosLazos finalizados
Esteprogramaestáetiquetadocomo“problemadesincronización”enelcorrespondientearchivoEV3
©2015EV3Lessons.com,Lastedit4/21/2015 5
UsodeVariablesparaSincronizar
Esteprogramaestáetiquetadocomo“Variables”enelcorrespondientearchivoEV3
©2015EV3Lessons.com,Lastedit4/21/2015 6
UsodeCablesparaSincronizar
Esteprogramaestáetiquetadocomo“cables”enelcorrespondientearchivoEV3
©2015EV3Lessons.com,Lastedit4/21/2015 7
UsodeBuclesparaSincronizar
Esteprogramaestáetiquetadocomo“bucles”enelcorrespondientearchivoEV3
©2015EV3Lessons.com,Lastedit4/21/2015 8
UsodeMisBloquesparaSincronizar
Esteprogramaestáetiquetadocomo“MisBloques”enelcorrespondientearchivoEV3
Esteprogramaestáetiquetadocomo“Vigas_Paralelas_Mis_Bloque”enelcorrespondientearchivoEV3
ì Lasincronizaciónesimportantísimacuandosedeseacuadrarenunalínea.
ì Comoreto,completalaleccióncuadrarenunalínea.
ì Nota:Debesasegurarqueambasvigashayanterminadoantesdepasaralsiguientebloquesì Delocontrario,elrobotno
estarárectoenlalínea
©2015EV3Lessons.com,Lastedit4/21/2015 9
Desafío:CuadraturaenunaLínea
EsteejemploesdelalecciónCuadraturaenunalínea
1. ¿Quéesel“problemadesincronización”?Respuesta.Cuandoescribescódigoconvigasparalelas,nosabessiunodelosdoslazosovigasterminaráantesqueelotro.
2. ¿Cuálessonlos4modosderesolverelproblema?Respuesta.Usandovariables,cablesdedatos,bucles,oMisBloquesparaasegurarqueambasvigasterminanantesdepasaralsiguientebloquedecódigo.
©2015EV3Lessons.com,Lastedit4/21/2015 10
Guíadediscusión
ì EstetutorialhasidocreadoporSanjay Seshan yArvind Seshan deDroids Robotics ([email protected]).
ì Elcódigoorgininar Gyro Turn hasidoproporcionadoporConstructionMavericks
ì TraducciónrealizadaporToniSolerdeApps&Lego
ì Másleccionesenwww.ev3lessons.com
©2015EV3Lessons.com,Lastedit4/21/2015 11
Créditos
Este trabajo está bajo licencia Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.