Inhoudsopgave:
- Stap 1: Print deze onderdelen
- Stap 2: Upload de code
- Stap 3: Montage
- Stap 4: Monteer de onderdelen in de helm
- Stap 5: Sluit de stroom aan
Video: Duikhelm Touch Lamp - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
In dit instructable
Je zal nodig hebben
- Duikhelm of gelijkwaardig
- Neopixel-compatibele LED-ring (ik gebruikte een ring met 38 LED's)
- Wemos ESP32-bord (of gelijkwaardig)
- 3D-printer
Stap 1: Print deze onderdelen
Deze onderdelen moeten mogelijk worden aangepast als je een andere duikhelm gebruikt, ik heb geleerd dat degene die ik heb vrij algemeen is
Stap 2: Upload de code
Plaats uw ssid en wachtwoord in de code en upload deze vervolgens naar uw bord. Dit is er om OTA toe te staan nieuwe code te uploaden nadat het project is samengesteld. U moet NeoPixelBus van Makuna installeren, hier beschikbaar https://github.com/Makuna/NeoPixelBus. U moet ook de ESP32-kaartdefinities in de Arduino-omgeving installeren om dit bord te gebruiken.
//Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* wachtwoord = "Wachtwoord"; //Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int kleurverzadiging = 50; int Helderheid = 50; intR = 0; intG = 0; intB = 0; int Puls = 1600; // Halve tijd tussen pulsaties RgbColor zwart (0); // Knop Jazz float Button1_total = 0; int-afvlakking = 50; const int debounce = 5; zweven Knop1 [debounce]; bool PWR = 0; NeoPixelBus-ring (PixelCount, PixelPin); void setup() { Serial.begin(115200); Serial.println("Opstarten"); WiFi.modus (WIFI_STA); WiFi.begin(ssid, wachtwoord); while (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("Verbinding mislukt!"); vertraging (5000); //ESP.herstart(); } OTA_init(); touch_pad_init(); touchSetCycles (0x6000, 0x6000); // touch_pad_set_cnt_mode (0, TOUCH_PAD_SLOPE_7, TOUCH_PAD_TIE_OPT_HIGH); ring. Begin(); ring. Toon(); } void loop() {if (millis()<600000){ArduinoOTA.handle();} else if (wifi_timout==0){ ArduinoOTA.end(); wifi_timout = 1; WiFi.modus (WIFI_OFF); btStop(); } if (button1_capture()==1){ ring. ClearTo(black);ring. Show(); PWR = !PWR; } if (millis()<1500){PWR = 0;} if (ring. CanShow()&&PWR==1){Light(0);} delay(10); } void OTA_init(){ ArduinoOTA.onStart(() { String type; if (ArduinoOTA.getCommand() == U_FLASH) type = "sketch"; else // U_SPIFFS type = "bestandssysteem"; // OPMERKING: als SPIFFS updaten dit zou de plek zijn om SPIFFS te ontkoppelen met SPIFFS.end() Serial.println("Start updaten" + type); }).onEnd(() { Serial.println("\nEnd"); }).onProgress((unsigned int progress, unsigned int totaal) { Serial.printf("Progress: %u%%\r", (progress / (total / 100))); }).onError((ota_error_t error) { Serial.printf("Fout[%u]: ", error); if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Mislukt"); else if (error == OTA_CONNECT_ERROR) Serial.println ("Verbinding mislukt"); else if (error == OTA_RECEIVE_ERROR) Serial.println ("Ontvangen mislukt"); else if (fout == OTA_END_ERROR) Serieel. println("Einde mislukt"); }); ArduinoOTA.begin(); Serial.println("Klaar"); Serial.print("IP-adres: "); Serial.println(WiFi.localIP()); } int button1_capture(){ for (int i=0; i<(debounce-1);i++){ Button1=Button1[i+1]; } Button1[debounce-1] = (touchRead(T0)); vlotterstroom = MaxArray (Knop1); float Button1_smooth = Button1_total/smooth; // vlotterstroom = AveArray (knop1); Serial.print(Button1_smooth);Serial.print(" ");Serial.print(huidig);Serial.print(" ");Serial.println(Button1[debounce-1]); if (huidig < (0.85*Button1_smooth)){ Button1_total = 0; // werkt als een debounce return 1; }else{ Button1_total = huidig +Button1_total -Button1_smooth; } retourneer 0; } float MaxArray(float MaxMe){ float mxm = MaxMe[0]; float mnm = MaxMe[0]; voor (int i=0; imxm) { mxm = MaxMe; } } retourneer mxm; } float AveArray(float AveMe){ float totaal = 0; float gemiddelde = 0; voor (int i=0; i
Stap 3: Montage
Sluit uw bord aan zoals afgebeeld en controleer of het werkt.
Het net dat op de 'hendel' is aangesloten, fungeert als een aanraakknop. Op mijn bord is de ESP32 T0 aangesloten op D4. U moet dit controleren als u een ander bord gebruikt.
Het bevestigen van een blote draad aan deze pin zal zich hetzelfde gedragen. Als je er twee keer op drukt, wordt het laag als een nachtlampje. 3 keer een beetje helderder en 4 keer wit.
Stap 4: Monteer de onderdelen in de helm
Om de lamp in te schakelen, gebruiken we het handvat van de helm als aanraaksensor. Dit betekent dat deze geïsoleerd moet zijn van de rest van de helm. Verwijder de handgreep en bedek het contactvlak met isolatietape. Ik heb bruine tape gebruikt om het te laten opgaan in, het is blauw gemarkeerd in de afbeelding. Boor de gaten uit zodat de schroeven vrij zijn en ze aan de andere kant weer in elkaar kunnen worden gezet met enkele plastic ringen.
Sluit uw buttonpin aan op een van de hendelschroeven met behulp van een krimpconnector.
Als je van plan bent om een zwevende voeding te gebruiken (vrijwel allemaal), dan moet je op dezelfde manier een GND-pin op de body van de helm aansluiten. Om nu de lamp aan te doen, plaatst u één hand op de helm en raakt u met de andere het handvat aan.
Stap 5: Sluit de stroom aan
Schroef de micro-USB-breakout-kaart op de 3D-geprinte schotconnector en zet hem vervolgens vast met de moer.
Elke 5V DC-voeding kan in plaats daarvan worden gebruikt, maar USB-opladers zijn er in overvloed in mijn huis. Ik gebruikte een gevlochten USB-kabel om een oude flex na te bootsen en de look af te maken.
Dat is het, je bent klaar.
Als je de code wilt wijzigen om extra kleuren, effecten of timers uit te proberen, dan is het elke keer dat het wordt aangesloten gedurende de eerste 10 minuten beschikbaar als een arduino OTA-apparaat. Dit wordt dan uitgeschakeld om stroom te besparen.
Aanbevolen:
MOOD LAMP (Rodrigo Jimenez 20052): 3 stappen
MOOD LAMP (Rodrigo Jimenez 20052): Link de video en youtube: https://youtu.be/H4ghI6UAJw8
Zelfgemaakte RGB-lamp: 4 stappen
Zelfgemaakte RGB-lamp: omdat we thuis allemaal sociale afstand nemen, hebben we meer vrije tijd. Dit is een eenvoudig project dat je kunt maken om je kamer te versieren en ook te verlichten
Batterij-aangedreven lamp die wordt ingeschakeld door het gebruik van magneten! 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Lamp op batterijen die aangaat door het gebruik van magneten!: We weten dat de meeste lampen aan/uit gaan via een fysieke schakelaar. Mijn doel met dit project was om een unieke manier te creëren om de lamp gemakkelijk aan/uit te zetten zonder die klassieke schakelaar. Ik was geïntrigeerd door het idee van een lamp die tijdens dit proces van vorm veranderde
Arduino MOOD-LAMP: 4 stappen (met afbeeldingen)
Arduino MOOD-LAMP: U kunt een sfeerlamp gebruiken om een kleur te creëren die u kunt gebruiken voor een persoonlijk tintje. Mi sfeerlamp gebruik maken van programma's en Arduino-gebruik en microcontrolador de Elegoo en neopixeles. Puedes regularle cualquier color por medio de p
Lichtgevoelige lamp: 6 stappen
Lichtgevoelige lamp: dit is een project waarbij we een lichtgevoelige lamp gaan bouwen. De lamp gaat aan wanneer er minder omgevingslicht is en gaat uit wanneer het licht in uw omgeving voldoende wordt voor onze ogen om dingen rondom te zien