Placa y arreglos #13

Closed
fauno wants to merge 7 commits from placa-y-arreglos into master
5 changed files with 30957 additions and 61 deletions

View file

@ -58,11 +58,10 @@ void loop() {
Serial.write(" "); Serial.write(" ");
Serial.write("C"); Serial.write("C");
Serial.write(" "); Serial.write(" ");
Serial.write("99"); Serial.write("99\n");
} }
} }
delay(1000);
} }

View file

@ -20,9 +20,6 @@ void setup() {
void loop() { void loop() {
Serial.write("\n");
delay(1000);
if ( Serial.available() > 0) { if ( Serial.available() > 0) {
inQuery = Serial.read(); inQuery = Serial.read();
@ -42,9 +39,9 @@ void loop() {
Serial.write(" "); Serial.write(" ");
Serial.write("TSS"); Serial.write("TSS");
Serial.write(" "); Serial.write(" ");
Serial.write("99"); Serial.write("99\n");
} }
} }
delay(1000);
} }

View file

@ -363,61 +363,59 @@ Ver el estado del servicio de envío de datos.
$ sudo systemctl status nodemecu.service $ sudo systemctl status nodemecu.service
``` ```
## Placas (PCB)
La última versión de la placa se encuentra en `placas/nodemecu.fz`. Es
un archivo en el formato de [Fritzing](https://fritzing.org/) que
permite editar esquemático, protoboard y PCB en un mismo archivo.
El archivo se guarda en `.fz` y no en `.fzz` para que podamos tener
registro de cambios con `git`. El segundo es un formato comprimido.
Para producir las placas físicas, primero se exporta el archivo Fritzing
a PDF utilizando el botón "Exportar para PCB".
Los archivos imprimibles son los que tienen el sufijo `mirror`, con
estos se pueden imprimir PCBs de forma casera.
### Funcionamiento
Todos los Arduinos se encuentran conectados con la Raspberry en modo
"maestro-esclavos" a través de una conexión serie de tipo UART.
Esto permite que la Raspberry pregunte y solo un Arduino responda por
vez, usando la misma conexión serie.
Cada Arduino tiene un ID de dispositivo que es único en toda la placa:
| Sensor | ID |
| ------------- | -- |
| Temperatura | 1 |
| Turbidez | 2 |
| pH | 3 |
| Conductividad | 4 |
La conexión serie se realizó adaptando el modelo ["UART/TTL-Serial
network with single master and multiple
slaves"](http://cool-emerald.blogspot.com/2009/10/multidrop-network-for-rs232.html),
donde los RX (recepción) y TX (transmisión) de los Arduinos y Raspberry
están conectados entre sí. Para activar la transmisión (respuesta) de
los Arduinos, los diodos Schottky son activados por una resistencia
pull-up de 10K.
Para poder activar la recepción de la Raspberry a través de un GPIO de
3.3V, se introdujo un divisor de tensión que baja el voltaje de 5 a 3.3V
en la misma línea.
Con esta conexión los Arduinos y la Raspberry pueden hablar entre sí.
### Historial
El historial de desarrollo de Nodemecu se encuentra en el directorio
`esquematicos/`.
### Gerber
Para generar los archivos Gerber, con el archivo Fritzing abierto, ir al
menú Archivo > Exportar > Para producción > Gerber Extendido (RS-274X)
y elegir un directorio/carpeta donde guardar los archivos.

30905
placa/nodemecu.fz Normal file

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ ser = serial.Serial(
parity=serial.PARITY_NONE, parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE, stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS, bytesize=serial.EIGHTBITS,
timeout=1 timeout=2
) )
ser.flush() ser.flush()
@ -22,13 +22,10 @@ ser.flush()
while True: while True:
if ser.in_waiting > 0: if ser.in_waiting > 0:
line = ser.readline().decode('utf-8', errors='replace').rstrip() line = ser.readline().decode('utf-8', errors='replace').rstrip()
#time.sleep(0.1)
print(line) print(line)
ser.flush() ser.flush()
break break
time.sleep(1)
quit() quit()