Programas en arduino
Leer control remoto IR y decodificar código
Para usar este programa tendra que tener instalada la librerira IRremote.h
Para instalarla en Arduino (programa/incluir librería/añadir librería.zip).
Después de descargar el programa abrir el monitor serie (lupa arriba a la derecha) apriete una tecla del control remoto que quiera y le iniciará que código usa.
#include <IRremote.h>
int RECV_PIN = 5;
int dat = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(dat, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Empezamos la recepción por IR
}
void dump(decode_results *results) {
// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
Serial.print(«(«);
Serial.print(results->bits, DEC);
Serial.print(» bits)»);
if (results->decode_type == UNKNOWN) {
Serial.print(«Unknown encoding: «);
}
else if (results->decode_type == NEC) {
Serial.print(«Decoded NEC: «);
}
else if (results->decode_type == SONY) {
Serial.print(«Decoded SONY: «);
}
else if (results->decode_type == RC5) {
Serial.print(«Decoded RC5: «);
}
else if (results->decode_type == RC6) {
Serial.print(«Decoded RC6: «);
}
else if (results->decode_type == PANASONIC) {
Serial.print(«Decoded PANASONIC – Address: «);
Serial.print(results->address, HEX);
Serial.print(» Value: «);
}
else if (results->decode_type == LG) {
Serial.print(«Decoded LG «);
}
else if (results->decode_type == JVC) {
Serial.print(«Decoded JVC «);
}
else if (results->decode_type == AIWA_RC_T501) {
Serial.print(«Decoded AIWA RC T501 «);
}
else if (results->decode_type == WHYNTER) {
Serial.print(«Decoded Whynter «);
}
Serial.print(results->value, HEX);
Serial.print(» (HEX) , «);
Serial.print(results->value, BIN);
Serial.println(» (BIN)»);
}
void loop() {
if (irrecv.decode(&results)) {
digitalWrite(dat, HIGH);
dump(&results);
irrecv.resume(); // empezamos una nueva recepción
}
delay(300);
digitalWrite(dat, LOW);
delay(3);
}
Temperatura y Humedad ambiente DHT11
Conectar el sensor en CON1 (o CON2 en el caso del R8js)
Después hay que descargar la librería de Arduino «DHT Sensor Library by Adafruit», en «programas/incluir libreria/Gestionar Librerias «, e instalarla en Arduino (programa/incluir librería/añadir librería.zip). Después de descargar el programa abrir el monitor serie (lupa arriba a la derecha) y les indicara la temperatura y humedad ambiente.
#include <DHT.h>
DHT dht(11, DHT11);
void setup()
{
Serial.begin(9600);
dht.begin();
}
void loop()
{
Serial.print(«temp»);
Serial.print(» «);
Serial.print(dht.readTemperature());
Serial.print(» «);
Serial.println();
Serial.print(«hum»);
Serial.print(» «);
Serial.print(dht.readHumidity());
Serial.print(» «);
}
Melodia de piratas en el parlante /buzzer de la placa
/* Programa que reproduce la melodia de «Piratas del Caribe */
int sound = 10;// definir el pin del parlante
void setup(){
pinMode (sound, OUTPUT); //pin configurado como salida
}
// funcion = tone(pin, frequency, duration)
void loop() {
//digitalWrite(10,HIGH);
tone(sound,293.66,200);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,200);
delay(200);
tone(sound,293.66,100);
delay(100);
tone(sound,293.66,100);
delay(100);
tone(sound,440,100);
delay(100);
tone(sound,523.25,100);
delay(100);
tone(sound,587.33,100);
delay(200);
tone(sound,587.33,100);
delay(200);
tone(sound,587.33,100);
delay(100);
tone(sound,659.25,100);
delay(100);
tone(sound,698.45,100);
delay(200);
tone(sound,698.45,100);
delay(200);
tone(sound,698.45,100);
delay(100);
tone(sound,783.99,100);
delay(100);
tone(sound,659.25,100);
delay(200);
tone(sound,659.25,100);
delay(200);
tone(sound,587.33,100);
delay(100);
tone(sound,523.25,100);
delay(100);
tone(sound,523.25,100);
delay(100);
tone(sound,587.33,100);
delay(300);
tone(sound,440,100);
delay(100);
tone(sound,523.25,100);
delay(100);
tone(sound,587.33,100);
delay(200);
tone(sound,587.33,100);
delay(200);
tone(sound,587.33,100);
delay(100);
tone(sound,659.25,100);
delay(100);
tone(sound,698.45,100);
delay(200);
tone(sound,698.45,100);
delay(200);
tone(sound,698.45,100);
delay(100);
tone(sound,783.99,100);
delay(100);
tone(sound,659.25,100);
delay(200);
tone(sound,659.25,100);
delay(200);
tone(sound,587.33,100);
delay(100);
tone(sound,523.25,100);
delay(100);
tone(sound,587.33,100);
delay(400);
tone(sound,440,100);
delay(100);
}
Sensor infrarojo CNY70
Conectar un sensor CNY70 switch en el conector que tenga la entrada Digital 3 (CON7 en R8+, CON3 en R8sj, Con6 en R8 6 puertos). Ahora con una hoja negra y otra blanca se va activar el led de la placa según el color (el principio de seguir la linea). Tambien se va a activar si se tapa o o deja destapado.
void setup()
{
pinMode( 3 , INPUT);
pinMode( 13 , OUTPUT);
}
void loop()
{
if (1 – digitalRead(3))
{
digitalWrite(13 , LOW);
}
digitalWrite(13 , HIGH);
}
En Ardublock
Sensor de tacto
Conectar un sensor de tacto o switch en el conector que tenga la entrada Digital 3 (CON7 en R8+, CON3 en R8sj, Con6 en R8 6 puertos)
Cuando uno apriete el botón se encenderá el led de la placa
void setup()
{
pinMode( 3 , INPUT);
pinMode( 13 , OUTPUT);
}
void loop()
{
if (1 – digitalRead(3))
{
digitalWrite(13 , LOW);
}
digitalWrite(13 , HIGH);
}
En Ardublock
Sensor de Luz LDR
Conectar el LDR, o sensor de luz, en el puerto que tenga la salida A0.
int sensorPin =A0; // pin del LDR
int sensorValue = 0;
int ledPin = 13; //Led de la placa
void setup() {
Serial.begin(9600); //sets serial port for communication
pinMode(ledPin, OUTPUT);
}
void loop() {
sensorValue = analogRead(sensorPin); // lee los datos del LDR
Serial.println(sensorValue); //pone los datos en el monitor serie
if(sensorValue > 300 ){
digitalWrite(ledPin, HIGH);
}
else digitalWrite(ledPin, LOW);
delay(100);
}
Después de descargar abrir el monitor serie (lupa arriba a al derecha) y podrá leer los datos del sensor, según esta arriba o debajo de 300, se prendera o apagara el led del R8
Titilar led bicolor
Programa que enciende el sensor LED bicolor, un color por vez y apaga por un seguno en CON1
void setup() {
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
delay(1000);
}
Prueba de motores
Ejemplo para usar los motores en CON 1 y CON 2
En un sentido, luego en el otro y luego parar y se repite.
void setup() {
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(8, OUTPUT);
pinMode(6, OUTPUT);
}
void loop() {
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(6, LOW);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(1000);
}
Sensar con sensor de ultrasonido HC SR04
conectamos el sensor en CON3
Copiamos este programa al arduino y lo descargamos:
/*
* PROGRAMA PARA SENSAR DISTANCIA CON SENSOR DE ULTRASONIDO HC S04 CONECTADO EN EL PUERTO CON3 DEL LADRILLO R8 (PINES DIGITALES 2 Y 4)
* AUTOR: Erik P. Meuer
* www.misladrillos.com/ml/
*/
// DEFINIMOS ENTRADAS DIGITALES DEL SENSOR
int trig = 4; // 2 en R8sj
int echo = 2; //3 en R8sj
// DEFINIMOS LA VARIABLE PARA EL RESULTADO FINAL
int Dist_fin = 0 ;
// DEFINIMOS VARIABLE QUE CONTIENE EL RESULTADO DE LA MEDICION DEL SENSOR
int ultrasonido(int trigPin, int echoPin)
{
long distancia;
// CONFIGURAR PINES DE ENTRADA Y SALIDA
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//EMITO Y RECIBO PULSO DE SONIDO
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(20);
digitalWrite(trigPin, LOW);
//LEEO EL TIEMPO QUE DURO EL REBOTE DE SONIDO
distancia = pulseIn(echoPin, HIGH);
// LA VELOCIDAD DEL SONIDO ES DE 340 M/S O 29,5 MICROSEGUNDOS POR CENTIMETRO
// DIVIDIMOS EL TIEMPO DEL PULSO ENTRE 59, TIEMPO QUE TARDA RECORRER IDA Y VUELTA UN CENTIMETRO LA ONDA SONORA
distancia = distancia / 59;
// CUANDO ESTA FUERA DEL RANGO QUE SOPORTA EL SENSOR(DE 2CM A 3M) DEVUELVE DISTANCIA =0
if ((distancia < 2) || (distancia > 300)) return false;
return distancia;
}
void setup()
{
// APAGO LA SALIDA DIGITAL
digitalWrite( trig , LOW );
digitalWrite( echo , LOW );
// PREPARAR LA COMUNICACION SERIAL
Serial.begin(9600);
}
void loop()
{
// DEFINO LA DISTANCIA FINAL
Dist_fin = ultrasonido( trig , echo ) ;
// ENVIAR EL RESULTADO AL MONITOR SERIAL
Serial.print(«distancia»);
Serial.print(» «);
Serial.print(Dist_fin);
Serial.print(» «);
Serial.println();
delay (500);
}
Mas información:
Ejemplo de uso de pantalla
Conectar la Pantalla en el puerto COM7 que esl el que tiene el I2c
Para realizar la lectura de la pantalla OLED usaremos la librería desarrollada por Adafruit, disponible en este enlace. A su vez necesita la librería Adafruit GFX para realizar gráficos.
Descargue e instale estas librerìas en Arduino y despues pruebe el programa ejemplo:
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSansOblique12pt7b.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
B00000001, B11000000,
B00000001, B11000000,
B00000011, B11100000,
B11110011, B11100000,
B11111110, B11111000,
B01111110, B11111111,
B00110011, B10011111,
B00011111, B11111100,
B00001101, B01110000,
B00011011, B10100000,
B00111111, B11100000,
B00111111, B11110000,
B01111100, B11110000,
B01110000, B01110000,
B00000000, B00110000 };
#if (SSD1306_LCDHEIGHT != 64)
#error(«Height incorrect, please fix Adafruit_SSD1306.h!»);
#endif
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128×64)
// init done
// Show image buffer on the display hardware.
display.display();
delay(8000);
// Clear the buffer.
display.clearDisplay();
/* // draw a single pixel
display.drawPixel(10, 10, WHITE);
// Show the display buffer on the hardware.
// NOTE: You _must_ call display after making any drawing commands
// to make them visible on the display hardware!
display.display();
delay(2000);
display.clearDisplay();
// draw many lines
testdrawline();
display.display();
delay(2000);
display.clearDisplay();
// draw rectangles
testdrawrect();
display.display();
delay(2000);
display.clearDisplay();
// draw multiple rectangles
testfillrect();
display.display();
delay(2000);
display.clearDisplay();
// draw mulitple circles
testdrawcircle();
display.display();
delay(2000);
display.clearDisplay();
// draw a white circle, 10 pixel radius
display.fillCircle(display.width()/2, display.height()/2, 10, WHITE);
display.display();
delay(2000);
display.clearDisplay();
testdrawroundrect();
delay(2000);
display.clearDisplay();
testfillroundrect();
delay(2000);
display.clearDisplay();
testdrawtriangle();
delay(2000);
display.clearDisplay();
testfilltriangle();
delay(2000);
display.clearDisplay();
// draw the first ~12 characters in the font
testdrawchar();
display.display();
delay(2000);
display.clearDisplay();
// draw scrolling text
testscrolltext();
delay(2000);
display.clearDisplay();
// text display tests
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println(«Hello, world!»);
display.setTextColor(BLACK, WHITE); // ‘inverted’ text
display.println(3.141592);
display.setTextSize(2);
display.setTextColor(WHITE);
display.print(«0x»); display.println(0xDEADBEEF, HEX);
display.display();
delay(2000);
display.clearDisplay();
// miniature bitmap display
display.drawBitmap(30, 16, logo16_glcd_bmp, 16, 16, 1);
display.display();
// invert the display
display.invertDisplay(true);
delay(1000);
display.invertDisplay(false);
delay(1000);
display.clearDisplay();
// draw a bitmap icon and ‘animate’ movement
testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH);*/
}
void loop() {
/*DateTime now = rtc.now();
int sensorValue;
float voltage;
float temp;
float temp1;
for (int i = 0; i<10 ; i++)
{
sensorValue = analogRead(A1);
voltage= sensorValue * 5 / 1024.0;
temp = voltage – 0.5;
temp = temp – 0.0644; //Calibration
temp = temp / 0.01;
temp1=temp1+temp;
delay(500);
}
temp=temp1/10;
float tempf = (temp * 1.8) + 32;*/
display.drawRect(0, 0, display.width(), display.height(), WHITE);
display.drawRect(1, 1, display.width()-2, display.height()-2, WHITE);
display.drawLine(0, 32, display.width(), 32, WHITE);
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(18,18);
display.setFont(&FreeSansOblique12pt7b);
display.print(«25.0»);
display.setFont();
display.setCursor(85,6);
display.print(«o»);
display.setFont(&FreeSansOblique12pt7b);
display.setCursor(90,25);
display.print(«C»);
display.setFont();
/*
display.fillRect(0 , 33, display.width(), display.height(), WHITE);
display.setTextColor(BLACK);
display.setCursor(18,50);
display.setFont(&FreeSansOblique12pt7b);
display.print(now.hour(), DEC);
display.print(‘:’);
display.print(now.minute(), DEC);
display.print(‘:’);
display.print(now.second(), DEC);
/*display.setFont();
display.setCursor(85,38);
display.print(«o»);
display.setFont(&FreeSansOblique12pt7b);
display.setCursor(90,57);
display.print(«F»);
display.setFont();
display.setCursor(3,13);
display.print(voltage);
display.print(» V»);
display.setCursor(3,23);
display.print(sensorValue);
display.print(» SENSOR»);*/
display.display();
//delay(100);
display.clearDisplay();
}
void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) {
uint8_t icons[NUMFLAKES][3];
// initialize
for (uint8_t f=0; f< NUMFLAKES; f++) {
icons[f][XPOS] = random(display.width());
icons[f][YPOS] = 0;
icons[f][DELTAY] = random(5) + 1;
Serial.print(«x: «);
Serial.print(icons[f][XPOS], DEC);
Serial.print(» y: «);
Serial.print(icons[f][YPOS], DEC);
Serial.print(» dy: «);
Serial.println(icons[f][DELTAY], DEC);
}
while (1) {
// draw each icon
for (uint8_t f=0; f< NUMFLAKES; f++) {
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, WHITE);
}
display.display();
delay(200);
// then erase it + move it
for (uint8_t f=0; f< NUMFLAKES; f++) {
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, BLACK);
// move it
icons[f][YPOS] += icons[f][DELTAY];
// if its gone, reinit
if (icons[f][YPOS] > display.height()) {
icons[f][XPOS] = random(display.width());
icons[f][YPOS] = 0;
icons[f][DELTAY] = random(5) + 1;
}
}
}
}
void testdrawchar(void) {
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
for (uint8_t i=0; i < 168; i++) {
if (i == ‘\n’) continue;
display.write(i);
if ((i > 0) && (i % 21 == 0))
display.println();
}
display.display();
}
void testdrawcircle(void) {
for (int16_t i=0; i<display.height(); i+=2) {
display.drawCircle(display.width()/2, display.height()/2, i, WHITE);
display.display();
}
}
void testfillrect(void) {
uint8_t color = 1;
for (int16_t i=0; i<display.height()/2; i+=3) {
// alternate colors
display.fillRect(i, i, display.width()-i*2, display.height()-i*2, color%2);
display.display();
color++;
}
}
void testdrawtriangle(void) {
for (int16_t i=0; i<min(display.width(),display.height())/2; i+=5) {
display.drawTriangle(display.width()/2, display.height()/2-i,
display.width()/2-i, display.height()/2+i,
display.width()/2+i, display.height()/2+i, WHITE);
display.display();
}
}
void testfilltriangle(void) {
uint8_t color = WHITE;
for (int16_t i=min(display.width(),display.height())/2; i>0; i-=5) {
display.fillTriangle(display.width()/2, display.height()/2-i,
display.width()/2-i, display.height()/2+i,
display.width()/2+i, display.height()/2+i, WHITE);
if (color == WHITE) color = BLACK;
else color = WHITE;
display.display();
}
}
void testdrawroundrect(void) {
for (int16_t i=0; i<display.height()/2-2; i+=2) {
display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, WHITE);
display.display();
}
}
void testfillroundrect(void) {
uint8_t color = WHITE;
for (int16_t i=0; i<display.height()/2-2; i+=2) {
display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, color);
if (color == WHITE) color = BLACK;
else color = WHITE;
display.display();
}
}
void testdrawrect(void) {
for (int16_t i=0; i<display.height()/2; i+=2) {
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, WHITE);
display.display();
}
}
void testdrawline() {
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(0, 0, i, display.height()-1, WHITE);
display.display();
}
for (int16_t i=0; i<display.height(); i+=4) {
display.drawLine(0, 0, display.width()-1, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(0, display.height()-1, i, 0, WHITE);
display.display();
}
for (int16_t i=display.height()-1; i>=0; i-=4) {
display.drawLine(0, display.height()-1, display.width()-1, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=display.width()-1; i>=0; i-=4) {
display.drawLine(display.width()-1, display.height()-1, i, 0, WHITE);
display.display();
}
for (int16_t i=display.height()-1; i>=0; i-=4) {
display.drawLine(display.width()-1, display.height()-1, 0, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=0; i<display.height(); i+=4) {
display.drawLine(display.width()-1, 0, 0, i, WHITE);
display.display();
}
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(display.width()-1, 0, i, display.height()-1, WHITE);
display.display();
}
delay(250);
}
void testscrolltext(void) {
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(10,0);
display.clearDisplay();
display.println(«scroll»);
display.display();
display.startscrollright(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
}
Programas en Ardublock
Leer sensor de humedad tierra o sensor de lluvia en forma digital (r8,r8sj,r8+)
Conecte el sensor al puerto 7 según el modelo de R8 que tenga y despues de descargar abra el monitor serie.
Otra forma, la forma digital seria la siguiente : conectelo al puerto 5.
ahora hay que regular el umbral para cunado se quiera que se active el sensor, en este caso hará ruido el Buzzer cuando se «moje» la horquilla o el placa según sensor.
Nota: El software de Arduino debe estar previamente configurado para conexión al ladrillo (elegir el puerto correcto y la versión de Arduino genuino micro) y debe usar la versión De Ardublock según el e-brick R8 que esté usando. Más información en el manual.
Caminata al azar para modelo de 3 ruedas (R8)
Tacto capacitivo y led (R8sj,R8+)
Conecte el led al puerto indicado según modelo, lo mismo conecte el sensor de tacto capacitivo.
descargar el programa y subirlo
Ponga cargar a Arduino y espere a que suba al ladrillo R8. toque el circulo blanco y se activara el sensor cambiando de estado el LED
Nota: El software de Arduino debe estar previamente configurado para conexión al ladrillo (elegir el puerto correcto y la versión de Arduino genuino micro) y debe usar la versión De Ardublock según el e-brick R8 que esté usando. Más información en el m anual.
Fin de carrera y led (R8sj,R8+)
Conecte el led al puerto indicado según modelo, lo mismo conecte el sensor fin de carrera.
descargar el programa y subirlo
Ponga cargar a Arduino y espere a que suba al ladrillo R8.
Nota: El software de Arduino debe estar previamente configurado para conexión al ladrillo (elegir el puerto correcto y la versión de Arduino genuino micro) y debe usar la versión De Ardublock según el e-brick R8 que esté usando. Más información en el m anual.
prueba de motores
Conecte los 2 motores según versión de ladrillo R8
descargar el programa y subirlo
Ponga cargar a Arduino y espere a que suba al ladrillo R8.
Variar frecuencia de buzzer con potenciometro (R8,R8sj,R8+)
Conecte el potenciometro al puerto indicado según modelo
descargar el programa y subirlo
Cuando gire el potenciómetro variará la frecuencia del sonido emitido por el buzzer
Prueba de Relay (R8,R8sj,R8+)
Conecte el led al puerto indicado según modelo, lo mismo conecte el sensor de tacto, switch o pulsador.
descargar el programa y subirlo
Este programa va a prender y apagar el relay por intervalos de 1 segundo, va a escuchar un «clic» en el relay al activarse. En la bornera podrá conectar, como con cualquier relay una luz, un tester etc. para corroborar su funcionar. Esta la entrada común, la del medio, la salida Normal Abierto y la salida Normal Cerrado.
Tacto y led (R8sj,R8+)
Conecte el led al puerto indicado según modelo, lo mismo conecte el sensor de tacto, switch o pulsador.
descargar el programa y subirlo
Ponga cargar a Arduino y espere a que suba al ladrillo R8.
Nota: El software de Arduino debe estar previamente configurado para conexión al ladrillo (elegir el puerto correcto y la versión de Arduino genuino micro) y debe usar la versión De Ardublock según el e-brick R8 que esté usando. Más información en el m anual.
Probar el servomotor (r8+)
Conecte el servomotor a cualquier conector
descargue el programa y súbalo al Ardublock
El servo va a ir y venir segun los angulos del programa
Leer sensor de humedad tierra o sensor de lluvia en forma analógica (r8,r8sj,r8+)
Conecte el sensor al puerto según el modelo de R8 que tenga:
Ponga cargar a Arduino y espere a que suba al ladrillo R8.
Abra el «Monitor Puerto Serie» y vera el valor que lee el sensor entre 0 y 1024.
Nota: El software de Arduino debe estar previamente configurado para conexión al ladrillo (elegir el puerto correcto y la versión de Arduino genuino micro) y debe usar la versión De Ardublock según el e-brick R8 que esté usando. Más información en el manual.
Programas en ProbotLab
Librerías para Arduino
Arduino Soft
Descarga esta versión de Arduino para un buen funcionamiento de Ardublock:
Arduino 1.6.9 | Windows | MAC OS X | Linux 32 Bit Linux 64 Bit Linux ARM |