Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Wrána diskuze

Stran: 1 2 [3] 4 5 ... 11
31
Vývoj / Re:Arduino a knihovny
« kdy: 18. 03. 2021, 13:10:50 »
............
zavedlo jednovláknový přístup.
.............

57 vláken ti jako nestačí hele :o :o ;D ;D ;) ;)

32
Vývoj / Re:Python 3 úprava skriptu
« kdy: 18. 03. 2021, 13:03:56 »
A tohle tomu zastavení vadit nebude?
https://diyprojects.io/drive-nema-17-stepper-motor-rpimotorlib-python-library-a4988/#.YE_HNP4o93M
Note on stopping stepper motor movements

The RpiMotorLib library does not offer any method to stop the movement in progress for stepper motors.

In an emergency or manually, the movements managed by the BYJMotor, A4988 and DRV8825 microcontrolle
...........
...........
plha!!!!!!!!!!!!!! vo tom tady jako už nejmíň dobrou čtvrhodinku hovoříme :o :o ;D ;D ;D ;D ;) ;)

btw ta knihovnička je uplně jednoduchoučká prostě si to pustí for loop ve stejným vlákně ze kterýho to bylo zavolaný a pouští si to eletriku do těch svejch pinů/nožiček  :o :D neni problem to podědění overriding metody s loopem + přidání limit switch pinu  :) ;)

Kód: [Vybrat]
..........
..............

class A4988Nema(object):
    """ Class to control a Nema bi-polar stepper motor with a A4988 also tested with DRV8825"""
    def __init__(self, direction_pin, step_pin, mode_pins, motor_type="A4988"):
        """ class init method 3 inputs
        (1) direction type=int , help=GPIO pin connected to DIR pin of IC
        (2) step_pin type=int , help=GPIO pin connected to STEP of IC
        (3) mode_pins type=tuple of 3 ints, help=GPIO pins connected to
        Microstep Resolution pins MS1-MS3 of IC
        (4) motor_type type=string, help=TYpe of motor two options: A4988 or DRV8825
        """
        self.motor_type = motor_type
        self.direction_pin = direction_pin
        self.step_pin = step_pin
        self.mode_pins = mode_pins
        GPIO.setmode(GPIO.BCM)
        GPIO.setwarnings(False)

    def resolution_set(self, steptype):
        """ method to calculate step resolution
        based on motor type and steptype"""
        if self.motor_type == "A4988":
            resolution = {'Full': (0, 0, 0),
                          'Half': (1, 0, 0),
                          '1/4': (0, 1, 0),
                          '1/8': (1, 1, 0),
                          '1/16': (1, 1, 1)}
        elif self.motor_type == "DRV8825":
            resolution = {'Full': (0, 0, 0),
                          'Half': (1, 0, 0),
                          '1/4': (0, 1, 0),
                          '1/8': (1, 1, 0),
                          '1/16': (0, 0, 1),
                          '1/32': (1, 0, 1)}
        else:
            print("Error invalid motor_type: {}".format(self.motor_type))
            quit()
       
        # error check stepmode
        if steptype in resolution:
            pass
        else:
            print("Error invalid steptype: {}".format(steptype))
            quit()

        GPIO.output(self.mode_pins, resolution[steptype])

    def motor_go(self, clockwise=False, steptype="Full",
                 steps=200, stepdelay=.005, verbose=False, initdelay=.05):
        """ motor_go,  moves stepper motor based on 6 inputs
         (1) clockwise, type=bool default=False
         help="Turn stepper counterclockwise"
         (2) steptype, type=string , default=Full help= type of drive to
         step motor 5 options
            (Full, Half, 1/4, 1/8, 1/16)
         (3) steps, type=int, default=200, help=Number of steps sequence's
         to execute. Default is one revolution , 200 in Full mode.
         (4) stepdelay, type=float, default=0.05, help=Time to wait
         (in seconds) between steps.
         (5) verbose, type=bool  type=bool default=False
         help="Write pin actions",
         (6) initdelay, type=float, default=1mS, help= Intial delay after
         GPIO pins initialized but before motor is moved.
        """
        # setup GPIO
        GPIO.setup(self.direction_pin, GPIO.OUT)
        GPIO.setup(self.step_pin, GPIO.OUT)
        GPIO.output(self.direction_pin, clockwise)
        GPIO.setup(self.mode_pins, GPIO.OUT)
        try:
            # dict resolution
            self.resolution_set(steptype)

            time.sleep(initdelay)

            for i in range(steps):
                GPIO.output(self.step_pin, True)
                time.sleep(stepdelay)
                GPIO.output(self.step_pin, False)
                time.sleep(stepdelay)
                if verbose:
                    print("Steps count {}".format(i))

        except KeyboardInterrupt:
            print("User Keyboard Interrupt : RpiMotorLib:")
        except Exception as motor_error:
            print(sys.exc_info()[0])
            print(motor_error)
            print("RpiMotorLib  : Unexpected error:")
        else:
            # print report status
            if verbose:
                print("\nRpiMotorLib, Motor Run finished, Details:.\n")
                print("Motor type = {}".format(self.motor_type))
                print("Clockwise = {}".format(clockwise))
                print("Step Type = {}".format(steptype))
                print("Number of steps = {}".format(steps))
                print("Step Delay = {}".format(stepdelay))
                print("Intial delay = {}".format(initdelay))
                print("Size of turn in degrees = {}"
                      .format(degree_calc(steps, steptype)))
        finally:
            # cleanup
            GPIO.output(self.step_pin, False)
            GPIO.output(self.direction_pin, False)
            for pin in self.mode_pins:
                GPIO.output(pin, False)
