Diferencia entre revisiones de «Sensor de proximidad infrarrojo»

Página creada con «=Codigo= <pre> void setup() { pinMode(A0, INPUT_PULLUP); pinMode(8, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(8, HIGH); delay(10); int max_enc = 0; for (int i = 0; i < 1000; i++) { int v = analogRead(A0); if (v > max_enc) max_enc = v; } digitalWrite(8, LOW); delay(10); int max_apa = 0; for (int i = 0; i < 1000; i++) { int v = analogRead(A0); if (v > max_apa) max_apa = v; } const int difference = m…»
 
Sin resumen de edición
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
=Codigo=
=Código=
<pre>
<pre>
void setup() {
void setup() {
Línea 9: Línea 9:
void loop() {
void loop() {
   digitalWrite(8, HIGH);
   digitalWrite(8, HIGH);
   delay(10);
   delay(1);


   int max_enc = 0;
   int max_enc = 0;
   for (int i = 0; i < 1000; i++) {
   for (int i = 0; i < 100; i++) {
     int v = analogRead(A0);
     int v = analogRead(A0);
     if (v > max_enc) max_enc = v;
     if (v > max_enc) max_enc = v;
Línea 19: Línea 19:
    
    
   digitalWrite(8, LOW);
   digitalWrite(8, LOW);
   delay(10);
   delay(1);


   int max_apa = 0;
   int max_apa = 0;
   for (int i = 0; i < 1000; i++) {
   for (int i = 0; i < 100; i++) {
     int v = analogRead(A0);
     int v = analogRead(A0);
     if (v > max_apa) max_apa = v;
     if (v > max_apa) max_apa = v;
Línea 34: Línea 34:
}
}
</pre>
</pre>
* DFRobotDFPlayerMini
<pre>
/***************************************************
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;
  }
 
}
</pre>
= Circuitos =
<gallery>
LED-LDR-VCA.gif | VCA usando un LDR
</gallery>
= LDR VCA =
{| class="wikitable"
|-
| Id (mA) || R
|-
| 2 || 2k
|-
| 4 || 1.3k
|-
| 8 || 835
|-
| 20 || 500
|}