<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://fab.uy/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ale</id>
	<title>fabwiki - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://fab.uy/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ale"/>
	<link rel="alternate" type="text/html" href="https://fab.uy/index.php/Especial:Contribuciones/Ale"/>
	<updated>2026-10-08T00:01:25Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=702</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=702"/>
		<updated>2026-10-07T22:24:34Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
&lt;br /&gt;
Taller de Reticulum 2da Edición&lt;br /&gt;
&lt;br /&gt;
a. para quienes no tienen experiencia, podemos darte una mano para instalar Reticulum&lt;br /&gt;
&lt;br /&gt;
b. para quienes ya estuvieron en la 1era Edición, vamos a probar de comunicarnos con Reticulum por Wi-Fi sin usar TCP/IP&lt;br /&gt;
&lt;br /&gt;
Fecha: Sábado 14 de Noviembre de 2026 de 10.00 a 12.00 (por la mañana) [[User:Fatima]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Buenísimo! Apruebo. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:24 7 oct 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=693</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=693"/>
		<updated>2026-10-06T22:11:16Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Miércoles 14 de octubre de 19:00 a 22:00: Taller de C++. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 14:54 6 oct 2026 (UTC)&lt;br /&gt;
: buenísimo! apruebo [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:11 6 oct 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=688</id>
		<title>Sensor de proximidad infrarrojo</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=688"/>
		<updated>2026-10-05T22:56:54Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Código */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  const int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DFRobotDFPlayerMini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
#else&lt;br /&gt;
#define FPSerial Serial1&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 30; i++) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  for (int i = 30; i &amp;gt; 0; i--) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  //delay(50);&lt;br /&gt;
 // static unsigned long timer = millis();&lt;br /&gt;
  &lt;br /&gt;
 // if (millis() - timer &amp;gt; 3000) {&lt;br /&gt;
//timer = millis();&lt;br /&gt;
  //  myDFPlayer.next();  //Play next mp3 every 3 second.&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
 // if (myDFPlayer.available()) {&lt;br /&gt;
  //  printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
 // }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Código sensor infrarrojo + DFPlayer + Filtro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
  myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.enableLoop();&lt;br /&gt;
  //myDFPlayer.loop(1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  int val = 51;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
    analogWrite(11, val);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  //  limitamos entre en 0 y 255 &lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0; &lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
 analogWrite(11, difference);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Avances Código sensor infrarrojo + DFPlayer + Filtro&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
int baselineVolume = 20;&lt;br /&gt;
&lt;br /&gt;
int contadorDeLoopsEnCero = 0;&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  // sensor1&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  // sensor2&lt;br /&gt;
  pinMode(A1, INPUT_PULLUP); &lt;br /&gt;
  pinMode(7, OUTPUT);&lt;br /&gt;
  // salida filtro -&amp;gt; vca2&lt;br /&gt;
  pinMode (10, OUTPUT);&lt;br /&gt;
  // salida filtro -&amp;gt; vca1&lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(0);  //Set volume value. From 0 to 30&lt;br /&gt;
  myDFPlayer.play(4);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.enableLoop();&lt;br /&gt;
  //myDFPlayer.loop(1);&lt;br /&gt;
  &lt;br /&gt;
  int val = 51;&lt;br /&gt;
  analogWrite(10, val);&lt;br /&gt;
  //analogWrite(11, val);&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int difference;&lt;br /&gt;
  // difference = leerSensor(8, A0);&lt;br /&gt;
  difference = leerSensor(7, A1);&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference) + &amp;quot; &amp;quot; + myDFPlayer.readVolume());&lt;br /&gt;
  &lt;br /&gt;
  // &lt;br /&gt;
  // difference = difference -15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //entre 0 y 255, ni mas ni menos&lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0;&lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Si el sensor no detecta nada durante un rato, baja volumen por software de a poco (volumen actual -1)&lt;br /&gt;
  if (difference &amp;lt; 5) {&lt;br /&gt;
    contadorDeLoopsEnCero++;&lt;br /&gt;
   // Serial.println(&amp;quot;contador de loops: &amp;quot; + contadorDeLoopsEnCero);&lt;br /&gt;
    int currentVolume = myDFPlayer.readVolume();&lt;br /&gt;
    if (contadorDeLoopsEnCero &amp;gt; 30 &amp;amp;&amp;amp; currentVolume &amp;gt; 0) {&lt;br /&gt;
        Serial.println(&amp;quot;bajando el volumen: &amp;quot; + (currentVolume-1));&lt;br /&gt;
        myDFPlayer.volume(currentVolume-1);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    contadorDeLoopsEnCero = 0;&lt;br /&gt;
    if (myDFPlayer.readVolume() != baselineVolume) {&lt;br /&gt;
        Serial.println(&amp;quot;resetando volumen al baseline: &amp;quot; + baselineVolume);&lt;br /&gt;
        myDFPlayer.volume(baselineVolume);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  analogWrite(10, difference);&lt;br /&gt;
  //analogWrite(11, difference);&lt;br /&gt;
&lt;br /&gt;
 if (myDFPlayer.available()) {&lt;br /&gt;
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int leerSensor(int pinLed, int pinSensor)&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(pinLed, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(pinSensor);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(pinLed, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(pinSensor);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  return difference;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      //myDFPlayer.next();&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Avances Código &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
int baselineVolume = 20;&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  // sensor1&lt;br /&gt;
  //pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  //pinMode(8, OUTPUT);&lt;br /&gt;
  // sensor2&lt;br /&gt;
  pinMode(A1, INPUT_PULLUP); &lt;br /&gt;
  pinMode(7, OUTPUT);&lt;br /&gt;
  // salida filtro -&amp;gt; vca2&lt;br /&gt;
  pinMode (10, OUTPUT);&lt;br /&gt;
  // salida filtro -&amp;gt; vca1&lt;br /&gt;
  //pinMode (11, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
    delay(500);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
  myDFPlayer.play(4);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.enableLoop();&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  int val = 0;&lt;br /&gt;
  analogWrite(10, val);&lt;br /&gt;
  //analogWrite(11, val);&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int difference;&lt;br /&gt;
  //difference = leerSensor(8, A0);&lt;br /&gt;
  difference = leerSensor(7, A1);&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  // bajar señal minima del sensor&lt;br /&gt;
  difference = difference -5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //entre 0 y 255, ni mas ni menos&lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0;&lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
  analogWrite(10, difference);&lt;br /&gt;
  //analogWrite(11, difference);&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference) + &amp;quot; &amp;quot; + myDFPlayer.readVolume());&lt;br /&gt;
&lt;br /&gt;
 if (myDFPlayer.available()) {&lt;br /&gt;
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int leerSensor(int pinLed, int pinSensor)&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(pinLed, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(pinSensor);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(pinLed, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(pinSensor);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  return difference;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      //myDFPlayer.next();&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Circuitos =&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
LED-LDR-VCA.gif | VCA usando un LDR&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LDR VCA =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Id (mA) || R&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2k&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1.3k&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 835&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SPICE=&lt;br /&gt;
Cuando estamos usando una salida analógica del Arduino, necesitamos filtrar la señal para estabilizarla. &lt;br /&gt;
Esa simulación es para confirmar que las variaciones de la señal después del filtro son menos que 1 mV.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.title analogwrite&lt;br /&gt;
&lt;br /&gt;
vin 1 0 ac 5&lt;br /&gt;
&lt;br /&gt;
r1 1 2 1k&lt;br /&gt;
c1 2 0 1000u&lt;br /&gt;
&lt;br /&gt;
.control&lt;br /&gt;
  ac dec 100 0.1 1e4&lt;br /&gt;
  plot mag(v(2))&lt;br /&gt;
  print mag(v(2))&lt;br /&gt;
.endc&lt;br /&gt;
&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=666</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=666"/>
		<updated>2026-09-29T12:38:09Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 3 de octubre de 10:00 a 13:00: Taller de osciloscopio. Vamos a medir varios señales con tres osciloscopios diferentes. La meta es entender fundamentales del uso de los osciloscopios en general, para que podés medir o grabar cualquier señal en tus proyectos. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 15:03 28 sep 2026 (UTC)&lt;br /&gt;
: Me encanta, y apruebo, pero este sábado se me dificulta llegar a las 10, no creo que pueda llegar antes de las 11:00. [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
: Voy a intentar estar. [[Usuario:gaba|gaba]] ([[Usuario discusión:gaba|discusión]])&lt;br /&gt;
:me encanta! Apruebo. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 12:38 29 sep 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=665</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=665"/>
		<updated>2026-09-29T12:37:26Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 3 de octubre de 10:00 a 13:00: Taller de osciloscopio. Vamos a medir varios señales con tres osciloscopios diferentes. La meta es entender fundamentales del uso de los osciloscopios en general, para que podés medir o grabar cualquier señal en tus proyectos. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 15:03 28 sep 2026 (UTC)&lt;br /&gt;
: Me encanta, y apruebo, pero este sábado se me dificulta llegar a las 10, no creo que pueda llegar antes de las 11:00. [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
: Voy a intentar estar. [[Usuario:gaba|gaba]] ([[Usuario discusión:gaba|discusión]])&lt;br /&gt;
:me encanta! Apruebo.&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=640</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=640"/>
		<updated>2026-09-23T12:15:07Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Continuar con la idea de Antonio de realizar Mas bancos &lt;br /&gt;
Avanzar  en  algun taller. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
: Podemos ver el sábado qué haría falta para hacer los bancos, no sé si dará para empezar a hacerlos. [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
&lt;br /&gt;
sabado 26 de 10 a 14hs que podemos hacer?[[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
&lt;br /&gt;
IDEAS [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
:trabajar en nuestro proyecto. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
:pensar y ver donde conseguir los materiales para los bancos. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
:Jornada de mantenimiento de la casa [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
:: me gusta la idea de trabajar en nuestros proyectos y jornada de mantenimiento. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 12:15 23 sep 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=623</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=623"/>
		<updated>2026-09-18T02:54:20Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
A falta de propuestas para este sábado (19 de Sept), propongo abrir (a las 11?) para seguir trabajando en proyectos propios. [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
&lt;br /&gt;
Continuar con la idea de Antonio de realizar Mas bancos&lt;br /&gt;
Avanzar  en  algun taller. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
&lt;br /&gt;
Me gusta la idea de seguir con los proyectos. Apruebo. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 02:54 18 sep 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=610</id>
		<title>Sensor de proximidad infrarrojo</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=610"/>
		<updated>2026-09-11T01:13:57Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  const int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DFRobotDFPlayerMini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
#else&lt;br /&gt;
#define FPSerial Serial1&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 30; i++) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  for (int i = 30; i &amp;gt; 0; i--) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  //delay(50);&lt;br /&gt;
 // static unsigned long timer = millis();&lt;br /&gt;
  &lt;br /&gt;
 // if (millis() - timer &amp;gt; 3000) {&lt;br /&gt;
//timer = millis();&lt;br /&gt;
  //  myDFPlayer.next();  //Play next mp3 every 3 second.&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
 // if (myDFPlayer.available()) {&lt;br /&gt;
  //  printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
 // }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Código sensor infrarrojo + DFPlayer + Filtro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
  myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.enableLoop();&lt;br /&gt;
  //myDFPlayer.loop(1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  int val = 51;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
    analogWrite(11, val);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  //  limitamos entre en 0 y 255 &lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0; &lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
 analogWrite(11, difference);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Avances Código sensor infrarrojo + DFPlayer + Filtro&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
int baselineVolume = 20;&lt;br /&gt;
&lt;br /&gt;
int contadorDeLoopsEnCero = 0;&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  // sensor1&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  // sensor2&lt;br /&gt;
  pinMode(A1, INPUT_PULLUP); &lt;br /&gt;
  pinMode(7, OUTPUT);&lt;br /&gt;
  // salida filtro -&amp;gt; vca2&lt;br /&gt;
  pinMode (10, OUTPUT);&lt;br /&gt;
  // salida filtro -&amp;gt; vca1&lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(0);  //Set volume value. From 0 to 30&lt;br /&gt;
  myDFPlayer.play(4);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.enableLoop();&lt;br /&gt;
  //myDFPlayer.loop(1);&lt;br /&gt;
  &lt;br /&gt;
  int val = 51;&lt;br /&gt;
  analogWrite(10, val);&lt;br /&gt;
  //analogWrite(11, val);&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int difference;&lt;br /&gt;
  // difference = leerSensor(8, A0);&lt;br /&gt;
  difference = leerSensor(7, A1);&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference) + &amp;quot; &amp;quot; + myDFPlayer.readVolume());&lt;br /&gt;
  &lt;br /&gt;
  // &lt;br /&gt;
  // difference = difference -15;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //entre 0 y 255, ni mas ni menos&lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0;&lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Si el sensor no detecta nada durante un rato, baja volumen por software de a poco (volumen actual -1)&lt;br /&gt;
  if (difference &amp;lt; 5) {&lt;br /&gt;
    contadorDeLoopsEnCero++;&lt;br /&gt;
   // Serial.println(&amp;quot;contador de loops: &amp;quot; + contadorDeLoopsEnCero);&lt;br /&gt;
    int currentVolume = myDFPlayer.readVolume();&lt;br /&gt;
    if (contadorDeLoopsEnCero &amp;gt; 30 &amp;amp;&amp;amp; currentVolume &amp;gt; 0) {&lt;br /&gt;
        Serial.println(&amp;quot;bajando el volumen: &amp;quot; + (currentVolume-1));&lt;br /&gt;
        myDFPlayer.volume(currentVolume-1);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    contadorDeLoopsEnCero = 0;&lt;br /&gt;
    if (myDFPlayer.readVolume() != baselineVolume) {&lt;br /&gt;
        Serial.println(&amp;quot;resetando volumen al baseline: &amp;quot; + baselineVolume);&lt;br /&gt;
        myDFPlayer.volume(baselineVolume);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  analogWrite(10, difference);&lt;br /&gt;
  //analogWrite(11, difference);&lt;br /&gt;
&lt;br /&gt;
 if (myDFPlayer.available()) {&lt;br /&gt;
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int leerSensor(int pinLed, int pinSensor)&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(pinLed, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(pinSensor);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(pinLed, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(pinSensor);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  return difference;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      //myDFPlayer.next();&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Circuitos =&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
LED-LDR-VCA.gif | VCA usando un LDR&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LDR VCA =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Id (mA) || R&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2k&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1.3k&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 835&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SPICE=&lt;br /&gt;
Cuando estamos usando una salida analógica del Arduino, necesitamos filtrar la señal para estabilizarla. &lt;br /&gt;
Esa simulación es para confirmar que las variaciones de la señal después del filtro son menos que 1 mV.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.title analogwrite&lt;br /&gt;
&lt;br /&gt;
vin 1 0 ac 5&lt;br /&gt;
&lt;br /&gt;
r1 1 2 1k&lt;br /&gt;
c1 2 0 1000u&lt;br /&gt;
&lt;br /&gt;
.control&lt;br /&gt;
  ac dec 100 0.1 1e4&lt;br /&gt;
  plot mag(v(2))&lt;br /&gt;
  print mag(v(2))&lt;br /&gt;
.endc&lt;br /&gt;
&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=607</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=607"/>
		<updated>2026-09-10T20:13:39Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 17 de octubre de 9:00 a 19:00: Encuentro de la comunidad técnica de Wikimedistas de Uruguay + Jornada de edición en Wikidata. [[Usuario:Nat|Nat]] ([[Usuario discusión:Nat|discusión]])&lt;br /&gt;
: Hola querides, expando un poco más. Quisiéramos reunirnos igual que lo hicimos en julio, y nos encantaría que fuera en el Fab. El plan sería además recibir para almorzar y durante la tarde a otras personas que no vengan a hackear si no a editar Wikidata. Estimo que seremos unas 15 personas durante la mañana y unas 25 en total para el almuerzo y por la tarde. Gracias por considerarlo y por recibirnos la vez anterior! [[Usuario:Nat|Nat]] ([[Usuario discusión:Nat|discusión]])&lt;br /&gt;
: Que bello! Apruebo! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 20:13 10 sep 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=601</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=601"/>
		<updated>2026-09-03T22:21:41Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=P%C3%A1gina_principal&amp;diff=600</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=P%C3%A1gina_principal&amp;diff=600"/>
		<updated>2026-09-03T22:20:38Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Próximos eventos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fabuloso. Fabricar. Afable.&lt;br /&gt;
&lt;br /&gt;
=Horarios=&lt;br /&gt;
* 19:00 a 22:00 cada lunes. Vení a trabajar en tu propio proyecto.&lt;br /&gt;
* 19:00 a 22:00 cada miércoles. Vení a trabajar en tu propio proyecto.&lt;br /&gt;
* 19:00 a 22:00 cada jueves. Vení a trabajar en tu propio proyecto.&lt;br /&gt;
* 10:00 a 15:00 cada sábado.&lt;br /&gt;
&lt;br /&gt;
=Próximos eventos=&lt;br /&gt;
* Sábado 5 de septiembre a las 11:00 Taller de distorsión&lt;br /&gt;
* Sábado 26 de septiembre a las 14:00: Taller para discutir cómo colectivamente nos vamos de servicios corporativos de tecnología&lt;br /&gt;
&lt;br /&gt;
=Eventos realizados=&lt;br /&gt;
* 2026-05-16 - [[ Taller_de_construcci%C3%B3n_de_Instrumentos_musicales_I_(2026-05-16) | Taller de construcción de instrumentos musicales]]&lt;br /&gt;
* 2026-05-23 - [[ Taller_de_Scribus_(2026-05-23) | Taller de Scribus ]]&lt;br /&gt;
* 2026-06-06 - [[ Redes Autónomas por fuera de Internet]]: Probamos LoRa: Meshtastic&lt;br /&gt;
* 2026-06-13 - Continuación de taller de [https://en.wikipedia.org/wiki/Scribus Scribus], taller de electrónica&lt;br /&gt;
* 2026-06-20 - Taller de electrónica&lt;br /&gt;
* 2026-06-27 - último encuentro del Taller de Scribus.&lt;br /&gt;
* 2026-06-27 - Continuación de taller de LoRa. Hablaremos y probamos Reticulum&lt;br /&gt;
* 2026-07-04 - Taller de Arduino. No se requiere experiencia previa.&lt;br /&gt;
* 2026-07-11 - Encuentro de la comunidad técnica de Wikimedistas de Uruguay. &lt;br /&gt;
* 2026-07-18 - Taller de Arduino. Tiempo y gestión de procesos paralelos. &lt;br /&gt;
* 2026-07-18 - Juntada interna de Resistencia Programad.&lt;br /&gt;
* 2026-07-25 - Continuación de taller LoRa - probaremos Reticulum en openwrt en routers&lt;br /&gt;
* 2026-07-25 - Continuación de taller de Arduino: Comunicación SPI con MicroSD&lt;br /&gt;
* 2026-08-01 - Resistencia Programada. Canibalizar computadoras cualquiera puede venir.&lt;br /&gt;
* 2026-08-01 - Continuación de taller de Arduino: Comunicación&lt;br /&gt;
* 2026-08-08 - Taller de OpenWrt&lt;br /&gt;
* 2026-08-08 - Taller de electrónica analógica&lt;br /&gt;
* 2026-08-15 - [[Taller de Soldadura | Taller para aprender a soldar acero]] con una soldadora de arco. Nivel introductorio.&lt;br /&gt;
* 2026-08-21 - Cena y conversación sobre la big tech y educación.&lt;br /&gt;
* 2026-08-23 - Exposiciones y presentaciones sobre las tecnologías de épocas anteriores.&lt;br /&gt;
* 2026-08-29 - [[Taller_de_distorsión | Taller de circuitos de efecto distorsión para guitarra eléctrica]].&lt;br /&gt;
&lt;br /&gt;
=Comunicación=&lt;br /&gt;
* Mastodon: @fab@mastodon.uy&lt;br /&gt;
* correo: antonio@undernet.uy&lt;br /&gt;
&lt;br /&gt;
=Ubicación=&lt;br /&gt;
La Paz 2226, Montevideo&lt;br /&gt;
&lt;br /&gt;
=Fotos=&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Taller_lora.jpeg&lt;br /&gt;
Ceibal navegador.jpg &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=597</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=597"/>
		<updated>2026-09-03T14:05:50Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Propongo continuar con distorsión este sábado. Seguir con simulaciones e intentar montar un circuito. Podría comenzar a las 11:00 hs. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 14:05 3 sep 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=596</id>
		<title>Papelera automatizada</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=596"/>
		<updated>2026-09-03T00:05:19Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor&lt;br /&gt;
const int Echo = 3;   //Pin digital 3 para el Echo del sensor&lt;br /&gt;
&lt;br /&gt;
Servo servoMotor;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
servoMotor.attach(9);&lt;br /&gt;
&lt;br /&gt;
//sensor ultrasonido&lt;br /&gt;
Serial.begin(9600);//iniciailzamos la comunicación&lt;br /&gt;
  pinMode(Trigger, OUTPUT); //pin como salida&lt;br /&gt;
  pinMode(Echo, INPUT);  //pin como entrada&lt;br /&gt;
  digitalWrite(Trigger, LOW);//Inicializamos el pin con 0&lt;br /&gt;
  &lt;br /&gt;
  // arrancar en posicion cerrada&lt;br /&gt;
  servoMotor.write(180);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 Serial.println(&amp;quot;loopeando&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  long t; //tiempo que demora en llegar el eco&lt;br /&gt;
  long d; //distancia en centimetros&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, HIGH);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(10);          //Enviamos un pulso de 10us&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, LOW);&lt;br /&gt;
&lt;br /&gt;
  t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso&lt;br /&gt;
  &lt;br /&gt;
  // no tomar valores erroneos del sensor&lt;br /&gt;
  if (t == 0 ){&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  d = t/59;             //escalamos el tiempo a una distancia en cm&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;distancia sensor: &amp;quot;);&lt;br /&gt;
  Serial.println(d);&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  if (d&amp;lt;10){&lt;br /&gt;
    Serial.println(&amp;quot;sensor activado, levantando tapa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // Subir la tapa&lt;br /&gt;
    servoMotor.write(90);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Serial.println(&amp;quot;tapa levantada, esperando 5s&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    // esperar con tapa abierta&lt;br /&gt;
    delay(5000);&lt;br /&gt;
&lt;br /&gt;
    // bajar la tapa de a poco&lt;br /&gt;
    for(int pos=91; pos&amp;lt;180; pos++){&lt;br /&gt;
       servoMotor.write(pos);&lt;br /&gt;
       delay(30);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
     Serial.println(&amp;quot;tapa bajada&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
     delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=591</id>
		<title>Sensor de proximidad infrarrojo</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=591"/>
		<updated>2026-09-01T01:06:05Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  const int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DFRobotDFPlayerMini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
#else&lt;br /&gt;
#define FPSerial Serial1&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 30; i++) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  for (int i = 30; i &amp;gt; 0; i--) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  //delay(50);&lt;br /&gt;
 // static unsigned long timer = millis();&lt;br /&gt;
  &lt;br /&gt;
 // if (millis() - timer &amp;gt; 3000) {&lt;br /&gt;
//timer = millis();&lt;br /&gt;
  //  myDFPlayer.next();  //Play next mp3 every 3 second.&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
 // if (myDFPlayer.available()) {&lt;br /&gt;
  //  printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
 // }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Código sensor infrarrojo + DFPlayer + Filtro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
  myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.enableLoop();&lt;br /&gt;
  //myDFPlayer.loop(1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  int val = 51;&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
    analogWrite(11, val);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  //  limitamos entre en 0 y 255 &lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0; &lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
 analogWrite(11, difference);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Circuitos =&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
LED-LDR-VCA.gif | VCA usando un LDR&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LDR VCA =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Id (mA) || R&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2k&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1.3k&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 835&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SPICE=&lt;br /&gt;
Cuando estamos usando una salida analógica del Arduino, necesitamos filtrar la señal para estabilizarla. &lt;br /&gt;
Esa simulación es para confirmar que las variaciones de la señal después del filtro son menos que 1 mV.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.title analogwrite&lt;br /&gt;
&lt;br /&gt;
vin 1 0 ac 5&lt;br /&gt;
&lt;br /&gt;
r1 1 2 1k&lt;br /&gt;
c1 2 0 1000u&lt;br /&gt;
&lt;br /&gt;
.control&lt;br /&gt;
  ac dec 100 0.1 1e4&lt;br /&gt;
  plot mag(v(2))&lt;br /&gt;
  print mag(v(2))&lt;br /&gt;
.endc&lt;br /&gt;
&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=590</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=590"/>
		<updated>2026-08-31T22:02:47Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
&lt;br /&gt;
Propongo cambiar el horario de los lunes provisoriamente, de 19:00 a 22:00 hs.&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=523</id>
		<title>Sensor de proximidad infrarrojo</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=523"/>
		<updated>2026-08-28T03:21:42Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  const int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DFRobotDFPlayerMini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
#else&lt;br /&gt;
#define FPSerial Serial1&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 30; i++) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  for (int i = 30; i &amp;gt; 0; i--) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  //delay(50);&lt;br /&gt;
 // static unsigned long timer = millis();&lt;br /&gt;
  &lt;br /&gt;
 // if (millis() - timer &amp;gt; 3000) {&lt;br /&gt;
//timer = millis();&lt;br /&gt;
  //  myDFPlayer.next();  //Play next mp3 every 3 second.&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
 // if (myDFPlayer.available()) {&lt;br /&gt;
  //  printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
 // }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Código sensor infrarrojo + DFPlayer + Filtro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //int analogPin = 11;&lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  int val = 51;&lt;br /&gt;
 &lt;br /&gt;
  //for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    analogWrite(11, val);&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  //entre 0 y 255&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
  if (difference &amp;gt; 100){&lt;br /&gt;
    analogWrite(11, 255);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(11, 0);&lt;br /&gt;
  }&lt;br /&gt;
  */&lt;br /&gt;
  &lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0;&lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
  analogWrite(11, difference);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Circuitos =&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
LED-LDR-VCA.gif | VCA usando un LDR&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LDR VCA =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Id (mA) || R&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2k&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1.3k&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 835&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SPICE=&lt;br /&gt;
Cuando estamos usando una salida analógica del Arduino, necesitamos filtrar la señal para estabilizarla. &lt;br /&gt;
Esa simulación es para confirmar que las variaciones de la señal después del filtro son menos que 1 mV.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.title analogwrite&lt;br /&gt;
&lt;br /&gt;
vin 1 0 ac 5&lt;br /&gt;
&lt;br /&gt;
r1 1 2 1k&lt;br /&gt;
c1 2 0 1000u&lt;br /&gt;
&lt;br /&gt;
.control&lt;br /&gt;
  ac dec 100 0.1 1e4&lt;br /&gt;
  plot mag(v(2))&lt;br /&gt;
  print mag(v(2))&lt;br /&gt;
.endc&lt;br /&gt;
&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=522</id>
		<title>Sensor de proximidad infrarrojo</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=522"/>
		<updated>2026-08-28T01:14:54Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  const int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DFRobotDFPlayerMini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
#else&lt;br /&gt;
#define FPSerial Serial1&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 30; i++) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  for (int i = 30; i &amp;gt; 0; i--) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  //delay(50);&lt;br /&gt;
 // static unsigned long timer = millis();&lt;br /&gt;
  &lt;br /&gt;
 // if (millis() - timer &amp;gt; 3000) {&lt;br /&gt;
//timer = millis();&lt;br /&gt;
  //  myDFPlayer.next();  //Play next mp3 every 3 second.&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
 // if (myDFPlayer.available()) {&lt;br /&gt;
  //  printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
 // }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Todo el código junto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //int analogPin = 11;&lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  int val = 51;&lt;br /&gt;
 &lt;br /&gt;
  //for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    analogWrite(11, val);&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  //entre 0 y 255&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
  if (difference &amp;gt; 100){&lt;br /&gt;
    analogWrite(11, 255);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(11, 0);&lt;br /&gt;
  }&lt;br /&gt;
  */&lt;br /&gt;
  &lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0;&lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
  analogWrite(11, difference);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Circuitos =&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
LED-LDR-VCA.gif | VCA usando un LDR&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LDR VCA =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Id (mA) || R&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2k&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1.3k&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 835&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SPICE=&lt;br /&gt;
Cuando estamos usando una salida analógica del Arduino, necesitamos filtrar la señal para estabilizarla. &lt;br /&gt;
Esa simulación es para confirmar que las variaciones de la señal después del filtro son menos que 1 mV.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.title analogwrite&lt;br /&gt;
&lt;br /&gt;
vin 1 0 ac 5&lt;br /&gt;
&lt;br /&gt;
r1 1 2 1k&lt;br /&gt;
c1 2 0 1000u&lt;br /&gt;
&lt;br /&gt;
.control&lt;br /&gt;
  ac dec 100 0.1 1e4&lt;br /&gt;
  plot mag(v(2))&lt;br /&gt;
  print mag(v(2))&lt;br /&gt;
.endc&lt;br /&gt;
&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=521</id>
		<title>Sensor de proximidad infrarrojo</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Sensor_de_proximidad_infrarrojo&amp;diff=521"/>
		<updated>2026-08-28T01:11:23Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  const int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DFRobotDFPlayerMini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/***************************************************&lt;br /&gt;
DFPlayer - A Mini MP3 Player For Arduino&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#if (defined(ARDUINO_AVR_UNO) || defined(ESP8266))   // Using a soft serial port&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
#else&lt;br /&gt;
#define FPSerial Serial1&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 30; i++) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  for (int i = 30; i &amp;gt; 0; i--) {&lt;br /&gt;
    myDFPlayer.volume(i);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  //delay(50);&lt;br /&gt;
 // static unsigned long timer = millis();&lt;br /&gt;
  &lt;br /&gt;
 // if (millis() - timer &amp;gt; 3000) {&lt;br /&gt;
//timer = millis();&lt;br /&gt;
  //  myDFPlayer.next();  //Play next mp3 every 3 second.&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
 // if (myDFPlayer.available()) {&lt;br /&gt;
  //  printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.&lt;br /&gt;
 // }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printDetail(uint8_t type, int value){&lt;br /&gt;
  switch (type) {&lt;br /&gt;
    case TimeOut:&lt;br /&gt;
      Serial.println(F(&amp;quot;Time Out!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case WrongStack:&lt;br /&gt;
      Serial.println(F(&amp;quot;Stack Wrong!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardInserted:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Inserted!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardRemoved:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Removed!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerCardOnline:&lt;br /&gt;
      Serial.println(F(&amp;quot;Card Online!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBInserted:&lt;br /&gt;
      Serial.println(&amp;quot;USB Inserted!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerUSBRemoved:&lt;br /&gt;
      Serial.println(&amp;quot;USB Removed!&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerPlayFinished:&lt;br /&gt;
      Serial.print(F(&amp;quot;Number:&amp;quot;));&lt;br /&gt;
      Serial.print(value);&lt;br /&gt;
      Serial.println(F(&amp;quot; Play Finished!&amp;quot;));&lt;br /&gt;
      break;&lt;br /&gt;
    case DFPlayerError:&lt;br /&gt;
      Serial.print(F(&amp;quot;DFPlayerError:&amp;quot;));&lt;br /&gt;
      switch (value) {&lt;br /&gt;
        case Busy:&lt;br /&gt;
          Serial.println(F(&amp;quot;Card not found&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Sleeping:&lt;br /&gt;
          Serial.println(F(&amp;quot;Sleeping&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case SerialWrongStack:&lt;br /&gt;
          Serial.println(F(&amp;quot;Get Wrong Stack&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case CheckSumNotMatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Check Sum Not Match&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileIndexOut:&lt;br /&gt;
          Serial.println(F(&amp;quot;File Index Out of Bound&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case FileMismatch:&lt;br /&gt;
          Serial.println(F(&amp;quot;Cannot Find File&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        case Advertise:&lt;br /&gt;
          Serial.println(F(&amp;quot;In Advertise&amp;quot;));&lt;br /&gt;
          break;&lt;br /&gt;
        default:&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Todo el código junto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/product-1121.html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ***************************************************&lt;br /&gt;
 This example shows the basic function of library for DFPlayer.&lt;br /&gt;
 &lt;br /&gt;
 Created 2016-12-07&lt;br /&gt;
 By [Angelo qiao](Angelo.qiao@dfrobot.com)&lt;br /&gt;
 &lt;br /&gt;
 GNU Lesser General Public License.&lt;br /&gt;
 See &amp;lt;http://www.gnu.org/licenses/&amp;gt; for details.&lt;br /&gt;
 All above must be included in any redistribution&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
/***********Notice and Trouble shooting***************&lt;br /&gt;
 1.Connection and Diagram can be found here&lt;br /&gt;
 &amp;lt;https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram&amp;gt;&lt;br /&gt;
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.&lt;br /&gt;
 ****************************************************/&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
#include &amp;quot;DFRobotDFPlayerMini.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5);&lt;br /&gt;
#define FPSerial softSerial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
void printDetail(uint8_t type, int value);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
  pinMode(8, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#if (defined ESP32)&lt;br /&gt;
  FPSerial.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);&lt;br /&gt;
#else&lt;br /&gt;
  FPSerial.begin(9600);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(F(&amp;quot;DFRobot DFPlayer Mini Demo&amp;quot;));&lt;br /&gt;
  Serial.println(F(&amp;quot;Initializing DFPlayer ... (May take 3~5 seconds)&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  while (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) {  //Use serial to communicate with mp3.&lt;br /&gt;
    Serial.println(F(&amp;quot;Unable to begin:&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;1.Please recheck the connection!&amp;quot;));&lt;br /&gt;
    Serial.println(F(&amp;quot;2.Please insert the SD card!&amp;quot;));&lt;br /&gt;
   // while(true){&lt;br /&gt;
    //  delay(0); // Code to compatible with ESP8266 watch dog.&lt;br /&gt;
    //}&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.println(F(&amp;quot;DFPlayer Mini online.&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
  myDFPlayer.volume(20);  //Set volume value. From 0 to 30&lt;br /&gt;
 // myDFPlayer.play(1);  //Play the first mp3&lt;br /&gt;
  myDFPlayer.loop(1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //int analogPin = 11;&lt;br /&gt;
  pinMode (11, OUTPUT);&lt;br /&gt;
  int val = 51;&lt;br /&gt;
 &lt;br /&gt;
  //for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    analogWrite(11, val);&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  digitalWrite(8, HIGH);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_enc = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_enc) max_enc = v;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(8, LOW);&lt;br /&gt;
  delay(1);&lt;br /&gt;
&lt;br /&gt;
  int max_apa = 0;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 100; i++) {&lt;br /&gt;
    int v = analogRead(A0);&lt;br /&gt;
    if (v &amp;gt; max_apa) max_apa = v;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   int difference = max_apa - max_enc;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;0 300 &amp;quot; + String(difference));&lt;br /&gt;
&lt;br /&gt;
  delay(50);&lt;br /&gt;
&lt;br /&gt;
  //entre 0 y 255&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
  if (difference &amp;gt; 100){&lt;br /&gt;
    analogWrite(11, 255);&lt;br /&gt;
  } else {&lt;br /&gt;
    analogWrite(11, 0);&lt;br /&gt;
  }&lt;br /&gt;
  */&lt;br /&gt;
  &lt;br /&gt;
  if (difference &amp;lt; 0) difference = 0;&lt;br /&gt;
  if (difference &amp;gt; 255) difference = 255;&lt;br /&gt;
&lt;br /&gt;
  analogWrite(11, difference);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Circuitos =&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
LED-LDR-VCA.gif | VCA usando un LDR&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LDR VCA =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| Id (mA) || R&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2k&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1.3k&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 835&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SPICE=&lt;br /&gt;
Cuando estamos usando una salida analógica del Arduino, necesitamos filtrar la señal para estabilizarla. &lt;br /&gt;
Esa simulación es para confirmar que las variaciones de la señal después del filtro son menos que 1 mV.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.title analogwrite&lt;br /&gt;
&lt;br /&gt;
vin 1 0 ac 5&lt;br /&gt;
&lt;br /&gt;
r1 1 2 1k&lt;br /&gt;
c1 2 0 1000u&lt;br /&gt;
&lt;br /&gt;
.control&lt;br /&gt;
  ac dec 100 0.1 1e4&lt;br /&gt;
  plot mag(v(2))&lt;br /&gt;
  print mag(v(2))&lt;br /&gt;
.endc&lt;br /&gt;
&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=520</id>
		<title>Papelera automatizada</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=520"/>
		<updated>2026-08-27T00:55:30Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Código */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line copy&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor&lt;br /&gt;
const int Echo = 3;   //Pin digital 3 para el Echo del sensor&lt;br /&gt;
&lt;br /&gt;
Servo servoMotor;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
servoMotor.attach(9);&lt;br /&gt;
&lt;br /&gt;
//sensor ultrasonido&lt;br /&gt;
Serial.begin(9600);//iniciailzamos la comunicación&lt;br /&gt;
  pinMode(Trigger, OUTPUT); //pin como salida&lt;br /&gt;
  pinMode(Echo, INPUT);  //pin como entrada&lt;br /&gt;
  digitalWrite(Trigger, LOW);//Inicializamos el pin con 0&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 long t; //tiempo que demora en llegar el eco&lt;br /&gt;
  long d; //distancia en centimetros&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, HIGH);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(5);          //Enviamos un pulso de 10us&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, LOW);&lt;br /&gt;
&lt;br /&gt;
  t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso&lt;br /&gt;
&lt;br /&gt;
  d = t/59;             //escalamos el tiempo a una distancia en cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (d&amp;lt;10){&lt;br /&gt;
    for(int pos=90; pos&amp;lt;180; pos++){&lt;br /&gt;
       servoMotor.write(pos);&lt;br /&gt;
       delay(30&lt;br /&gt;
       );&lt;br /&gt;
    }&lt;br /&gt;
    for(int pos=180; pos&amp;lt;90; pos++){&lt;br /&gt;
      servoMotor.write(pos);&lt;br /&gt;
      delay(30);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
delay(1000);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  /*Serial.print(&amp;quot;Distancia: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(d);      //Enviamos serialmente el valor de la distancia&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;cm&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
&lt;br /&gt;
  delay(1000);          //Hacemos una pausa de 100ms*/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=519</id>
		<title>Papelera automatizada</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=519"/>
		<updated>2026-08-27T00:53:31Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Papelera Automatizada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor&lt;br /&gt;
const int Echo = 3;   //Pin digital 3 para el Echo del sensor&lt;br /&gt;
&lt;br /&gt;
Servo servoMotor;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
servoMotor.attach(9);&lt;br /&gt;
&lt;br /&gt;
//sensor ultrasonido&lt;br /&gt;
Serial.begin(9600);//iniciailzamos la comunicación&lt;br /&gt;
  pinMode(Trigger, OUTPUT); //pin como salida&lt;br /&gt;
  pinMode(Echo, INPUT);  //pin como entrada&lt;br /&gt;
  digitalWrite(Trigger, LOW);//Inicializamos el pin con 0&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 long t; //tiempo que demora en llegar el eco&lt;br /&gt;
  long d; //distancia en centimetros&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, HIGH);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(5);          //Enviamos un pulso de 10us&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, LOW);&lt;br /&gt;
&lt;br /&gt;
  t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso&lt;br /&gt;
&lt;br /&gt;
  d = t/59;             //escalamos el tiempo a una distancia en cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (d&amp;lt;10){&lt;br /&gt;
    for(int pos=90; pos&amp;lt;180; pos++){&lt;br /&gt;
       servoMotor.write(pos);&lt;br /&gt;
       delay(30&lt;br /&gt;
       );&lt;br /&gt;
    }&lt;br /&gt;
    for(int pos=180; pos&amp;lt;90; pos++){&lt;br /&gt;
      servoMotor.write(pos);&lt;br /&gt;
      delay(30);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
delay(1000);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  /*Serial.print(&amp;quot;Distancia: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(d);      //Enviamos serialmente el valor de la distancia&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;cm&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
&lt;br /&gt;
  delay(1000);          //Hacemos una pausa de 100ms*/&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Usuario:Ale&amp;diff=518</id>
		<title>Usuario:Ale</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Usuario:Ale&amp;diff=518"/>
		<updated>2026-08-27T00:50:35Z</updated>

		<summary type="html">&lt;p&gt;Ale: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=517</id>
		<title>Papelera automatizada</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Papelera_automatizada&amp;diff=517"/>
		<updated>2026-08-27T00:50:20Z</updated>

		<summary type="html">&lt;p&gt;Ale: Página creada con «=Papelera Automatizada= =Código= &amp;lt;pre&amp;gt; #include &amp;lt;Servo.h&amp;gt; const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor const int Echo = 3;   //Pin digital 3 para el Echo del sensor  Servo servoMotor;  void setup() { Serial.begin(9600); servoMotor.attach(9);  //sensor ultrasonido Serial.begin(9600);//iniciailzamos la comunicación   pinMode(Trigger, OUTPUT); //pin como salida   pinMode(Echo, INPUT);  //pin como entrada   digitalWrite(Trigger, LOW);//Inicializam…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Papelera Automatizada=&lt;br /&gt;
=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor&lt;br /&gt;
const int Echo = 3;   //Pin digital 3 para el Echo del sensor&lt;br /&gt;
&lt;br /&gt;
Servo servoMotor;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
servoMotor.attach(9);&lt;br /&gt;
&lt;br /&gt;
//sensor ultrasonido&lt;br /&gt;
Serial.begin(9600);//iniciailzamos la comunicación&lt;br /&gt;
  pinMode(Trigger, OUTPUT); //pin como salida&lt;br /&gt;
  pinMode(Echo, INPUT);  //pin como entrada&lt;br /&gt;
  digitalWrite(Trigger, LOW);//Inicializamos el pin con 0&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 long t; //tiempo que demora en llegar el eco&lt;br /&gt;
  long d; //distancia en centimetros&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, HIGH);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(5);          //Enviamos un pulso de 10us&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, LOW);&lt;br /&gt;
&lt;br /&gt;
  t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso&lt;br /&gt;
&lt;br /&gt;
  d = t/59;             //escalamos el tiempo a una distancia en cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (d&amp;lt;10){&lt;br /&gt;
    for(int pos=90; pos&amp;lt;180; pos++){&lt;br /&gt;
       servoMotor.write(pos);&lt;br /&gt;
       delay(30&lt;br /&gt;
       );&lt;br /&gt;
    }&lt;br /&gt;
    for(int pos=180; pos&amp;lt;90; pos++){&lt;br /&gt;
      servoMotor.write(pos);&lt;br /&gt;
      delay(30);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
delay(1000);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  /*Serial.print(&amp;quot;Distancia: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(d);      //Enviamos serialmente el valor de la distancia&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;cm&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
&lt;br /&gt;
  delay(1000);          //Hacemos una pausa de 100ms*/&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Usuario:Ale&amp;diff=516</id>
		<title>Usuario:Ale</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Usuario:Ale&amp;diff=516"/>
		<updated>2026-08-27T00:30:59Z</updated>

		<summary type="html">&lt;p&gt;Ale: Página creada con «=Papelera Automatizada= =Código= &amp;lt;pre&amp;gt; #include &amp;lt;Servo.h&amp;gt; const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor const int Echo = 3;   //Pin digital 3 para el Echo del sensor  Servo servoMotor;  void setup() { Serial.begin(9600); servoMotor.attach(9);  //sensor ultrasonido Serial.begin(9600);//iniciailzamos la comunicación   pinMode(Trigger, OUTPUT); //pin como salida   pinMode(Echo, INPUT);  //pin como entrada   digitalWrite(Trigger, LOW);//Inicializam…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Papelera Automatizada=&lt;br /&gt;
=Código=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
const int Trigger = 2;   //Pin digital 2 para el Trigger del sensor&lt;br /&gt;
const int Echo = 3;   //Pin digital 3 para el Echo del sensor&lt;br /&gt;
&lt;br /&gt;
Servo servoMotor;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
servoMotor.attach(9);&lt;br /&gt;
&lt;br /&gt;
//sensor ultrasonido&lt;br /&gt;
Serial.begin(9600);//iniciailzamos la comunicación&lt;br /&gt;
  pinMode(Trigger, OUTPUT); //pin como salida&lt;br /&gt;
  pinMode(Echo, INPUT);  //pin como entrada&lt;br /&gt;
  digitalWrite(Trigger, LOW);//Inicializamos el pin con 0&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 long t; //tiempo que demora en llegar el eco&lt;br /&gt;
  long d; //distancia en centimetros&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, HIGH);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(5);          //Enviamos un pulso de 10us&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(Trigger, LOW);&lt;br /&gt;
&lt;br /&gt;
  t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso&lt;br /&gt;
&lt;br /&gt;
  d = t/59;             //escalamos el tiempo a una distancia en cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (d&amp;lt;10){&lt;br /&gt;
    for(int pos=90; pos&amp;lt;180; pos++){&lt;br /&gt;
       servoMotor.write(pos);&lt;br /&gt;
       delay(30&lt;br /&gt;
       );&lt;br /&gt;
    }&lt;br /&gt;
    for(int pos=180; pos&amp;lt;90; pos++){&lt;br /&gt;
      servoMotor.write(pos);&lt;br /&gt;
      delay(30);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
delay(1000);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  /*Serial.print(&amp;quot;Distancia: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(d);      //Enviamos serialmente el valor de la distancia&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;cm&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
&lt;br /&gt;
  delay(1000);          //Hacemos una pausa de 100ms*/&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=508</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=508"/>
		<updated>2026-08-25T18:17:43Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 29 de agosto a las 10:00: Taller de circuitos de efecto distorsión para guitarra eléctrica. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 14:24 25 ago 2026 (UTC) &lt;br /&gt;
: Oh, me gusta, apruebo! [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
:: Me parece genial! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 18:17 25 ago 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=491</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=491"/>
		<updated>2026-08-17T17:23:55Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
El menú de la cena de vieres 21 de agosto:&lt;br /&gt;
* galletas&lt;br /&gt;
* queso&lt;br /&gt;
* vino&lt;br /&gt;
* pasta&lt;br /&gt;
* salsa para pasta&lt;br /&gt;
* pan de ajo&lt;br /&gt;
* tofu&lt;br /&gt;
* palta,&lt;br /&gt;
* compota,&lt;br /&gt;
* helado,&lt;br /&gt;
* salus limonada, naranja, y agua simple&lt;br /&gt;
¿Que opinás? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 19:34 14 ago 2026 (UTC)&lt;br /&gt;
: pienso que hay que testear la heladera antes [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
:: me gusta la idea de picada (galletas, queso, pan de ajo, palta, tofu, aceitunas, humus). Las pastas me gustan pero me parece un montón para una cena. A ver qué opina el resto. De las personas que invité nadie confirmó asistencia aún. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 17:23 17 ago 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=472</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=472"/>
		<updated>2026-08-13T22:03:11Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 15 de agosto a las 10:00: Taller para aprender a soldar acero con una soldadora de arco. Nivel introductorio. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 19:21 13 ago 2026 (UTC)&lt;br /&gt;
: buenísimo! Que pena no estar este finde. Apruebo [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:03 13 ago 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=471</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=471"/>
		<updated>2026-08-13T22:02:53Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 15 de agosto a las 10:00: Taller para aprender a soldar acero con una soldadora de arco. Nivel introductorio. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 19:21 13 ago 2026 (UTC)&lt;br /&gt;
: buenísimo! Que pena no estar este finde. Apruebo&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=LDR_VCA_an%C3%A1lisis&amp;diff=469</id>
		<title>LDR VCA análisis</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=LDR_VCA_an%C3%A1lisis&amp;diff=469"/>
		<updated>2026-08-12T23:44:45Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Archivo:LED-LDR-VCA.gif]]&lt;br /&gt;
&lt;br /&gt;
Supuestos:&lt;br /&gt;
* Todos los [https://es.wikipedia.org/wiki/Amplificador_operacional amplificadores operacionales] son [https://es.wikipedia.org/wiki/Amplificador_operacional#Amplificador_operacional_ideal ideales] (A&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;=∞, A&amp;lt;sub&amp;gt;cm&amp;lt;/sub&amp;gt;=0, I&amp;lt;sub&amp;gt;in&amp;lt;/sub&amp;gt;=0).&lt;br /&gt;
* Los dos [https://es.wikipedia.org/wiki/Fotorresistor LDRs] son iguales.&lt;br /&gt;
* Los dos LDRs están expuestos a la misma cantidad de luz desde el LED.&lt;br /&gt;
* Los dos LDRs están protegidos de la luz del ambiente.&lt;br /&gt;
&lt;br /&gt;
Porque I&amp;lt;sub&amp;gt;in&amp;lt;/sub&amp;gt;=0, todo el corriente de la entrada CONTROL continua tras el LDR inferior, hasta la fuente de -15V. &lt;br /&gt;
&lt;br /&gt;
V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt; / 10k = 15 / R&amp;lt;sub&amp;gt;LDR&amp;lt;/sub&amp;gt;, entonces &amp;lt;br&amp;gt;&lt;br /&gt;
R&amp;lt;sub&amp;gt;LDR&amp;lt;/sub&amp;gt; = (15 * 10k) / V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
R&amp;lt;sub&amp;gt;LDR&amp;lt;/sub&amp;gt; = 150k / V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt;  (ecuación 1)&lt;br /&gt;
&lt;br /&gt;
Asumimos que los dos LDRs tienen la misma resistencia en todo momento.&lt;br /&gt;
&lt;br /&gt;
La ruta de audio se compone de dos amplificadores de ganancia en cascada.&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sub&amp;gt;v1&amp;lt;/sub&amp;gt;: La ganancia de voltage desde AUDIO INPUT hasta el terminal izquierda del LDR superior. &amp;lt;br&amp;gt;&lt;br /&gt;
A&amp;lt;sub&amp;gt;v2&amp;lt;/sub&amp;gt;: La ganancia de voltage desde el terminal izquierda del LDR superior hasta el terminal OUTPUT. Asumimos que I&amp;lt;sub&amp;gt;OUTPUT&amp;lt;/sub&amp;gt;=0.&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sub&amp;gt;v1&amp;lt;/sub&amp;gt; = -1 * 150k / 150k &amp;lt;br&amp;gt;&lt;br /&gt;
A&amp;lt;sub&amp;gt;v1&amp;lt;/sub&amp;gt; = -1&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sub&amp;gt;v2&amp;lt;/sub&amp;gt; =  -1 * 150k / R&amp;lt;sub&amp;gt;LDR&amp;lt;/sub&amp;gt;   (ecuación 2)&lt;br /&gt;
&lt;br /&gt;
Sustituyendo la expresión para R&amp;lt;sub&amp;gt;LDR&amp;lt;/sub&amp;gt; de (ecuación 1) en (ecuación 2), obtenemos&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sub&amp;gt;v2&amp;lt;/sub&amp;gt; =  -150k / (150k / V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt;), or &amp;lt;br&amp;gt;&lt;br /&gt;
A&amp;lt;sub&amp;gt;v2&amp;lt;/sub&amp;gt; =  -V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces,&lt;br /&gt;
&lt;br /&gt;
A&amp;lt;sub&amp;gt;total&amp;lt;/sub&amp;gt; = A&amp;lt;sub&amp;gt;v1&amp;lt;/sub&amp;gt; * A&amp;lt;sub&amp;gt;v2&amp;lt;/sub&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
A&amp;lt;sub&amp;gt;total&amp;lt;/sub&amp;gt; = -1 * -V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
A&amp;lt;sub&amp;gt;total&amp;lt;/sub&amp;gt; = V&amp;lt;sub&amp;gt;control&amp;lt;/sub&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=456</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=456"/>
		<updated>2026-08-10T20:42:22Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sábado 26 de setiembre a las 14:00: Taller para discutir cómo colectivamente nos vamos de servicios corporativos de tecnología [[Usuario:Gaba|Gaba]] ([[Usuario discusión:Gaba|discusión]])&lt;br /&gt;
: me encanta la propuesta. Apruebo [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 20:42 10 ago 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=412</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=412"/>
		<updated>2026-08-03T17:04:22Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 8 de agosto de 13:00 - Taller de electrónica analógica: generación de formas de onda, distorsión, y espectro sonoro. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 14:35 3 ago 2026 (UTC)&lt;br /&gt;
:: Apruebo!&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=401</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=401"/>
		<updated>2026-07-28T23:35:21Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Tenemos planes para una cena y charla el viernes 21 de agosto en Fab. Propongo que empecemos a las 19:00. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:yo prefiero empezar a las 21[[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
: La cuestión es qué hora creemos que es conveniente para la mayoría de la gente. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 19:12 28 jul 2026 (UTC)&lt;br /&gt;
:20:00 hs me parece razonable, y le da margen a quienes quieren participar y llegan más tarde. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 23:35 28 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=389</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=389"/>
		<updated>2026-07-28T12:54:18Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
: Sabado 1 de agosto de 10am   Resistencia Programada. Tema Canibalizar computadoras cualquiera puede venir. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
:: Apruebo! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 12:54 28 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=329</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=329"/>
		<updated>2026-07-23T23:47:32Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Charla en persona en Fab de un tema. Temas posibles:&lt;br /&gt;
# Prioridades para soberania digital en Uruguay&lt;br /&gt;
# Relación entre instituciones y big techs, qué hacer ante el aumento de procedimientos que necesitan el uso de una big tech para realizarse&lt;br /&gt;
# Estrategias para enfrentar la normalización de big techs&lt;br /&gt;
# Privacidad: charla sobre las concepciones que tenemos de este valor red tor&lt;br /&gt;
# Tecnologias moviles privacidad software libre, alternativas a las grandes corporaciones, etc&lt;br /&gt;
# (podés añadir más)&lt;br /&gt;
&lt;br /&gt;
Ideas para una buena reunion:&lt;br /&gt;
* Respetar los horarios de inicio. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
* Tener comida, bebidas, etc. Cosas caseras. No solo porquería.&lt;br /&gt;
* Usar el &amp;quot;talking stick protocol&amp;quot; en que hay un objeto que debes tener en la mano para hablar, y pasamos ese objeto en una dirección determinada.&lt;br /&gt;
&lt;br /&gt;
¿Cuál es una buena fecha y hora?&lt;br /&gt;
: Propongo el viernes, 7 de Agosto, a las 19:00. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Me gusta que cada quien lleve comida para compartir y no comida chatarra o porquerias. Sobre los temas me gusta los de big tech y instituciones y privacidad.   [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
&lt;br /&gt;
: Me interesa la propuesta. Sobre los temas planteados, la relación Educación y big techs son de mi interés. Podría invitar a algunas personas que se encuentran investigando sobre este tema. Sobre fecha y hora, se me ocurre una cena algún viernes de Agosto, o almuerzo un sábado. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 19:00 22 jul 2026 (UTC)&lt;br /&gt;
:: Me gusta la idea de cena algún viernes de Agosto. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 19:13 22 jul 2026 (UTC)&lt;br /&gt;
:: Me parece bárbaro! Solo el viernes 14 no podría. [[Usuario:Mateo|Mateo]] ([[Usuario discusión:Mateo|discusión]])&lt;br /&gt;
:: Me gustaria una cena en lo posible tipo 22hs y capas afuera del fab. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]]) &lt;br /&gt;
:: Si hay posibilidades de que sea viernes 21 o viernes 28 de agosto podría participar. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 23:47 23 jul 2026 (UTC)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Agregar otro día de taller para trabajar en proyectos individuales. Propongo los jueves de 19:00 a 22:00 hs a partir de la próxima semana. ¿Qué opinan? [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 02:18 23 jul 2026 (UTC)&lt;br /&gt;
: Pienso que tendriamos  o ver la disponibilidad horaria de los participantes del fab y poner una encuesta en mastodon. [[Usuario:Felipe|Felipe]] ([[Usuario discusión:Felipe|discusión]])&lt;br /&gt;
: Apruebo jueves de 19:00 a 22:00 hs. O si querés cambiar el día y/o hora, podemos hablar de eso. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=318</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=318"/>
		<updated>2026-07-23T02:18:27Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Charla en persona en Fab de un tema. Temas posibles:&lt;br /&gt;
# prioridades para soberania digital en Uruguay&lt;br /&gt;
# Relación entre instituciones y big techs, qué hacer ante el aumento de procedimeintos que necesitan el uso de una big tech para realizarse&lt;br /&gt;
# Estrategias para enfrentar la normalización de big techs&lt;br /&gt;
# privacidad: charla sobre las concepciones que tenemos de este valor&lt;br /&gt;
# (podés añadir más)&lt;br /&gt;
&lt;br /&gt;
Ideas para una buena reunion:&lt;br /&gt;
* Tener comida, bebidas, etc. Cosas caseras. No solo porquería.&lt;br /&gt;
* Usar el &amp;quot;talking stick protocol&amp;quot; en que hay un objeto que debes tener en la mano para hablar, y pasamos ese objeto en una dirección determinada.&lt;br /&gt;
&lt;br /&gt;
¿Cuál es una buena fecha y hora?&lt;br /&gt;
&lt;br /&gt;
: Me interesa la propuesta. Sobre los temas planteados, la relación Educación y big techs son de mi interés. Podría invitar a algunas personas que se encuentran investigando sobre este tema. Sobre fecha y hora, se me ocurre una cena algún viernes de Agosto, o almuerzo un sábado. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 19:00 22 jul 2026 (UTC)&lt;br /&gt;
:: Me gusta la idea de cena algún viernes de Agosto. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 19:13 22 jul 2026 (UTC)&lt;br /&gt;
:: Me parece bárbaro! Solo el viernes 14 no podría. [[Usuario:Mateo|Mateo]] ([[Usuario discusión:Mateo|discusión]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agregar otro día de taller para trabajar en proyectos individuales. Propongo los jueves de 19:00 a 22:00 hs a partir de la próxima semana. ¿Qué opinan? [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 02:18 23 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=314</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=314"/>
		<updated>2026-07-22T19:00:52Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Charla en persona en Fab de un tema. Temas posibles:&lt;br /&gt;
# prioridades para soberania digital en Uruguay&lt;br /&gt;
# Relación entre instituciones y big techs, qué hacer ante el aumento de procedimeintos que necesitan el uso de una big tech para realizarse&lt;br /&gt;
# Estrategias para enfrentar la normalización de big techs&lt;br /&gt;
# privacidad: charla sobre las concepciones que tenemos de este valor&lt;br /&gt;
# (podés añadir más)&lt;br /&gt;
&lt;br /&gt;
Ideas para una buena reunion:&lt;br /&gt;
* Tener comida, bebidas, etc. Cosas caseras. No solo porquería.&lt;br /&gt;
* Usar el &amp;quot;talking stick protocol&amp;quot; en que hay un objeto que debes tener en la mano para hablar, y pasamos ese objeto en una dirección determinada.&lt;br /&gt;
&lt;br /&gt;
¿Cuál es una buena fecha y hora?&lt;br /&gt;
&lt;br /&gt;
: Me interesa la propuesta. Sobre los temas planteados, la relación Educación y big techs son de mi interés. Podría invitar a algunas personas que se encuentran investigando sobre este tema. Sobre fecha y hora, se me ocurre una cena algún viernes de Agosto, o almuerzo un sábado. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 19:00 22 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=301</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=301"/>
		<updated>2026-07-20T16:08:46Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Lunes 24 de agosto de 19:00 a 21:00: Exposición y charlas de tecnología de épocas anteriores. https://es.wikipedia.org/wiki/Noche_de_la_nostalgia Computadoras viejas, formas antiguas de medios de almacenamiento (por ejemplo, VHS), software, otros dispositivos, etc. Podemos tener exposiciones pasivas y también presentaciones breves. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 15:06 20 jul 2026 (UTC)&lt;br /&gt;
: A mí me parece bien, y apruebo, pero como siempre entre semana, no sé si podré ir. [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
:: ¿Deberíamos hacerlo el domingo? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]]) 15:35 20 jul 2026 (UTC)&lt;br /&gt;
::: Me encanta la propuesta. Creo que un domingo es una buena opción. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 16:08 20 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=288</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=288"/>
		<updated>2026-07-17T21:19:23Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
&lt;br /&gt;
Sábado 18 de julio de 12:00 a 15:00: Juntada interna de Resistencia Programada para traer e instalar equipos. El horario puede ser ajustado sin problema si es necesario. [[Usuario:Francisco|Francisco]] ([[Usuario discusión:Francisco|discusión]])&lt;br /&gt;
:Genial! Apruebo. Me surge la siguiente duda en relación a juntada interna: ¿es solo para personas miembras de Resistencia Programada o es abierto a que se sumen otras personas? [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 21:19 17 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Tocadiscos_caja_de_ritmos&amp;diff=278</id>
		<title>Tocadiscos caja de ritmos</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Tocadiscos_caja_de_ritmos&amp;diff=278"/>
		<updated>2026-07-14T00:53:26Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Codigo 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
La idea es que el usuario quiere generar un ritmo.&lt;br /&gt;
El usuario va a colocar imanes sobre la superficie de un disco giratorio.&lt;br /&gt;
Las posiciones de los imanes representarán los tiempos de los sonidos de la caja de ritmo.&lt;br /&gt;
Los imanes van a moverse.&lt;br /&gt;
Sensores estacionarios de campos magnéticos van a detectar cuando los imanes pasan por el sensor.&lt;br /&gt;
&lt;br /&gt;
=Motor original=&lt;br /&gt;
1290 rpm&lt;br /&gt;
&lt;br /&gt;
84.7 cm de cinturón de goma&lt;br /&gt;
&lt;br /&gt;
=Motor Paso a Paso=&lt;br /&gt;
* [[Media:28byj-48.pdf | Hoja técnica de 2BBYJ-48 motor]]&lt;br /&gt;
* [[Media:Uln2003a.pdf | Hoja técnica de ULN2003AN controlador para motor paso a paso]]&lt;br /&gt;
&lt;br /&gt;
=Sensores Hall (para detectar campos magnéticos) =&lt;br /&gt;
* [https://www.diodes.com/datasheet/download/AH49E.pdf Hoja técnica de AH49E sensor Hall]&lt;br /&gt;
* [https://www.electronica.uy/producto/robotica/sensores-robotica/magnetico/modulo-sensor-magnetico-analogico/ El modulo de AH49E que compro en Eneka]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Ah49e modulo pins.jpeg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
* https://cloud.undernet.uy/s/a6CEK3JqqbARwpn&lt;br /&gt;
&lt;br /&gt;
=Codigo 1=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define led 13  &lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define analogPin A0&lt;br /&gt;
&lt;br /&gt;
uint16_t analogVal;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  analogVal = analogRead(analogPin);&lt;br /&gt;
  analogVal -= 640;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
  Serial.println(analogVal);&lt;br /&gt;
  if (analogVal &amp;gt; 50) {&lt;br /&gt;
    digitalWrite(led, HIGH);&lt;br /&gt;
    digitalWrite(buzzer, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    digitalWrite(buzzer, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Codigo 2=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define led 13  &lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define hall0 A0&lt;br /&gt;
#define hall1 A1&lt;br /&gt;
&lt;br /&gt;
uint16_t hall0val;&lt;br /&gt;
uint16_t hall1val;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  hall0val = analogRead(hall0);&lt;br /&gt;
  hall0val -= 640;&lt;br /&gt;
  &lt;br /&gt;
  hall1val = analogRead(hall1);&lt;br /&gt;
  hall1val -= 640;&lt;br /&gt;
&lt;br /&gt;
  //Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
  Serial.print(hall0val);&lt;br /&gt;
  Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(hall1val);&lt;br /&gt;
&lt;br /&gt;
  if (hall0val &amp;gt; 50 || hall1val &amp;gt; 50) {&lt;br /&gt;
    digitalWrite(led, HIGH);&lt;br /&gt;
    digitalWrite(buzzer, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    digitalWrite(buzzer, LOW);&lt;br /&gt;
  }&lt;br /&gt;
 // delayMicroseconds(300000);&lt;br /&gt;
   delay(500);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Codigo 3=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define led 13&lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define hall0 A0&lt;br /&gt;
#define hall1 A1&lt;br /&gt;
&lt;br /&gt;
uint16_t hall0val;&lt;br /&gt;
uint16_t hall1val;&lt;br /&gt;
&lt;br /&gt;
const int OUT0_PIN = 11;&lt;br /&gt;
const int OUT1_PIN = 10;&lt;br /&gt;
const int DURACION_MS = 500;&lt;br /&gt;
const int HALL_OFFSET = 640;&lt;br /&gt;
const int HALL_THRES = 50;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  pinMode (OUT0_PIN, OUTPUT);&lt;br /&gt;
  pinMode (OUT1_PIN, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool out0_on = false;&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  int out0_off_time = 0;&lt;br /&gt;
  int out1_off_time = 1;&lt;br /&gt;
  bool out0_on = false;&lt;br /&gt;
  bool out1_on = false;&lt;br /&gt;
  hall0val = analogRead(hall0) - HALL_OFFSET;&lt;br /&gt;
  hall1val = analogRead(hall1) - HALL_OFFSET;&lt;br /&gt;
&lt;br /&gt;
  //Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
 // Serial.print(hall0val);&lt;br /&gt;
  //Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  //Serial.println(hall1val);&lt;br /&gt;
&lt;br /&gt;
  if (millis() &amp;gt; out0_off_time &amp;amp;&amp;amp; out0_on == true) {&lt;br /&gt;
    digitalWrite(OUT0_PIN, LOW);&lt;br /&gt;
    out0_on = false;&lt;br /&gt;
    Serial.println(&amp;quot;1&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (millis() &amp;gt; out1_off_time &amp;amp;&amp;amp; out1_on == true) {&lt;br /&gt;
    digitalWrite(OUT1_PIN, LOW);&lt;br /&gt;
    out1_on = false;&lt;br /&gt;
    Serial.println(&amp;quot;2&amp;quot;);&lt;br /&gt;
  }   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (hall0val &amp;gt; HALL_THRES) {&lt;br /&gt;
    digitalWrite(OUT0_PIN, HIGH);&lt;br /&gt;
    out0_off_time = millis() + DURACION_MS;&lt;br /&gt;
    out0_on = true;&lt;br /&gt;
     Serial.print(hall0val);&lt;br /&gt;
     Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
        Serial.println(&amp;quot;3&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (hall1val &amp;gt; HALL_THRES) {&lt;br /&gt;
    digitalWrite(OUT1_PIN, HIGH);&lt;br /&gt;
    out1_off_time = millis() + DURACION_MS;&lt;br /&gt;
    out1_on = true;&lt;br /&gt;
        Serial.println(&amp;quot;4&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=218</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=218"/>
		<updated>2026-07-12T22:11:17Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 18 de julio a las 10:00: Taller de algo. Opciones:&lt;br /&gt;
# Procesamiento digital de imágenes (programación)&lt;br /&gt;
# Procesamiento digital de audio (programación)&lt;br /&gt;
# Diseño y construcción de amplificadores&lt;br /&gt;
# Script de shell&lt;br /&gt;
# Circuitos para distorsión de guitarra eléctrica&lt;br /&gt;
# C y C++ para principiantes&lt;br /&gt;
# Programación intermedia de Arduino&lt;br /&gt;
# OpenStreetMap&lt;br /&gt;
¿Te gusta alguna de estas opciones?&lt;br /&gt;
:Me interesan las opciones 2, 3, 5, 6 y 7 [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:11 12 jul 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=217</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=217"/>
		<updated>2026-07-12T22:10:31Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sábado 11 de mayo de 11:00 a 13:00: Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 18 de julio a las 10:00: Taller de algo. Opciones:&lt;br /&gt;
# Procesamiento digital de imágenes (programación)&lt;br /&gt;
# Procesamiento digital de audio (programación)&lt;br /&gt;
# Diseño y construcción de amplificadores&lt;br /&gt;
# Script de shell&lt;br /&gt;
# Circuitos para distorsión de guitarra eléctrica&lt;br /&gt;
# C y C++ para principiantes&lt;br /&gt;
# Programación intermedia de Arduino&lt;br /&gt;
# OpenStreetMap&lt;br /&gt;
¿Te gusta alguna de estas opciones?&lt;br /&gt;
:Me interesan las opciones 2, 3, 5, 6 y 7&lt;br /&gt;
&lt;br /&gt;
=Véase También=&lt;br /&gt;
* [[Propuestas Anteriores]]&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Tocadiscos_caja_de_ritmos&amp;diff=198</id>
		<title>Tocadiscos caja de ritmos</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Tocadiscos_caja_de_ritmos&amp;diff=198"/>
		<updated>2026-07-09T02:52:14Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Codigo 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
La idea es que el usuario quiere generar un ritmo.&lt;br /&gt;
El usuario va a colocar imanes sobre la superficie de un disco giratorio.&lt;br /&gt;
Las posiciones de los imanes representarán los tiempos de los sonidos de la caja de ritmo.&lt;br /&gt;
Los imanes van a moverse.&lt;br /&gt;
Sensores estacionarios de campos magnéticos van a detectar cuando los imanes pasan por el sensor.&lt;br /&gt;
&lt;br /&gt;
=Motor original=&lt;br /&gt;
1290 rpm&lt;br /&gt;
&lt;br /&gt;
84.7 cm de cinturón de goma&lt;br /&gt;
&lt;br /&gt;
=Motor Paso a Paso=&lt;br /&gt;
* [[Media:28byj-48.pdf | Hoja técnica de 2BBYJ-48 motor]]&lt;br /&gt;
* [[Media:Uln2003a.pdf | Hoja técnica de ULN2003AN controlador para motor paso a paso]]&lt;br /&gt;
&lt;br /&gt;
=Sensores Hall (para detectar campos magnéticos) =&lt;br /&gt;
* [https://www.diodes.com/datasheet/download/AH49E.pdf Hoja técnica de AH49E sensor Hall]&lt;br /&gt;
* [https://www.electronica.uy/producto/robotica/sensores-robotica/magnetico/modulo-sensor-magnetico-analogico/ El modulo de AH49E que compro en Eneka]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Ah49e modulo pins.jpeg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
* https://cloud.undernet.uy/s/a6CEK3JqqbARwpn&lt;br /&gt;
&lt;br /&gt;
=Codigo 1=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define led 13  &lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define analogPin A0&lt;br /&gt;
&lt;br /&gt;
uint16_t analogVal;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  analogVal = analogRead(analogPin);&lt;br /&gt;
  analogVal -= 640;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
  Serial.println(analogVal);&lt;br /&gt;
  if (analogVal &amp;gt; 50) {&lt;br /&gt;
    digitalWrite(led, HIGH);&lt;br /&gt;
    digitalWrite(buzzer, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    digitalWrite(buzzer, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Codigo 2=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define led 13  &lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define hall0 A0&lt;br /&gt;
#define hall1 A1&lt;br /&gt;
&lt;br /&gt;
uint16_t hall0val;&lt;br /&gt;
uint16_t hall1val;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  hall0val = analogRead(hall0);&lt;br /&gt;
  hall0val -= 640;&lt;br /&gt;
  &lt;br /&gt;
  hall1val = analogRead(hall1);&lt;br /&gt;
  hall1val -= 640;&lt;br /&gt;
&lt;br /&gt;
  //Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
  Serial.print(hall0val);&lt;br /&gt;
  Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(hall1val);&lt;br /&gt;
&lt;br /&gt;
  if (hall0val &amp;gt; 50 || hall1val &amp;gt; 50) {&lt;br /&gt;
    digitalWrite(led, HIGH);&lt;br /&gt;
    digitalWrite(buzzer, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    digitalWrite(buzzer, LOW);&lt;br /&gt;
  }&lt;br /&gt;
 // delayMicroseconds(300000);&lt;br /&gt;
   delay(500);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Usuario_discusi%C3%B3n:Felipe&amp;diff=188</id>
		<title>Usuario discusión:Felipe</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Usuario_discusi%C3%B3n:Felipe&amp;diff=188"/>
		<updated>2026-07-07T13:01:22Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Hola, quisiera proponer un encuentro para experimentar grupalmente sobre tegnologia movil.&lt;br /&gt;
 Posibles temas &lt;br /&gt;
 Dgoogled &lt;br /&gt;
 Android&lt;br /&gt;
 Gnu/linux&lt;br /&gt;
 Aplicaciones/tecnologias o protocolos que sean libresm y respeten la libertad de los usuarios&lt;br /&gt;
 O lo que se les ocurra en el momento &lt;br /&gt;
 Siempre intentando que sea lo mas abierto posible&lt;br /&gt;
&lt;br /&gt;
Es mi primera vez usando media wiki si tengo errores hacemelo saber&lt;br /&gt;
&lt;br /&gt;
: Hola Felipe. https://fab.uy/index.php/Planificaci%C3%B3n esta es la página de planificación. Me encanta esa idea, estoy para sumarme! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 13:01 7 jul 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Discusi%C3%B3n:Tocadiscos_caja_de_ritmos&amp;diff=172</id>
		<title>Discusión:Tocadiscos caja de ritmos</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Discusi%C3%B3n:Tocadiscos_caja_de_ritmos&amp;diff=172"/>
		<updated>2026-07-04T03:03:28Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=consultas=&lt;br /&gt;
probando discusión. Una amiga está creando un collage con diversos relieves y texturas, y quiere que, cuando la persona pase su mano sobre las diferentes regiones del collage, se activen samples. Entiendo que se necesita uno o más sensores de movimiento. ¿Qué sensor les parece más adecuado para esta idea? Por otro lado, pensaba que el código para los sensores hall podría servir, pero me pregunto ¿cómo sería la salida? ¿podría servir el reproductor de mp3 que llevaron al taller? Si eso no es posible, ¿tendría que utilizar pure data de interfaz? ¿qué sugieren? [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:33 2 jul 2026 (UTC)&lt;br /&gt;
: Respeto al sensor, ¿debería funcionar sin contacto? Respecto a la salida, ¿debería generar un sonido solo un sonido a la vez, o una mezcla que cambia continuamente cuando la mano se mueve? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:: El sensor debería funcionar sin contacto. Si asignamos un sample para cada región, mientras la mano se mueve, la salida sería una mezcla que va cambiando. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 23:35 2 jul 2026 (UTC)&lt;br /&gt;
::: ¿Cuántas regiones habría? Una opción es poner un LED y fotosensor en cada región para detectar proximidad. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:: Son cinco regiones. Poner un LED y fotosensor puede ser una buena opción y de bajo costo. Estuve buscando información y uno de los sensores recomendados es VL53L0X. Con respecto a la salida, Wav Trigger podría ser una opción, pero es caro. Creo que voy a optar por PD. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 03:02 4 jul 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Discusi%C3%B3n:Tocadiscos_caja_de_ritmos&amp;diff=166</id>
		<title>Discusión:Tocadiscos caja de ritmos</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Discusi%C3%B3n:Tocadiscos_caja_de_ritmos&amp;diff=166"/>
		<updated>2026-07-02T23:35:34Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=consultas=&lt;br /&gt;
probando discusión. Una amiga está creando un collage con diversos relieves y texturas, y quiere que, cuando la persona pase su mano sobre las diferentes regiones del collage, se activen samples. Entiendo que se necesita uno o más sensores de movimiento. ¿Qué sensor les parece más adecuado para esta idea? Por otro lado, pensaba que el código para los sensores hall podría servir, pero me pregunto ¿cómo sería la salida? ¿podría servir el reproductor de mp3 que llevaron al taller? Si eso no es posible, ¿tendría que utilizar pure data de interfaz? ¿qué sugieren? [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:33 2 jul 2026 (UTC)&lt;br /&gt;
: Respeto al sensor, ¿debería funcionar sin contacto? Respecto a la salida, ¿debería generar un sonido solo un sonido a la vez, o una mezcla que cambia continuamente cuando la mano se mueve? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:: El sensor debería funcionar sin contacto. Si asignamos un sample para cada región, mientras la mano se mueve, la salida sería una mezcla que va cambiando. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 23:35 2 jul 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Discusi%C3%B3n:Tocadiscos_caja_de_ritmos&amp;diff=164</id>
		<title>Discusión:Tocadiscos caja de ritmos</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Discusi%C3%B3n:Tocadiscos_caja_de_ritmos&amp;diff=164"/>
		<updated>2026-07-02T22:34:35Z</updated>

		<summary type="html">&lt;p&gt;Ale: Página creada con «=consultas= probando discusión. Una amiga está creando un collage con diversos relieves y texturas, y quiere que, cuando la persona pase su mano sobre las diferentes regiones del collage, se activen samples. Entiendo que se necesita uno o más sensores de movimiento. ¿Qué sensor les parece más adecuado para esta idea? Por otro lado, pensaba que el código para los sensores hall podría servir, pero me pregunto ¿cómo sería la salida? ¿podría servir el reprodu…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=consultas=&lt;br /&gt;
probando discusión. Una amiga está creando un collage con diversos relieves y texturas, y quiere que, cuando la persona pase su mano sobre las diferentes regiones del collage, se activen samples. Entiendo que se necesita uno o más sensores de movimiento. ¿Qué sensor les parece más adecuado para esta idea? Por otro lado, pensaba que el código para los sensores hall podría servir, pero me pregunto ¿cómo sería la salida? ¿podría servir el reproductor de mp3 que llevaron al taller? Si eso no es posible, ¿tendría que utilizar pure data de interfaz? ¿qué sugieren? [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 22:33 2 jul 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=149</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=149"/>
		<updated>2026-06-27T18:38:00Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Sábado 25 de julio 10 am- Continuación de taller LoRa - probaremos Reticulum en openwrt en routers --gaba&lt;br /&gt;
:Apruebo esta propuesta. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
::Buenísima la propuesta! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 18:37 27 jun 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=142</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=142"/>
		<updated>2026-06-26T23:55:50Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Encuentro de la comunidad técnica de Wikimedistas de Uruguay. Sábado 11 de julio de 9hs a 19hs aprox. Hay 13 personas confirmadas y podemos invitar más. [[Usuario:Nat|Nat]] ([[Usuario discusión:Nat|discusión]])&lt;br /&gt;
:Apruebo esta propuesta. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:: Me parece fascinante! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 21:11 26 jun 2026 (UTC)&lt;br /&gt;
::: Ale: ¿Entonces la apruebas? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:::: Si, por supuesto la apruebo. &amp;quot;Me parece fascinante&amp;quot; es una expresión de aprobación también [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 23:55 26 jun 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=140</id>
		<title>Planificación</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n&amp;diff=140"/>
		<updated>2026-06-26T21:12:02Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# Cualquiera puede proponer un evento.&lt;br /&gt;
# Esperar para obtener la aprobación de la mayoría de los administradores. En esta fase, el evento aún no está aprobado.&lt;br /&gt;
# Administradores añadir el evento a la [[Página principal]].&lt;br /&gt;
# Ahora está aprobado y puedes publicitar el evento.&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
Encuentro de la comunidad técnica de Wikimedistas de Uruguay. Sábado 11 de julio de 9hs a 19hs aprox. Hay 13 personas confirmadas y podemos invitar más. [[Usuario:Nat|Nat]] ([[Usuario discusión:Nat|discusión]])&lt;br /&gt;
:Apruebo esta propuesta. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:: Me parece fascinante! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 21:11 26 jun 2026 (UTC)&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Tocadiscos_caja_de_ritmos&amp;diff=89</id>
		<title>Tocadiscos caja de ritmos</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Tocadiscos_caja_de_ritmos&amp;diff=89"/>
		<updated>2026-06-18T02:48:38Z</updated>

		<summary type="html">&lt;p&gt;Ale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
La idea es que el usuario quiere generar un ritmo.&lt;br /&gt;
El usuario va a colocar imanes sobre la superficie de un disco giratorio.&lt;br /&gt;
Las posiciones de los imanes representarán los tiempos de los sonidos de la caja de ritmo.&lt;br /&gt;
Los imanes van a moverse.&lt;br /&gt;
Sensores estacionarios de campos magnéticos van a detectar cuando los imanes pasan por el sensor.&lt;br /&gt;
&lt;br /&gt;
=Motor original=&lt;br /&gt;
1290 rpm&lt;br /&gt;
&lt;br /&gt;
84.7 cm de cinturón de goma&lt;br /&gt;
&lt;br /&gt;
=Motor Paso a Paso=&lt;br /&gt;
* [[Media:28byj-48.pdf | Hoja técnica de 2BBYJ-48 motor]]&lt;br /&gt;
* [[Media:Uln2003a.pdf | Hoja técnica de ULN2003AN controlador para motor paso a paso]]&lt;br /&gt;
&lt;br /&gt;
=Sensores Hall (para detectar campos magnéticos) =&lt;br /&gt;
* [https://www.diodes.com/datasheet/download/AH49E.pdf Hoja técnica de AH49E sensor Hall]&lt;br /&gt;
* [https://www.electronica.uy/producto/robotica/sensores-robotica/magnetico/modulo-sensor-magnetico-analogico/ El modulo de AH49E que compro en Eneka]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Ah49e modulo pins.jpeg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
* https://cloud.undernet.uy/s/a6CEK3JqqbARwpn&lt;br /&gt;
&lt;br /&gt;
=Codigo 1=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define led 13  &lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define analogPin A0&lt;br /&gt;
&lt;br /&gt;
uint16_t analogVal;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  analogVal = analogRead(analogPin);&lt;br /&gt;
  analogVal -= 640;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
  Serial.println(analogVal);&lt;br /&gt;
  if (analogVal &amp;gt; 50) {&lt;br /&gt;
    digitalWrite(led, HIGH);&lt;br /&gt;
    digitalWrite(buzzer, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    digitalWrite(buzzer, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Codigo 2=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define led 13  &lt;br /&gt;
#define buzzer 11&lt;br /&gt;
#define hall0 A0&lt;br /&gt;
#define hall1 A1&lt;br /&gt;
&lt;br /&gt;
uint16_t hall0val;&lt;br /&gt;
uint16_t hall1val;&lt;br /&gt;
&lt;br /&gt;
void setup () {&lt;br /&gt;
  pinMode (led, OUTPUT);&lt;br /&gt;
  pinMode (buzzer, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () {&lt;br /&gt;
  hall0val = analogRead(hall0);&lt;br /&gt;
  hall0val -= 640;&lt;br /&gt;
  &lt;br /&gt;
  hall1val = analogRead(hall1);&lt;br /&gt;
  hall1val -= 640;&lt;br /&gt;
&lt;br /&gt;
  //Serial.print(&amp;quot;0, &amp;quot;); Serial.print(&amp;quot;300, &amp;quot;); &lt;br /&gt;
  Serial.print(hall0val);&lt;br /&gt;
  Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.println(hall1val);&lt;br /&gt;
&lt;br /&gt;
  if (hall0val &amp;gt; 50 || hall1val &amp;gt; 50) {&lt;br /&gt;
    digitalWrite(led, HIGH);&lt;br /&gt;
    digitalWrite(buzzer, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    digitalWrite(buzzer, LOW);&lt;br /&gt;
  }&lt;br /&gt;
 // delayMicroseconds(300000);&lt;br /&gt;
   delay(500);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
	<entry>
		<id>https://fab.uy/index.php?title=Planificaci%C3%B3n-2026-junio&amp;diff=88</id>
		<title>Planificación-2026-junio</title>
		<link rel="alternate" type="text/html" href="https://fab.uy/index.php?title=Planificaci%C3%B3n-2026-junio&amp;diff=88"/>
		<updated>2026-06-18T02:45:20Z</updated>

		<summary type="html">&lt;p&gt;Ale: /* Propuestas Anteriores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Esta página sirve para planificar eventos en Fab. &lt;br /&gt;
Queremos evitar la ambigüedad y mantener la claridad y transparencia.&lt;br /&gt;
Si tenés alguna pregunta sobre este proceso, no dudes en consultarnos.&lt;br /&gt;
&lt;br /&gt;
=Protocolo=&lt;br /&gt;
# (cualquiera) puede proponer un evento&lt;br /&gt;
# obtener consenso de la mayoría de los administradores&lt;br /&gt;
# (administradores) añadir el evento a la [[Página principal]].&lt;br /&gt;
&lt;br /&gt;
=Formato=&lt;br /&gt;
# Escribe una línea que contiene el evento propuesto, la hora, y tres tildes para firmar su mensaje. Hay un ejemplo abajo. Las tildes serán convertidas a tu nombre y fecha cuando guardes tus cambios.&lt;br /&gt;
# Las respuestas deben constar de una línea abajo de la propuesta, comenzando con dos puntos para que queden indentadas. Las respuestas deben estar firmadas con tres tildes.&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una propuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tener una conversación sobre soberanía digital en Uruguay. ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo del formato de una respuesta (no copia las etiquetas &amp;quot;pre&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
: Esa es una buena idea. ¿Cuándo? ~~~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Propuestas=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Propuestas Anteriores=&lt;br /&gt;
Sábado 20 a las 12:30: Continuación de taller de electrónica. Enfoque: ¿Cómo probamos y medimos los componentes y circuitos electrónicos? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
: ¿Cuánto duró el taller de LoRa la última vez? Me gustaría asistir a los dos :) [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
:: Voy a preguntar a Gaba. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
::: El taller de LoRa el sábado 20 terminará a las 12:00. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:::: Me parece bien continuar con el de electrónica entonces. [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;br /&gt;
:::: Buenísimo! Una pena no poder estar el próximo sábado. Me parece bien darle continuidad al tallr de eletrónica con ese enfoque. [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]]) 02:45 18 jun 2026 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Sábado 27 de junio a las 10:30: último encuentro del Taller de Scribus. Posible temática: marcos de imágenes, rodear con texto, exportar a PDF, crear el archivo de una publicación final a partir de archivos más pequeños.  [[Usuario:JavierSam|JavierSam]] ([[Usuario discusión:JavierSam|discusión]])&lt;br /&gt;
: ¿Sábado 27? ¿No sábado 20? [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:: Podría ser el 20, pero Felipe Sosa (que ha asistido a todos los encuentros del taller) ya me avisó que el 20 no va a asistir. Supongo que es porque el viernes es feriado y se lo toma como &amp;quot;fin de semana largo&amp;quot;. Y quizás pase lo mismo con otras personas. [[Usuario:JavierSam|JavierSam]] ([[Usuario discusión:JavierSam|discusión]])&lt;br /&gt;
::: Aja. Entiendo. Me parece bien sábado 27. [[Usuario:Antonio|Antonio]] ([[Usuario discusión:Antonio|discusión]])&lt;br /&gt;
:::: Perfecto! [[Usuario:Ale|Ale]] ([[Usuario discusión:Ale|discusión]])&lt;br /&gt;
:::: Me parece bien también! [[Usuario:J3j5|J3j5]] ([[Usuario discusión:J3j5|discusión]])&lt;/div&gt;</summary>
		<author><name>Ale</name></author>
	</entry>
</feed>