.................
.....................

33
jak si to nastavil?? :o :o

34
Vývoj / Re:Ubuntu+VS Code+OpenCV
« kdy: 11. 03. 2021, 00:14:25 »
Tak posun, knihovna už šlape. Spouštím přes terinál pomocí cmake . Ale když jeud přes VS Code Run - Code, tak mi to pořád dává chybu:
fatal error: opencv2/opencv.hpp: No such file or directory
2 | #include <opencv2/opencv.hpp>

Takže zřejmě mám chybu v nastavení VS Codu... Ale jen hádám, nemám s tím zkušenost. Napadá Vás něco?
s vscodem/vscodiem ti asi jako nepomužu se bojim :o :( na vobyč cmake maj příklady v dokumentaci hele třeba :D ;)

jinak toje jakoby furt ten samej problém s tou cestou divnou. si tu složšku '/usr/include/opencv4/' votevři v nějakým prohlížeči souborů a prohlídni sitotam ať vidíš :) ;)

eště mě napadá žeby šlo udělat symlink (zástupce) natu složšku opencv2 normálně do /usr/include
si myslim žeto celý je bug nějakej na straně  debianu/ubuntu kterej možná voni budou vopravovat tak nevim jak se to jako muže chovat zapár dní třeba ale nejvíc nejhorší coby tě mohlo potkat by asi jako bylo přeinstalovat opencv ato zase jako neni žádná tragedie veliká snad :o :o ;D ;)

Kód: [Vybrat]
sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2

35
O serveru Root.cz / Re:Čítate blogy na root.cz?
« kdy: 08. 03. 2021, 19:15:10 »
sem nevěděla že tam toho jakoby maj víc než je dycky nahlavní stránce rootu :o :D

btw já čítám blogy vodvedle hele  :) ;)
a jako uplně nejvíc čítám grétin blogísek hele protože je nejvíc nejlepší  :P :P ;D ;D ;) ;)

36
Vývoj / Re:Python 3 úprava skriptu
« kdy: 08. 03. 2021, 19:06:39 »
...............
Teda ešte raz, nestačilo by tak ako to ja poznám z programovania, jednoducho za test tlačítka pre posun žiadaným smerom vložiť ešte test na gpio pin - zopnutie koncového spínača v danom smere?
Teda stlačím tlačítko dolu, najprv sa vykoná sa test či je aktívny koncový spínač v tomto smere. Ak áno návrat  tam kde je cyklus na tlačítka pohybu. Ak nie pokračuje sa normálne ďalej. To isté pre tlačítko hore.
............
budeš muset asi jakoby couvnout trošičku dál vod tlačítka/microspínače když ho sepneš protože eletrickej čudlik muže dělat divný věci + když ho začneš mačkat protože seš blízko ale nesepneš tak namáháš/poškozuješ mechanickej senzor vlastně a pak se třeba nesepne až jako bude potřeba :o :o
btw koukni na homing 3d tiskáren tam seto řeší  :o ;)

