PARTICIPACIÓN EN FERIA DE LAS CIENCIA DE BENALMADENA 2023
https://www.tiktok.com/@victornavasbenalmadena/video/7226811402672016667
COMO UTILIZAR LOS BOTONES PARA IMPRIMIR EN EL MONITOR SERIE
char val;
int ledPin13 = 13;
///////////////////// Arduino a Android
const int boton2 = 2;
const int boton3 = 3;
int buttonState2 = 0;
int buttonState3 = 0;
void setup() {
Serial.begin(9600);
pinMode(boton2, INPUT);
pinMode(boton3, INPUT);
pinMode(ledPin13, OUTPUT);
}
void loop(){
buttonState2 = digitalRead(boton2);
buttonState3 = digitalRead(boton3);
if (buttonState2 == HIGH) {
Serial.println("Hola amigo");
delay(50);
}
if (buttonState3 == HIGH) {
Serial.println("Me llamo Juan");
delay(50);
}
///////// Android a Arduino
/// LED 13
if( Serial.available() ) {
val = Serial.read();
if( val == '0' )
{
digitalWrite(ledPin13, LOW);
}
if( val == '1' )
{
digitalWrite(ledPin13, HIGH);
}
}
}
#include "IRremote.h"
int receiver = 9;
IRrecv irrecv(receiver);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
switch(results.value)
{
case 0x00FF30CF: Serial.println("Tecla: 1");
break;
case 0x00FF18E7: Serial.println("Tecla: 2");
break;
case 0x0FF7A85: Serial.println("Tecla: 3");
break;
case 0x00FF10EF: Serial.println("Tecla: 4");
digitalWrite(2, !digitalRead(2));
break;
case 0x00FF38C7: Serial.println("Tecla: 5");
digitalWrite(3, !digitalRead(3));
break;
case 0x00FF5AA5: Serial.println("Tecla: 6");
digitalWrite(6, !digitalRead(6));
break;
case 0x00FF42BD: Serial.println("Tecla: 7");
digitalWrite(7, !digitalRead(7));
break;
case 0x00FF4AB5: Serial.println("Tecla: 8");
break;
case 0x00FF52AD: Serial.println("Tecla: 9");
break;
}
irrecv.resume();
}
delay(300);
}
#define Push 2 //Damos el alias a nuestro pin 2.
#define LED 3 //Damos el alias a nuestro pin 3. int Push_lee = 0; int estadoLed = 0; int estadoAnterior = 0; void setup() { pinMode(LED,OUTPUT); //Definimos el pin LED como salida. pinMode(Push,INPUT); //Definimos el pin Push como entrada. } void loop() //Definimos nuestra secuencia. { Push_lee = digitalRead(Push); //Almacenamos en la variable la lectura del pulsador. if((Push_lee == 1) && (estadoAnterior == 0)) { estadoLed = 1 - estadoLed; delay(10); } estadoAnterior = Push_lee; if(estadoLed == 1)//Condición que si tenemos el valor de 1 entra en el. { digitalWrite(LED,HIGH); //Se manda un ALTO al LED. } else //Condición que se cumple si no se cumple el if. { digitalWrite(LED,LOW); } }
SHIELD PARA MICROBIT:
Este escudo es muy fácil para el realizar el cableado necesario para utilizar las conexiones externas de la micro:bit. Dispone de conexiones para todos los pines, pero además incluye otras interfaces de comunicación como puerto serie I2C y cabezales de pines SPI.
Se puede alimentar con el cable USB o con una alimentación externa incluido en el kit de sensores (DC7-9V). Cuando se alimenta el escudo directamente con una de estas dos opciones, es posible elegir el voltaje para las salidas V1 y V2 con 3.3V ó 5 V. Para cambiarlo basta con colocar las piezas de color naranja que hay en la parte inferior derecha del escudo en la posición adecuada, tal y como se puede ver en la siguiente imagen
ENLACES A PROGRAMAS Y TUTORIALES CON MICROBIT:
//13 luz verde
//11 luz roja
#define trigPin 12
#define echoPin 8
#include <Servo.h>
Servo ROBO;//bautizo mi motor
int posicion;
#define led 13
#define LED 11
void setup(){
ROBO.attach(9);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
ROBO.write(0);
pinMode(LED, OUTPUT);
pinMode(led, OUTPUT);
}
void loop()
{
long duracion, distancia ;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH) ;
distancia = duracion / 2 / 29.1 ;
Serial.println(String(
int Limite = 20 ; // Medida en vacío del sensor
delay(3000);
if ((distancia<15)&&(distancia>0)
Serial.println("distancia entre 15 y 0");
for (posicion=0;posicion<90;
ROBO.write(posicion);
delay(110);}//hago que tarde 110 mseg
digitalWrite(13, HIGH);
digitalWrite(11, LOW);
}
if ((distancia>15)&&(posicion==
Serial.println("distancia mayor que 15");
for (posicion=90;posicion>0;
ROBO.write(posicion);
delay(110);//hago que tarde 110 mseg
digitalWrite(13, LOW);
digitalWrite(11, HIGH);
}
//ROBO.write(posicion);
}
}