Introducció a la robòtica i exemples amb bitbloq · Introducció a la robòtica i exemples amb...

Post on 30-Apr-2020

6 views 0 download

Transcript of Introducció a la robòtica i exemples amb bitbloq · Introducció a la robòtica i exemples amb...

Introducció a la robòtica i exemples amb bitbloq

Introducció a la robòtica:

Parts del robot

Components

Arduino

Bitbloq

Exercissis pràctics amb: 1 led Octopus, 1 placa freeaduino, un sensor IR Octopus, Pc amb google Chrome i bitbloq.bq.com

Presentació

Communia.org / Escola Tecnos

Introducció a la programació per blocs

Blockly games

Scratch

Basat en la guia de BQ: http://diwo.bq.com/course/aprende-robotica-y-programacion-con-bitbloq-2Projectes extrets de: http://diwo.bq.com/category/construye

Adaptació feta per communia.org per les extra-escolars 2016-17 de Fablab Terrassa

"Un robot és una màquina automàtica programable que és capaç d'interpretar informació del medi físic per modificar la seva conducta. Té la capacitat d'interactuar amb l'entorn i, en funció d'això, realitzar unes funcions o unes altres. "

Veure més a: http://diwo.bq.com/que-es-un-robot-conociendo-los-sensores-y-actuadores

ARDUINO / PLACA CONTROLADORA (ZUM BT-328)

Programació per blocshttps://duckduckgo.com/?q=scratch+bitblock+blockly+app+inventor+&t=canonical&iax=1&ia=images

Anar a bitbloq.bq.com amb Google Chrome:

1. Fer un usuari2. Interfície Bitbloq http://diwo.bq.com/conociendo-bitbloq-2

3. Instalar Web2board http://diwo.bq.com/antes-de-empezar-con-bitbloq-2

QUE ES FACI LA LLUM!!programem un led

http://diwo.bq.com/y-la-luz-se-hizo-programando-leds-en-bitbloq-2

Què és un LED?

Un LED (light-emitting diode) és un díode, un component que només deixa passar l'electricitat en un sentit i la bloqueja en l'altre.

En el cas dels LED, quan circula electricitat emeten llum.

Els LED són barats, gasten molt poca energia i poden arribar a ser molt lluminosos. S'utilitzen molt en sistemes electrònics i estan substituint a la il·luminació tradicional.

Veure més a: http://diwo.bq.com/y-la-luz-se-hizo-programando-leds-en-bitbloq-2

1 Per programar el LED ves a la pestanya "Software"

2 Fes clic a "Components"

3 Busca el bloc "Encendre/Apagar" el LED

4 Arrossega’l dins del bloc loop

Programem un led

Hola món: El LED fa pampallugues.

En programació li diem “Hola món!!” al primer programa que fem quan estem aprenent. Quan es programa una placa controladora, el “Hola món” consisteix en fer parpellejar el LED per veure si tot funciona correctament :)

Proj. bitbloq: https://goo.gl/R1aWBn

Què és un sensor infraroig?

El sensor infraroig, també conegut com a sensor IR, és un dispositiu que detecta la llum reflectida i, per tant, és capaç de diferenciar entre blanc i negre (o clar i fosc).

Es tracta d'un component digital, ja que únicament retorna dos valors (0 i 1). Quan detecta negre retorna 0 (el negre absorbeix la llum, per tant la llum reflectida és 0) i quan detecta blanc, retorna 1.

Veure més a: http://diwo.bq.com/programando-un-sensor-infrarrojo-en-bitbloq

Controlem el LED amb un sensor IR

Proj. bitbloq: https://goo.gl/CeJ3md

Millorem el programa: variables i funcions

1 2

3

1

2

3

Proj. bitbloq: https://goo.gl/fFZtud

/*** Included libraries ***/

/*** G lobal variables and function definition ***/

const int led_integrat = 13;

const int sensor_infrarrojos_0 = 10;

/*** Setup ***/

void setup() {

pinM ode(led_integrat, OUTPUT);

pinM ode(sensor_infrarrojos_0, INPUT);

}

/*** Loop ***/

void loop() {

if (digitalRead(sensor_infrarrojos_0) = = 1) {

digitalW rite(led_integrat, HIGH);

} else {

digitalW rite(led_integrat, HIGH);

}

}

/*** Included libraries ***/

/*** Global variables and function definition ***/

const int led_integrat = 13;

const int sensor_infrarrojos_0 = 3;

const int led_0 = 12;

float negre = 0;

float blanc = 1;

void apagar_leds() {

digitalW rite(led_integrat, LOW );

digitalW rite(led_0, LOW );

}

void encendre_leds() {

digitalW rite(led_integrat, HIGH);

digitalW rite(led_0, HIGH);

}

/*** Setup ***/

void setup() {

pinM ode(led_integrat, OUTPUT);

pinM ode(sensor_infrarrojos_0, INPUT);

pinM ode(led_0, OUTPUT);

apagar_leds();

}

/*** Loop ***/

void loop() {

if (digitalRead(sensor_infrarrojos_0) = = negre) {

apagar_leds();

}

if (digitalRead(sensor_infrarrojos_0) = = blanc) {

encendre_leds();

}

delay(20);

}

/*** Included libraries ***/

/*** Global variables and function definition ***/

const int led_integrat = 13;

/*** Setup ***/

void setup() {

pinM ode(led_integrat, OUTPUT);

}

/*** Loop ***/

void loop() {

digitalW rite(led_integrat, HIGH);

delay(200);

digitalW rite(led_integrat, HIGH);

delay(200);

}

Codi 1er: Codi 2on: Codi 3er:

Què és el port de serie?

El port sèrie és el mitjà que té la teva placa controladora per comunicar-se amb un altre aparell com l'ordinador o el teu mòbil.

És molt útil per comprovar d'un cop d'ull el valor d'un sensor o una variable, veure l'estat de la teva programa i, en definitiva, corregir i entendre millor els possibles errors que aquest tingui.

Veure més a: http://diwo.bq.com/comunicandose-con-puerto-serie-bitbloq2/

Serial monitor/*** Included libraries ***/

# include < Softw areSerial.h>

# include < BitbloqSoftw areSerial.h>

/*** G lobal variables and function definition ***/

bqSoftw areSerial puerto_serie_0(0, 1, 9600);

[...]

/*** Loop ***/

void loop() {

if (digitalRead(sensor_infrarrojos_0) = = negre) {

apagar_leds();

puerto_serie_0.println("És negre ");

puerto_serie_0.print("negre = ");

puerto_serie_0.println(negre);

}

if (digitalRead(sensor_infrarrojos_0) = = blanc) {

encendre_leds();

puerto_serie_0.println("És blanc ");

puerto_serie_0.print("blanc = ");

puerto_serie_0.println(blanc);

}

puerto_serie_0.println("# # # # final del loop # # # # ");

delay(20);

}

Proj. bitbloq: https://goo.gl/t4LmBn