No to teraz asi nie je hlavný problém. Keď k tomu dôjde, tak sa to snáď dá riešiť hardwérovo - ošetriť zákmity. Problém je ako do toho python scriptu tie koncové spínače čo najjednuchejšie pridať.
sou dvě jednoduchý možnosti  :o :o

pokuď ti jakoby stačí tamten 1mm krok nato abys neurval čudlik tak normálně někam nazačátku definuj nožičku na kterou bude přidělanej čudlik
Kód: [Vybrat]
LIMIT_SWITCH_PIN = 23 # čudlik třeba na gpio 23 ( vobrázek s nožičkama tady třeba hele https://pinout.xyz/# )
dolu třeba dotoho bloku 'with picamera.PiCamera:' nazačátek strč
Kód: [Vybrat]
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(LIMIT_SWITCH_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
a do tý funkce 'do_POST' za to dělání 'motor_go' si jakoby přidej nějakej test jestli je čudlik máčkutej a podle toho něco dělej :o ;)
sem tam strčila jeden krok ve vopačným směru :o :o
Kód: [Vybrat]
    def do_POST(self):
        global distance, ring_status, color, stepper, ring_status_label, step_per_mm, distance
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        if self.path == '/up':
            print("Go Up to ", distance)
            mymotortest.motor_go(False, "Full" , distance, 0.001 , False, .05)
            if GPIO.input(LIMIT_SWITCH_PIN) == GPIO.HIGH:
                print("macknutej cudlik!!!!!!!!\ncouvam!!!!!!!!!!!")
                mymotortest.motor_go(True, "Full" , distance, 0.001 , False, .05)
               
            self.send_response(301)
            self.send_header('Location', '/index.html')
            self.end_headers()
        elif self.path == '/down':
            print("Go Down to ", distance)
            mymotortest.motor_go(True, "Full" , distance, 0.001 , False, .05)
            if GPIO.input(LIMIT_SWITCH_PIN) == GPIO.HIGH:
                print("macknutej cudlik!!!!!!!!\ncouvam!!!!!!!!!!!")
                mymotortest.motor_go(False, "Full" , distance, 0.001 , False, .05)
               
            self.send_response(301)
...........
........
........


druhá víc lepšejší možnost je podědit ztý motorový knihovničky třídu A4988Nema a todleto tam jakoby všecko připsat a hlídat to tam :o :o :) ;)

37
O serveru Root.cz / Re:Redakce
« kdy: 08. 03. 2021, 11:42:05 »
Tohle podle mne neni otazka na redakci, ale na Vas: Proc krmite trolla, kdyz vam pak vadi, ze zije a roste?
ttttsssss jim to tady celý nekrmim skoro už vůbec  ;D ;D ;) ;)

39
Vývoj / Re:Python 3 úprava skriptu
« kdy: 08. 03. 2021, 11:23:04 »
original-bubo : najprv som chcel poslat hotove riesenie ako si chcela ale ked som teraz badal tvoj pristup arogantneho debilka tak mam pre teba dobru radu : pomoz si sam :)
Dostal si 4 tipy co spravit samo o sebe je to banalitka na 10 minut ale ked mas k tomu pristup ako mas vela stastia  :-*
tvl všichni ti tady jako pomáhaj jak jako mužou a teďko když ty mužeš pomoct někomu jinýmu tak takle vyvádíš........................... :o :o :-\ :-\

