hi samen,
vandaag wil ik u een project dat is zo geniaal als eenvoudig. We hebben dit op Arduino.cc gevonden: Blow out deze Arduino LEIDDE .
Dit project voorstel is gericht aan iedereen die graag Sleutelen en proberen. In de meeste van onze projecten is het enige exemplaar van de Code op de Controller en kabel, dan is alles. We hebben het gebruikt, in de afwezigheid van Hardware, een beetje tijd om te vinden van de juiste onderdelen en gecoördineerd.
Het werk principe:
Bij gebruik van een LED-veroorzaakt door de stroom die door de warmte op de zender kristal. De warmere een LED in werking is, hoe hoger de interne toestand. Koelen We een LED, bijvoorbeeld door een klap op, of koude spray, deze zal afnemen en registreren wij een spanningsval.
[zoals je hier kunt zien hebben we onze LED met de verkeerde kleuren wired]
De Hardware:
In het voorbeeld, een 220 Ohm weerstand en een glas-in-lood 0402 SMD Led gebruikt. U hebt deze Hardware kunt u de volgende Schets zonder grote Wijzigingen, is het slechts een kleine aanpassing hier en daar nodig. Dit is omdat de Wijzigingen van de spanning is gering, en de milieu-omstandigheden sterk variëren.
De Code:
// Blow Out LED-Ave creëert een LED die je kunt uitblazen. Het automatisch relights na 2 seconden ingedrukt // // Copyright 2018, Paul H. Dietz // LED-Verbindingen #define PLUS A1 // Hoge zijde van de weerstand #define MAATREGEL A0 // Lage kant van de weerstand en de anode van de LED - // Kathode van de LED naar de grond gaat #define NUMSAMPLES 10 // Aantal monsters te houden #define MINJUMP 150 // Minimum springen voor de blow out, lange int gevoel gegevens[NUMSAMPLES]; int dataptr = 0; , int buffull = 0; void setup() { Seriële.beginnen(250000); // Initialiseren van de seriële communicatie pinMode(MAATREGEL, INGANG); pinMode(PLUS, UITGANG); digitalWrite(PLUS, HIGH); // Zet de LED } void loop() { int cnt; lang int som, = 0; // Som van 256 adc metingen (te verminderen adc ruis) voor (cnt = 0; cnt < 256; cnt++) { som = som + analogRead(MAATREGEL); } Seriële.println(som); // Output som, zo kunnen we kijken met de Seriële Plotter // Vergelijken met de huidige meting te oudste als buffer vol als (buffull && (som > (gevoel gegevens[dataptr] + MINJUMP))) { // drop van de Temperatuur overschreden minimum - zet digitalWrite(PLUS, LAGE); dataptr = 0; // Initialiseren van de buffer buffull = 0; vertraging(2000); // uit-tijd voor LED digitalWrite(PLUS, HOGE); } anders { sense data[dataptr] = som; // Sla de meest recente gegevens in de buffer dataptr++; // Update buffer aanwijzer als (dataptr == NUMSAMPLES) { // Controleren of dataptr ging voorbij het einde dataptr = 0; // Reset de dataptr naar het begin buffull = 1; // Mark dat er een buffer is vol } } }
Veel plezier met knutselen en probeer het eens :)