Paso 10: código
MI CÓDIGO:
int led1 = 5;
int led2 = 6; Que LED se conecta a qué números de lilypad
led3 int = 10;
led4 int = 9;
int sensor1 = A5;
int sensor2 = A4; Cuando números de conductores están conectados a lo que de en lilypad
int sensor3 = A2;
sensor4 int = A3;
int sensorValue1;
int sensorValue2;
int sensorValue3;
int sensorValue4;
la rutina de instalación se ejecuta una vez al presionar reset:
void setup() {}
pinMode (led1, salida);
pinMode (led2, salida);
pinMode (led3, salida);
pinMode (led4, salida);
pinMode (sensor1, entrada);
pinMode (sensor2, entrada);
pinMode (sensor3, entrada);
pinMode (sensor4, entrada);
Serial.Begin(9600); inicializar la comunicación
}
una y otra vez funciona para siempre la rutina bucle:
void loop() {}
sensorValue1 = readCapacitivePin(sensor1); leer el valor del sensor de tacto
Serial.println(sensorValue1); enviar valor a la computadora
Delay(100); retardo de 1/10 de segundo
Si (sensorValue1 > 1) / / si se toca el "1"
{
digitalWrite (LED 1, HIGH); se convierte la luz en
} else
{
digitalWrite (LED 1, bajo); Si no toca, apague
}
sensorValue2 = readCapacitivePin(sensor2); leer el valor del sensor de tacto
Serial.println(sensorValue2); enviar valor a la computadora
Delay(100); retardo de 1/10 de segundo
Si (sensorValue2 > 1) / / si se toca el "2"
{
digitalWrite (led2, HIGH);
}
otra cosa
{
digitalWrite (led2, LOW);
}
sensorValue3 = readCapacitivePin(sensor3); leer el valor del sensor de tacto
Serial.println(sensorValue3); enviar valor a la computadora
Delay(100); retardo de 1/10 de segundo
Si (sensorValue3 > 1) / / si se toca el "3"
{
digitalWrite (LED 3, alto);
}
otra cosa
{
digitalWrite (LED 3, bajo);
}
sensorValue4 = readCapacitivePin(sensor4); leer el valor del sensor de tacto
Serial.println(sensorValue4); enviar valor a la computadora
Delay(100); retardo de 1/10 de segundo
Si (sensorValue4 > 1) / / si se toca el "4"
{
digitalWrite (led4, HIGH);
}
otra cosa
{
digitalWrite (led4, LOW);
}
}
readCapacitivePin
Entrada: Número de pin Arduino
Salida: Un número de 0 a 17 expresan
Cuánta capacidad está en el pin
Al tocar el pin, o lo que tengas
Unido a él, el número se obtendrá mayor
#include "pins_arduino.h" / / Arduino pre-1.0 necesita esto
uint8_t readCapacitivePin (int pinToMeasure) {}
Variables utilizadas para traducir de Arduino a AVR pin denominación
Puerto de uint8_t volátiles *;
uint8_t volátiles * ddr;
uint8_t volátiles * pin;
Aquí traducimos el número de pin de entrada de
Número de pin del Arduino al puerto de AVR, PIN, DDR,
y que poco de estos registros nos importa.
máscara de bits bytes;
Puerto = portOutputRegister(digitalPinToPort(pinToMeasure));
DDR = portModeRegister(digitalPinToPort(pinToMeasure));
máscara de bits = digitalPinToBitMask(pinToMeasure);
PIN = portInputRegister(digitalPinToPort(pinToMeasure));
Descarga primero el pin poniendo baja y salida
* Puerto & = ~ (máscara);
* ddr | = máscara;
Delay(1);
Hacer el pin una entrada con la tensión interna sobre
* ddr & = ~ (máscara);
* Puerto | = máscara;
Ahora a ver cuánto tiempo el pin Haz tirado para arriba. Este manual desenrollarse del lazo
disminuye el número de ciclos de hardware entre cada lectura del perno,
aumentando la sensibilidad.
ciclos de uint8_t = 17;
Si (* pin & máscara) {ciclos = 0;}
else if (* pin & máscara) {ciclos = 1;}
else if (* pin & máscara) {ciclos = 2;}
else if (* pin & máscara) {ciclos = 3;}
else if (* pin & máscara) {ciclos = 4;}
else if (* pin & máscara) {ciclos = 5;}
else if (* pin & máscara) {ciclos = 6;}
else if (* pin & máscara) {ciclos = 7;}
else if (* pin & máscara) {ciclos = 8;}
else if (* pin & máscara) {ciclos = 9;}
else if (* pin & máscara) {ciclos = 10;}
else if (* pin & máscara) {ciclos = 11;}
else if (* pin & máscara) {ciclos = 12;}
else if (* pin & máscara) {ciclos = 13;}
else if (* pin & máscara) {ciclos = 14;}
else if (* pin & máscara) {ciclos = 15;}
else if (* pin & máscara) {ciclos = 16;}
Descarga el perno otra vez poniendo baja y salida
Es importante dejar los pernos bajos si quiere
ser capaz de tocar más de 1 sensor a la vez-
el sensor quedo tirado alto, cuando te toque
dos sensores, su cuerpo transferirá la carga entre
sensores.
* Puerto & = ~ (máscara);
* ddr | = máscara;
volver a ciclos;
}