40
Vývoj / Re:Python 3 úprava skriptu
« kdy: 08. 03. 2021, 11:18:17 »
...............
Teda ešte raz, nestačilo by tak ako to ja poznám z programovania, jednoducho za test tlačítka pre posun žiadaným smerom vložiť ešte test na gpio pin - zopnutie koncového spínača v danom smere?
Teda stlačím tlačítko dolu, najprv sa vykoná sa test či je aktívny koncový spínač v tomto smere. Ak áno návrat  tam kde je cyklus na tlačítka pohybu. Ak nie pokračuje sa normálne ďalej. To isté pre tlačítko hore.
............
budeš muset asi jakoby couvnout trošičku dál vod tlačítka/microspínače když ho sepneš protože eletrickej čudlik muže dělat divný věci + když ho začneš mačkat protože seš blízko ale nesepneš tak namáháš/poškozuješ mechanickej senzor vlastně a pak se třeba nesepne až jako bude potřeba :o :o
btw koukni na homing 3d tiskáren tam seto řeší  :o ;)

41
Vývoj / Re:Ubuntu+VS Code+OpenCV
« kdy: 08. 03. 2021, 11:00:54 »
jj ten hlavičkovej soubor asi jako bude někde jinde jak jako řiká okalousek :o :o
když si jakoby v ubuntu vypišu instalovaný soubory balíčku libopencv-highgui-dev
Kód: [Vybrat]
dpkg-query -L libopencv-highgui-dev

tak vidim že je to nastrkalo někam semhlecem :o :o
Kód: [Vybrat]
...............
/usr/include/opencv4
/usr/include/opencv4/opencv2
/usr/include/opencv4/opencv2/highgui
/usr/include/opencv4/opencv2/highgui/highgui.hpp
/usr/include/opencv4/opencv2/highgui/highgui_c.h
/usr/include/opencv4/opencv2/highgui.hpp
...............

takže když tamto include napišeš takle třeba tak by jako mělo fungovat :o :o :) ;)
Kód: [Vybrat]
#include<opencv4/opencv2/highgui.hpp>

42
O serveru Root.cz / Re:Redakce
« kdy: 26. 02. 2021, 01:02:22 »
hlásim stejnej bug hele  ;D ;D ;) ;)

coto jakoby zase ty dva kde vyváděli ať taky jako vim?? :o :o :D ;) nic tam už nevidim nikde :o :-\
btw je dobrý si to skovávat dycky do webarchivu hele :D ;)

43
Vývoj / Re:Python 3 nenahradzuje spravne string
« kdy: 26. 02. 2021, 00:42:22 »
Citace
..........
Co chcem je odstrihnut s tych 32 posledne 4 pridat string ale nieco je zle.
.............
musíš udělat veselej xiftík :-4 :-4 ;D ;D ;) ;)
Kód: [Vybrat]
#!/usr/bin/env python3

wangaraduv_string = '0' * 32

print(wangaraduv_string)

wangaraduv_string = wangaraduv_string[:-4] + '1234'

print(wangaraduv_string)

btw celý to vipadá jako nějaký divný dělání s bitama/bytama :o ;)
víc rychlejší to bude když jakoby použiješ misto stringů bitový voperace hele a eště vo mocmocmoc strašně víc rychlejší když nato jako vemeš cffi hele  :o :o :D ;)

44
Software / Re:Youtube-dl funguje jen někdy a někde?
« kdy: 15. 01. 2021, 17:27:04 »
nejednoduší asi jako bude ripnout to normálně z vobrazovky ffmpegem nebo obs studiem  :) ;) prostě si jako hodinku počkáš než tamta božena jakoby dojede protože urychlit to tam asi jako nepude  :-\ :(

nedávno tady vo tom ježek naježil článeček nějakej o ripování ffmpegem :o ;)

btw nechápu vo co se jako s tamtou drm vochranou jako snažej. ripnout to de stejně seriál nicmoc to je a navíc z veřejnejch peněz vyrobenej :o :o

45
Vývoj / Re:Javascript HTML alarm list
« kdy: 15. 01. 2021, 12:38:39 »
máš tam na víc místech fetch
takle nějak by to asi jako mohlo fungovat podle tady hele tutoriálu :) ;)
Kód: [Vybrat]
.
.
.
.
$query =  "select TOP (5) text from alarm_list";
$result = sqlsrv_query($db, $query );
if($result === false) {
    die(print_r(sqlsrv_errors(), true));
}

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
    $output .= "<tr><td class='bg-danger'>".$row['text']. "</td></tr>";
}
$output .= '</table>';


.
.
.
.

sqlsrv_free_stmt($result);

Stran: 1 2 [3] 4 5 ... 11