31
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.
32
Vývoj / Re:Python 3 úprava skriptu
« kdy: 18. 03. 2021, 13:03:56 »A tohle tomu zastavení vadit nebude?plha!!!!!!!!!!!!!! vo tom tady jako už nejmíň dobrou čtvrhodinku hovoříme
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
...........
...........

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
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
Desktop / Re:Editace menu Application Launcher v KDE na prostředním tlačítku
« kdy: 18. 03. 2021, 12:55:02 »
jak si to nastavil??
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:s vscodem/vscodiem ti asi jako nepomužu se bojim
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?
na vobyč cmake maj příklady v dokumentaci hele třeba

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

Kód: [Vybrat]
sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2
36
Vývoj / Re:Python 3 úprava skriptu
« kdy: 08. 03. 2021, 19:06:39 »sou dvě jednoduchý možnosti...............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
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.
............![]()
btw koukni na homing 3d tiskáren tam seto řeší![]()
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ť.

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

sem tam strčila jeden krok ve vopačným směru

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
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
38
Studium a uplatnění / Re:Programátoři, co pracovali pro stát jsou nepoužitelní?
« kdy: 08. 03. 2021, 11:25:58 »
dzurilla
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 samtvl 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íš...........................
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
40
Vývoj / Re:Python 3 úprava skriptu
« kdy: 08. 03. 2021, 11:18:17 »...............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
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.
............

btw koukni na homing 3d tiskáren tam seto řeší

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

když si jakoby v ubuntu vypišu instalovaný soubory balíčku libopencv-highgui-dev
tak vidim že je to nastrkalo někam semhlecem

takže když tamto include napišeš takle třeba tak by jako mělo fungovat


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

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

Kód: [Vybrat]
#include<opencv4/opencv2/highgui.hpp>
43
Vývoj / Re:Python 3 nenahradzuje spravne string
« kdy: 26. 02. 2021, 00:42:22 »Citace
..........musíš udělat veselej xiftík :-4 :-4
Co chcem je odstrihnut s tych 32 posledne 4 pridat string ale nieco je zle.
.............

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

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
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

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
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

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
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

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);
