Schaltungen

Eine einsame Lampe - Gunook

Die Einsame Lampe

Die Einsame Lampe

Inhaltsverzeichnis:

Anonim

Eine einsame Lampe ist eine Lampe, die auf Menschen in der Metropole anspielt. Die Menschen werden sich einsam fühlen, wenn kein Lärm um sie herum ist oder niemand mit ihnen spricht. Einfach so, diese einsame Lampe braucht auch die Aufmerksamkeit der Menschen. Die Leute müssen den Telefonhörer abheben, dann wird sich diese Lampe den Leuten zuwenden. Wenn über diesen Telefonhörer mit dieser Lampe gesprochen wird, schaltet sich diese Lampe ein und ändert die Helligkeit entsprechend der Lautstärke. Wenn 5 Sekunden lang kein Geräusch zu hören ist, schaltet sich diese Lampe zurück.

Zubehör:

Schritt 1: Materialien

Die Dinge, die Sie brauchen:

1. Arduino Nano

2. Steckbrett in halber Größe

3. Ausbruch des kapazitiven 12-Tasten-Berührungssensors von Adafruit

4.Electret Mikrofonverstärker

5.USB Glühbirne

6. USB-Breakout Typ A für Frauen

6.Standard Servomotor

7. Kupferfolienband

8.Container

9. Klebepistole

10. Überbrückungskabel

Schritt 2: Schaltung

Schritt 3: Code

#umfassen
#umfassen #include "Adafruit_MPR121.h"

Adafruit_MPR121 cap = Adafruit_MPR121 ();

int pos = 0; Servo myservo;

const int ledPin1 = 13; const int ledPin2 = 11; bool greenOn = false;

uint16_t lasttouched = 0; uint16_t currtouched = 0;

int soundSensorPin = A0; int soundReading = 0;

vorzeichenloses langes lastEvent = 0; boolean ledOn = false; vorzeichenlose lange lastTalkTime = 0;

void setup () {// Gib deinen Setup-Code hier ein, damit er einmal ausgeführt wird: Serial.begin (9600); myservo.attach (9); pinMode (ledPin1, OUTPUT); pinMode (ledPin2, OUTPUT);

while (! Serial) {// musste verhindern, dass leonardo / micro zu schnell startet! Verzögerung (10); }

if (! cap.begin (0x5A)) {Serial.println ("MPR121 nicht gefunden, Verdrahtung prüfen?"); während (1); }}

void loop () {// Gib deinen Hauptcode hier ein, damit er wiederholt ausgeführt wird: currtouched = cap.touched (); // Serial.println (aktuell);

for (uint8_t i = 0; i <12; i ++) {// Wenn * berührt wird * und * nicht * berührt wurde, warne! if ((currtouched & _BV (i)) &&! (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("berührt"); Serial.println (millis () - lastEvent); if (millis () - lastEvent> 50) {// schalte die LED um und setze den Ausgang ledOn = true; lastTalkTime = millis (); digitalWrite (ledPin1, ledOn? HIGH: LOW); } lastEvent = millis (); } // Wenn es * berührt * wurde und jetzt * nicht * ist, sei wachsam! if (! (currtouched & _BV (i)) && (lasttouched & _BV (i))) {Serial.print (i); Serial.println ("freigegeben"); lastEvent = 0; ledOn = false; }} lasttouched = currtouched; if (ledOn) {pos = 180; myservo.write (pos); soundReading = analogRead (soundSensorPin); // Serial.println (soundReading);

if (pos = 180 && soundReading> 800) {lastTalkTime = millis (); greenOn = true; } if (millis () - lastTalkTime> 8000) {ledOn = false; } else if (millis () - lastTalkTime> 800) {greenOn = false; } // Serial.println (ledOn); } else {pos = 0; greenOn = false; myservo.write (pos); digitalWrite (ledPin1, LOW); } // Serial.print (greenOn); Serial.println (soundReading); if (greenOn) {int outputValue = map (soundReading, 800, 1023, 0, 255); analogWrite (ledPin2, outputValue); } else {digitalWrite (ledPin2, greenOn); } delay (100); }

Schritt 4: Wickeln Sie es ein

Setzen Sie Arduino unten.

Machen Sie eine zweite feste Schicht, um den Servomotor stabil zu kleben.

Ich habe einen Telefonhörer gemacht.

Ich habe den Geräuschsensor und die Überbrückungskabel, die mit dem Berührungssensor verbunden sind, in das Mobilteil gesteckt. Dann löte ich Überbrückungsdrähte mit leitenden Bändern auf dem Mobilteil.

Dann habe ich mit Wollgarn Drähte verziert.

Schritt 5: Demo