Stap 5: Cap Sensor hulpmiddel van de diagnostiek
Omdat er zoveel variabelen die bepalen hoe sterk het signaal is, besloten hebben we dat het zou een goed idee om een soort instrument dat zou geven ons de mogelijkheid om te bepalen hoe geschikt een sensor zou in één oogopslag. Wat we kwamen met is een Arduino-apparaat dat kan worden aangesloten op elk oppervlak met een LED-staafdiagram die volgens hoe sterk het signaal ontvangen van het oppervlak is zal oplichten. Aangezien de lezing van één oppervlak mogelijk vertienvoudigd dat wij van een ander oppervlak, ook twee gevoeligheid knoppen opgenomen. Één voor de minimale lezing, en één voor het maximum. Door middel van testen vonden we dat u hoeft echt alleen de maximale lezing knop, dus voel je vrij om uit te sluiten van de lagere drempel-knop. We gebruikten niet eventuele weerstanden voor onze LEDs, en na het gebruik van het apparaat voor een paar dagen, het werkt nog steeds prima, maar er is niet te zeggen of en wanneer zullen ze stoppen met werken. Als u kiest om het gebruik van de weerstanden, is het waarschijnlijk een goed idee om hen tot 5V in plaats van 3.3V vasthaken.
U moet:
1 x Arduino de Raad. We gebruikten een Arduino Uno.
10 x LEDs. We gebruikt één rood, zeven blanken en twee blues, maar gebruiken wat u willen/hebben.
2 x Potentiometers. U kunt een uitsluiten als u wilt, zoals het nut van een knop waarmee de lagere drempel van het apparaat twijfelachtig is.
7 x 4,7 MOhm weerstanden. Dat is wat we gebruikt, maar u kunt desgewenst een ander bedrag gebruiken. De meer weerstanden die je hebt, hoe groter de weerstand bereik u kunt verkennen. De lagere waarden hebben, hoe hoger de resolutie van het bereik van de weerstand.
Elektrische kabels
Breadboard (optioneel)
Stap 1: Kabellengte tot alles zoals wordt weergegeven in het diagram fritzing.
Stap 2: Stel een nieuwe Arduino schets open en Kleef in de onderstaande code. De code wordt een smoothing functie gebruikt voor een meer stabiele output. We deze code gebruikt om het staafdiagram LED verlichting up correct, waardoor slechts geringe wijzigingen.
#include
Const int ledCount = 10; het aantal LEDs in de staafdiagram
Const lange numReadings = 10;
int sensorPin1 = 0;
int sensorPin2 = a1 worden verkregen;
lange lezingen [numReadings];
lang index = 0;
lang totaal = 0;
lang gemiddelde = 0;
int ledPins [] = {4, 5, 6, 7,8,9,10,11,12,13}; een matrix van pin-codes die LEDs zijn aangesloten
CapacitiveSensor cs_3_2 = CapacitiveSensor(3,2);
VOID Setup {}
lus over de pin-array en zet ze allemaal aan output:
cs_3_2.set_CS_AutocaL_Millis(0xFFFFFFFF);
Serial.begin(9600);
voor (int thisReading = 0; thisReading < numReadings; thisReading ++) lezingen [thisReading] = 0;
voor (int thisLed = 0; thisLed < ledCount; thisLed ++) {pinMode (ledPins [thisLed], OUTPUT);} pinMode(sensorPin1,INPUT); pinMode(sensorPin2,INPUT);
}
void loop {}
int de bodem;
int de top;
bodem = analogRead(sensorPin1);
Top = analogRead(sensorPin2);
int bottommap;
int topmap;
bottommap = map(bottom,0,1023,0,3000);
topmap = map(top,0,1023,100,30000);
lang starten = millis();
lange total1 = cs_3_2.capacitiveSensor(30);
totaal = totaal - lezingen [index];
lezingen [index] = total1;
totaal = totaal + lezingen [index];
index = index + 1;
Als (index > = numReadings)
index = 0;
gemiddelde = totaal / numReadings;
Serial.Print(Millis() - start);
Serial.Print("\t");
Serial.Print(bottom); Serial.Print("\t");
Serial.Print(top);
Serial.Print("\t");
Serial.println(Average);
delay(10);
int sensorReading = gemiddelde;
int ledLevel = kaart (sensorReading, bottommap, topmap, 0, ledCount);
voor (int thisLed = 0; thisLed < ledCount; thisLed ++) {}
Als (thisLed < ledLevel) {}
digitalWrite (ledPins [thisLed], laag); }
else {digitalWrite (ledPins [thisLed], hoge);}}
}
Stap 3: U bent klaar! Compileren en uploaden de schets aan de Arduino en u zou kunnen krijgen een meer grafische output van de signaalsterkte. Toevoegen of verwijderen van weerstanden te vergroten of verkleinen van de sterkte van het signaal. Meer weerstanden betekent meer kracht. We een reeks weerstanden op een aparte breadboard gemonteerd zodat we de weerstand sneller veranderen kunnen. Draai de potentiometer aangesloten op A1 te verhogen of verlagen van de gevoeligheid.