Diferencia entre revisiones de «Sensor de proximidad infrarrojo»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
Sin resumen de edición |
||
| (No se muestra una edición intermedia del mismo usuario) | |||
| Línea 35: | Línea 35: | ||
</pre> | </pre> | ||
* DFRobotDFPlayerMini | |||
<pre> | <pre> | ||
| Línea 197: | Línea 198: | ||
LED-LDR-VCA.gif | VCA usando un LDR | LED-LDR-VCA.gif | VCA usando un LDR | ||
</gallery> | </gallery> | ||
= LDR VCA = | |||
{| class="wikitable" | |||
|- | |||
| Id (mA) || R | |||
|- | |||
| 2 || 2k | |||
|- | |||
| 4 || 1.3k | |||
|- | |||
| 8 || 835 | |||
|- | |||
| 20 || 500 | |||
|} | |||
Revisión actual - 01:03 11 ago 2026
Código
void setup() {
pinMode(A0, INPUT_PULLUP);
pinMode(8, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(8, HIGH);
delay(1);
int max_enc = 0;
for (int i = 0; i < 100; i++) {
int v = analogRead(A0);
if (v > max_enc) max_enc = v;
}
digitalWrite(8, LOW);
delay(1);
int max_apa = 0;
for (int i = 0; i < 100; i++) {
int v = analogRead(A0);
if (v > max_apa) max_apa = v;
}
const int difference = max_apa - max_enc;
Serial.println("0 300 " + String(difference));
delay(50);
}
- DFRobotDFPlayerMini
/***************************************************
DFPlayer - A Mini MP3 Player For Arduino
<https://www.dfrobot.com/product-1121.html>
***************************************************
This example shows the basic function of library for DFPlayer.
Created 2016-12-07
By [Angelo qiao](Angelo.qiao@dfrobot.com)
GNU Lesser General Public License.
See <http://www.gnu.org/licenses/> for details.
All above must be included in any redistribution
****************************************************/
/***********Notice and Trouble shooting***************
1.Connection and Diagram can be found here
<https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram>
2.This code is tested on Arduino Uno, Leonardo, Mega boards.
****************************************************/
#include "Arduino.h"
#include "DFRobotDFPlayerMini.h"
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266)) // Using a soft serial port
#include <SoftwareSerial.h>
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);
#define FPSerial softSerial
#else
#define FPSerial Serial1
#endif
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
void setup()
{
#if (defined ESP32)
FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);
#else
FPSerial.begin(9600);
#endif
Serial.begin(115200);
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) { //Use serial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
// while(true){
// delay(0); // Code to compatible with ESP8266 watch dog.
//}
delay(1000);
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(10); //Set volume value. From 0 to 30
// myDFPlayer.play(1); //Play the first mp3
myDFPlayer.loop(1);
}
void loop() {
for (int i = 0; i < 30; i++) {
myDFPlayer.volume(i);
delay(100);
}
for (int i = 30; i > 0; i--) {
myDFPlayer.volume(i);
delay(100);
}
//delay(50);
// static unsigned long timer = millis();
// if (millis() - timer > 3000) {
//timer = millis();
// myDFPlayer.next(); //Play next mp3 every 3 second.
//}
// if (myDFPlayer.available()) {
// printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
// }
}
void printDetail(uint8_t type, int value){
switch (type) {
case TimeOut:
Serial.println(F("Time Out!"));
break;
case WrongStack:
Serial.println(F("Stack Wrong!"));
break;
case DFPlayerCardInserted:
Serial.println(F("Card Inserted!"));
break;
case DFPlayerCardRemoved:
Serial.println(F("Card Removed!"));
break;
case DFPlayerCardOnline:
Serial.println(F("Card Online!"));
break;
case DFPlayerUSBInserted:
Serial.println("USB Inserted!");
break;
case DFPlayerUSBRemoved:
Serial.println("USB Removed!");
break;
case DFPlayerPlayFinished:
Serial.print(F("Number:"));
Serial.print(value);
Serial.println(F(" Play Finished!"));
break;
case DFPlayerError:
Serial.print(F("DFPlayerError:"));
switch (value) {
case Busy:
Serial.println(F("Card not found"));
break;
case Sleeping:
Serial.println(F("Sleeping"));
break;
case SerialWrongStack:
Serial.println(F("Get Wrong Stack"));
break;
case CheckSumNotMatch:
Serial.println(F("Check Sum Not Match"));
break;
case FileIndexOut:
Serial.println(F("File Index Out of Bound"));
break;
case FileMismatch:
Serial.println(F("Cannot Find File"));
break;
case Advertise:
Serial.println(F("In Advertise"));
break;
default:
break;
}
break;
default:
break;
}
}
Circuitos
-
VCA usando un LDR
LDR VCA
| Id (mA) | R |
| 2 | 2k |
| 4 | 1.3k |
| 8 | 835 |
| 20 | 500 |