Skocz do zawartości

Dominik111

Użytkownicy
  • Zawartość

    6
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Dominik111

  • Ranga
    2/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Cześć Chce stworzyć fontanne z pomocą tego poradnika Link Jest tam wstawiony kod do arduino. Mógłby ktoś zerknąć na niego? Bo coś mi w nim nie pasuje //jolliFactory - JF Time Fountain V1.0 //Please visit our instructable at https://www.instructables.com/id/JF-Time-Fountain/ for more detail #include <PWM.h> // PWM Frequency library available at https://code.google.com/archive/p/arduino-pwm-frequency-library/downloads //#define DEBUG //uncomment to check serial monitor and see LED heartbeat //Tactile Switch needs to be pressed longer in debug mode to change mode #define BASE_FREQ 45 #define MIN_FREQUENCY_OFFSET -8.0 #define MAX_FREQUENCY_OFFSET 8.0 #define MIN_BRIGHTNESS 2 #define MAX_BRIGHTNESS 10.0 #define NumofModes 4 // Number of Operational modes const byte SValve = 3; // pin for Solenoid Valve const byte Sensor = 4; // pin for photoelectric sensor const byte Water_pump = 5; // pin for Water pump control const byte ButtonSW = 6; // pin for mode selection button const byte LED_strip = 10; // pin for LED strip control const byte LED = 13; // pin for on-board LED boolean led_on = true; boolean mode_changed = true; boolean increaseFrequency_led = true; byte mode = 1; //toggle with button SW //mode 1 = normal mode (power on) //mode 2 = demo mode //mode 3 = levitation mode //mode 4 = light off mode byte buttonState = 0; byte lastButtonState = 0; byte val_Sensor = 0; float frequency_offset = 0.1; float duty_sValve = 18; float frequency_sValve = BASE_FREQ; float duty_led = 7; float frequency_led = frequency_sValve+frequency_offset; float totalcount = 0; int lastBrightnessValue = 0; int pumpIntensity = 0; //********************************************************************************************************************************************************** void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); // Heart Beat LED pinMode(ButtonSW, INPUT_PULLUP); // Mode button pinMode(Water_pump, OUTPUT); // Water_pump pinMode(Sensor, INPUT); // Sensor //initialize all timers except for 0, to save time keeping functions InitTimersSafe(); //sets the frequency for the specified pin bool success = SetPinFrequencySafe(LED_strip, frequency_led); bool success2 = SetPinFrequencySafe(SValve, frequency_sValve); //if the pin frequency was set successfully, turn LED on if(success and success2) digitalWrite(LED, HIGH); } //********************************************************************************************************************************************************** void loop() { if (mode_changed == true) { if (mode == 1) //normal mode { frequency_sValve = BASE_FREQ; sValve_on(); led_on = true; } else if (mode == 2) // demo mode { //frequency_led shall change in main loop } else if (mode == 3) // levitation mode { frequency_led = BASE_FREQ; } else if (mode == 4) // Light off but water pump is still on { led_on = false; } mode_changed = false; } // ******************************************************************************* pumpIntensity = map(analogRead(A2), 0, 1023, 100, 255); waterPump_on(); // ******************************************************************************* val_Sensor = digitalRead(Sensor); // read the sensor pin if (mode == 1) { if (val_Sensor == 1) // sensor unblocked { frequency_offset = -(MAX_FREQUENCY_OFFSET-MIN_FREQUENCY_OFFSET)/1023L*analogRead(A1)+MAX_FREQUENCY_OFFSET; totalcount = 0; } else //sensor blocked { totalcount = totalcount + 0.001; frequency_offset = -(MAX_FREQUENCY_OFFSET-MIN_FREQUENCY_OFFSET)/1023L*analogRead(A1)+MAX_FREQUENCY_OFFSET + totalcount; if (frequency_offset < MIN_FREQUENCY_OFFSET) frequency_offset = MIN_FREQUENCY_OFFSET; if (frequency_offset > MAX_FREQUENCY_OFFSET) frequency_offset = MAX_FREQUENCY_OFFSET; } } else frequency_offset = -(MAX_FREQUENCY_OFFSET-MIN_FREQUENCY_OFFSET)/1023L*analogRead(A1)+MAX_FREQUENCY_OFFSET; // ******************************************************************************* if (led_on == true) { duty_led = -(MAX_BRIGHTNESS-MIN_BRIGHTNESS)/1023L*analogRead(A0)+MAX_BRIGHTNESS; if (mode == 2) // demo mode { if (frequency_led <= (BASE_FREQ + MIN_FREQUENCY_OFFSET) + 2) { increaseFrequency_led = true; totalcount = 0; } else if (frequency_led >= (BASE_FREQ + MAX_FREQUENCY_OFFSET) - 2) { increaseFrequency_led = false; totalcount = 0; } else if ((frequency_led > (BASE_FREQ - 1)) and (frequency_led < (BASE_FREQ + 1))) // Slow down when frequency of LED is near to Base Frequency - water droplets about to levitate { delay(360); } totalcount = totalcount + 0.001; if (increaseFrequency_led == true) frequency_led += totalcount; else frequency_led -= totalcount; delay(120); } else if (mode == 1) frequency_led = frequency_sValve+frequency_offset; SetPinFrequencySafe(LED_strip, frequency_led); if (lastBrightnessValue < round(duty_led*255/100)) //previously dimmer - gradually bright it { for (int i=lastBrightnessValue; i<round(duty_led*255/100); i++) { pwmWrite(LED_strip, i); delay(30); } } else if (lastBrightnessValue > round(duty_led*255/100)) //previously brighter - gradually dim it { for (int i=lastBrightnessValue; i>round(duty_led*255/100); i--) { pwmWrite(LED_strip, i); delay(30); } } else //no change in brightness pwmWrite(LED_strip, round(duty_led*255/100)); lastBrightnessValue = round(duty_led*255/100); } else { //gradually dim off for (int i=round(duty_led*255/100); i>0; i--) { pwmWrite(LED_strip, i); delay(30); } duty_led = 0; pwmWrite(LED_strip, 0); lastBrightnessValue = 0; } // ******************************************************************************* #ifdef DEBUG //Heatbeat on-board LED digitalWrite(LED, HIGH); delay(300); digitalWrite(LED, LOW); delay(300); digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); delay(1200); //serial print current parameters Serial.print("Mode: "); Serial.print(mode); Serial.print(" Frequency Offset: "); Serial.print(frequency_offset); Serial.print(" Force: "); Serial.print(duty_sValve); Serial.print(" Freq Valve: "); Serial.print(frequency_sValve); Serial.print(" Freq LED: "); Serial.print(frequency_led); Serial.print(" Brightness: "); Serial.println(duty_led); #endif // ******************************************************************************* // read the button SW buttonState = digitalRead(ButtonSW); // compare the buttonState to its previous state if (buttonState != lastButtonState) { // if the state has changed, increment the mode count if (buttonState == LOW) { mode++; if (mode > NumofModes) mode = 1; //rotary menu mode_changed = true ; } // delay a little bit for button debouncing delay(50); } lastButtonState = buttonState; } //********************************************************************************************************************************************************** void sValve_on() { pwmWrite(SValve, 115); } //********************************************************************************************************************************************************** void sValve_off() { pwmWrite(SValve, 0); } //********************************************************************************************************************************************************** void waterPump_on() { analogWrite(Water_pump,pumpIntensity); } //********************************************************************************************************************************************************** void waterPump_off() { analogWrite(Water_pump,0); }
  2. Racja , musiałem zapomnieć dodać Dzięki za czujność.
  3. Dzień dobry Zlece projekt płytki PCB. Mam tylko zdjęcie jak ma wyglądać ta płytka. Proszę o propozycje na priv wraz z cenę zaprojektowania takiej płytki.
  4. Spodziewałem się, że może tak być W takim razie pozostaje mieć nadzieje że dji lub konkurencja w ciągu roku wypuści jakiś super mobilny dron.
  5. Budżet właściwie bez limitu, ale powiedzmy na ten moment 2,5k zł (z każdym miesiącem większy) Z połączeniem podzespołów nie będę miał problemu, lutowanie itp nie jest mi obce. Natomiast tak jak wspomniałem po złożeniu drona chciałbym komuś zlecić programowanie, ponieważ jestem w tym zielony. Zdaje sobie sprawe, że projekt nie jest prosty ale jest to jedno z moich marzeń Dlatego też chce go robić przez rok a nie w ciągu miesiąca.
  6. Witam wszyskich jestem nowy na forum. Mam ambitny projekt stworzenia "selfie drona" do mojego wyjazdu w przyszłe wakacje. Na internecie widziałem wiele projektów takich dronów lecz żaden z nich nie dostarczał wystarczającej jakości nagrań i zdjęć. Podstawowe założenia projektu to: - mała masa drona (aby przy nagrywaniu nie potrzeba było żadnych dodatkowych uprawnień) - mobilność (niewielkie wymiary oraz składane ramiona), żeby można było go dosłownie wsadzić do kieszeni - jakość zdjęć i nagrań musi być "przyjemna dla oka" (aby można było spokojnie takie zdjęcie/wideo wrzucić na fb/instagrama) - sterowanie z poziomu smartfona - działanie na jednej baterii minimum 15 minut Wygłąd (chciałbym się wzorować na istniejących projektach selfie dronów) : dron na którym chciałbym się wzorować złożony dron Inny dron, na którym chciałbym się wzorować 3 dron Chciałbym się wzorować głównie na 1 dronie. Funkcje: - robienie zdjęć, nagrywanie wideo - podgląd na żywo - follow me - omijanie przeszkód (chciałbym wykorzystać do tego czujnik ultradźwiękowy lub czujnik podczerwieni) - składane ramiona Ogólnie wiem czego mniej więcej chce, ale problem w tym że nigdy nie składałem żadnego drona sam. Mile widziane tutoriale itp. Wiem mniej więcej jakich zespołów będę potrzebował (wszelkie sugestie dotyczące marki i modelu miło widziane). Ramę i obudowę chciałbym wydrukować w drukarce 3d. Jedym z moich największych problemów jest kamera. Nie mam pojęcia skąd wziąć kamere która by nagrywała w dobrej jakości i była wystarczająco mała i lekka. Na internecie można znaleźć sporo małych kamer do dronów, lecz ich jakość pozostawia wiele do życzenia. Chciałbym osiągnąć jakość porównywalną do tej z Dji Spark. Ma ktoś wiedze gdzie mogę zdobyć taką kamerę? Myślałem nad użyciem używanej kamery z wyżej wymienionego drona. Zastanawiam się jak mogę sterować dronem z poziomu smartfona (jakaś aplikacja?). Programowanie drona chciałbym zlecić po złożeniu drona osobie, która się na tym zna. Ponieważ ja nie mam o tym zbyt dużego pojęcia. Co myślicie o takim projekcie? Jest realne zrobienie go przez osobę początkującą? (wiem, że ogólnie zrobienie podobnego drona jest możliwe LINK) Wszelkie uwagi, sugestie, krytyka mile widziane
×
×
  • Utwórz nowe...