Solución Arduino
Solución Arduino
//TRASMISOR
void setup() {
Serial.begin(19200);
pinMode(13,INPUT);
}
void loop() {
if(digitalRead(13)==HIGH){
Serial.print("Hola Mundo");
delay(200);
}
***************************************************************
//RECEPTOR
String dato;
void setup() {
Serial.begin(19200);
}
void loop() {
while(Serial.available()){
dato=Serial.readString();
Serial.println(dato);
}
}
//PROBLEMA EJEMPLO DE COMUNICACIÓN
SERIAL:
void setup(){
Serial.begin(9600);
void loop(){}
Solución;
char dato;
void setup(){
Serial.begin(9600);
}
void loop(){
if(Serial.available()>0){
dato=Serial.read();
Serial.print(dato);
}
Solución:
//Problema numero 3, Solución:
void setup(){
Serial.begin(9600);
}
void loop(){
estado=0;
while(Serial.available()){
char caracter=Serial.read();
dato.concat(caracter);
estado=1;
delay(5);
}
if(estado==1){
Serial.println(dato);
dato="";
}
Solución:
COMANDO: CALCULADORA
Ingrese primer numero:
Ingrese Segundo numero:
Menu: Suma, resta, producto o división
COMANDOS: SUM, RES, PROD, DIV
Respuesta: XXX
void setup(){
Serial.begin(9600);
}
void loop(){
estado=0;
while(Serial.available()){
char caracter=Serial.read();
dato.concat(caracter);
estado=1;
delay(5);
}
if(estado==1){
//Serial.println(dato);
if(dato=="CALCULADORA"){Serial.print("Ingrese el primer numero: ");}
if(dato=="SUM"){numero=numero1+numero2; Serial.print("Respuesta:
"); Serial.println(numero); numero1=0;}
if(dato=="REST"){numero=numero1-numero2; Serial.print("Respuesta:
"); Serial.println(numero);numero1=0;}
if(dato=="PROD"){numero=numero1*numero2;
Serial.print("Respuesta: "); Serial.println(numero);numero1=0;}
if(dato=="DIV"){numero=numero1/numero2; Serial.print("Respuesta:
"); Serial.println(numero);numero1=0;}
numero=dato.toInt();
if(numero!=0){
if(numero1!=0){numero2=numero;Serial.println(numero2);}
else{numero1=numero;
Serial.println(numero1);
Serial.print("Ingrese el segundo numero: ");
}
}
dato="";
}
}
TERCERA CLASE:
17/04
MÓDULO BLUETOOH
Existen dos clases o tipos de módulos (antenas) bluetooth: modulo HC-06
(Esclavo), Módulo HC-05 (Maestro o esclavo)
CLASE 24 ABRIL 2020
NIVELES LOGICOS:
Azul: Arduino
Verde: Bluetooth
La solución para la comunicación es bajar el nivel del arduino 5v a 3.3v
DIVISOR DE VOLTAJE
TAREA
ENVIAR INFORMACIÓN VÍA BLUETOOTH DESDE LA LAPTOP HASTA EL
ARDUINO Y QUE SE VISUALICE EN UNA PANTALLA LCD
COMANDOS AT-ESP8266
Lista de comandos:
Comando Respuesta Función
+CWMODE:(1-3)
AT+CWMODE=? Lista los modos validos
OK
+CWMODE:modo
Pregunta en que modo AP esta actualmente el
AT+CWMODE?
módulo
OK
do 2 = Modo AP (huésped)
0 = Abierto
1 = WEP
AT+CWLAP:ecn,ssid,r
ssi,mac 2 = WPA PSK
AT+CWLAP
OK 3 = WPA2 PSK
+CWLAP:ecn,ssid,rssi,
AT+CWLAP=ssid,m mac Busca Acess Points disponibles para
ac,ch conectarse con las condiciones especificadas
OK
+CWSAP:ssid,pwd,ch,
ecn
AT+CWSAP? Pregunta la configuración actual del softAP
OK
1 = Abierto
2 = WPA_PSK
3 = WPA2_PSK
4 = WPA_WPA2_PSK
status:
2 = Se obtuvo IP
3 = Conectado
4 = Desconectado
+CIPSTATUS:id,type,a
AT+CIPSTATUS
ddr,port,tetype type: Tipo de conexión, "TCP" o "UDP"
tetype:
AT+CIPMUX=mode OK mode:
0 = Conexión unica
+CIPMUX:mode
AT+CIPMUX? Imprime el mode, el modo de conexión actual
OK
AT+CIPSTART - Establece una conexión TCP o registra un puerto UDP e inicia la conexión
(cliente)
[+CIPSTART:(id)
(“type”),(“ip address”),
AT+CIPSTART=? (port)] Lista los posibles comandos
OK
AT + CIPCLOSE - Cierra la conexión TCP o UDP
AT+CIPCLOSE=? OK
AT+CIPSEND=? OK
AT+CIFSR=? OK
AT+CIFSERVER -
Configurar como
servidor
modo:
1 = Crear servicio
+CIOBAUD:(9600-
921600) Nos informa que las velocidades de
AT+CIOBAUD=?
transmisión permitidas están en este rango
OK
+CIOBAUD:baudrate
Nos indica que el módulo está actualmente
AT+CiOBAUD?
configurado a 'baudrate'
OK
#include <SoftwareSerial.h>
// arduino Rx (pin 3) ---- ESP8266 Tx
// arduino Tx (pin 2) ---- ESP8266 Rx
SoftwareSerial esp8266(2,3);
void setup()
{
Serial.begin(9600); // monitor serial del arduino
esp8266.begin(9600); // baud rate del ESP8255
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
while(esp8266.available()){
char c = esp8266.read();
Serial.print(c);
}