Senin, 04 September 2023

qtreadpyqt

import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QLabel, QPushButton, QVBoxLayout, QProgressBar from PyQt5.QtCore import QThread, QObject, pyqtSignal as Signal, pyqtSlot as Slot import time #The Worker class has two signals: #mewarisi dari sinyal qobjek #progress #completed #Kelas Pekerja akan memancarkan sinyal kemajuan #ketika sebagian pekerjaan telah #selesai dan sinyal selesai ketika pekerjaan telah selesai. class Worker(QObject): progress = Signal(int) completed = Signal(int) #Metode do_work() memiliki dekorator @Slot() (atau pyqtSlot). Dekorator @Slot() mengubah metode do_work() menjadi slot. #Dekorator @Slot() bersifat opsional. Namun, menghubungkan sinyal ke metode Python yang dihias dapat membantu mengurangi penggunaan memori dan membuatnya sedikit lebih cepat. #Metode do_work() menerima bilangan bulat. Ini mengulangi rentang mulai dari 1 hingga argumen. Dalam setiap iterasi, ia berhenti selama satu detik menggunakan time.sleep() dan memancarkan sinyal kemajuan dengan nilai saat ini menggunakan metode emit(). #Setelah selesai, metode do_work() memancarkan sinyal selesai dengan nilai nilai integer terakhir. #Berkomunikasi antara thread utama dan thread pekerja @Slot(int) def do_work(self): print ("halo") n=3 for i in range(1, n+1): time.sleep(1) self.progress.emit(5)#mengembalikan nilai v self.completed.emit(i)# mengembalikan nilai int v class MainWindow(QMainWindow): #First, create a signal in the MainWindow class: work_requested = Signal(int) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.setGeometry(100, 100, 300, 50) self.setWindowTitle('QThread Demo') # setup widget self.widget = QWidget() layout = QVBoxLayout() self.widget.setLayout(layout) self.setCentralWidget(self.widget) self.progress_bar = QProgressBar(self) self.progress_bar.setValue(0) self.btn_start = QPushButton('Start', clicked=self.start) layout.addWidget(self.progress_bar) layout.addWidget(self.btn_start) #Second, create a Worker object and worker thread: self.worker = Worker() self.worker_thread = QThread() #Third, connect the progress and completed signal of the worker object with the methods of the main window: self.worker.progress.connect(self.update_progress)#jika terdapat sinyal progres akan dijalnkan f update progres self.worker.completed.connect(self.complete) #Fourth, connect the work_requested signal of the MainWindow with the do_work method of the worker object: self.work_requested.connect(self.worker.do_work)#konek kedalam funsi dowork self.work_requested.emit(2)#menjalankan tread 2x #Fifth, move the worker to the worker thread by calling the moveToThread() method: # move worker to the worker thread self.worker.moveToThread(self.worker_thread) #Finally, start the worker thread: # start the thread self.worker_thread.start() # show the window self.show() def start(self): #self.btn_start.setEnabled(False) n =100 self.progress_bar.setMaximum(n) self.work_requested.emit(2)#menjalankan tread 2x pengganti do work funsi diclass worker def update_progress(self, v):#nilai v diambil dari emit signal progres self.progress_bar.setValue(v) def complete(self, v): self.progress_bar.setValue(v) self.btn_start.setEnabled(True) if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() sys.exit(app.exec())

Jumat, 24 September 2021

mysql comand

perintah pada mysql 
agar bisa diakses dari lan komputer diluar server
tambahkan ip server karenq kalo belum ditambahkan akan di localhost saja
berikan ijin akses dari ip lan diluar hosrt dengan cara grant all on * .* to root@'iplankomptrluar' identified 'paswordroot'
hapus hak akses dengan drop user namauser@ipaksesnya
1.masuk database =mysql --username=root --password =amin1234
2 membuat databases baru= create database namadatabase
3 melihat database yang ada=show databases
4 masuk databases =use namadatabases
5 membuat table didatabase= create table tabelku(nama varchar(20) NOT NULL PRIMARI KEY,umur int(4));
5 melihat strukture table= describe namatable
6 masukan data ke table= insert into namatable values(isi1 ,isi2);
7 melihat isi table = select * from namatable
8 melihat isi table dari kolom tertentu = select namacolomnya from namatable 
9 melihat baris dengan no id atau nama ywng afa di komponennya = select * from tableku where id=3;
menambah user pada mysql
1 create user nama@localhost identified by 'passwordnya';
2 melihat hak akses pengguna =show grants for nama@localhost;
3 hak pada akun pengguna meliputi= 
a.all privelege hak istimewa bisa semuanya
b create bisa membuat database dan table
c drop bisa hapus database dan table
d delete hapus dari table saja
e insert masukan data ke table saja
f select membaca table saja
g update memperbarui isi table
3.memberikan hak
GRANT permission1, permission2 ON
 nama_database.nama_tabel TO
 'user_database'@'localhost';
4.
  • Memberikan semua hak istimewa ke akun pengguna untuk database tertentu :
    GRANT ALL PRIVILEGES ON nama_database.* TO 'user_database'@'localhost';
  • Memberikan semua hak istimewa ke akun pengguna untuk semua database :
    GRANT ALL PRIVILEGES ON *.* TO 
  • 'user_database'@'localhost';
  • Berikan semua hak istimewa ke akun pengguna untuk tabel tertentu dari database:
    GRANT ALL PRIVILEGES ON n
  • ama_database.nama_tabel TO 'user_database'@'localhost';
  • Berikan hanya beberapa hak istimewa ke akun pengguna untuk database tertentu:
    GRANT SELECT, INSERT, DELETE ON nama_database.* TO user_database@'localhost';
  • mencabut semua hak user DROP USER 'user_database'@'localhost'

Rabu, 23 Juni 2021

parameter seting grbl

$$ lihat pengatiran grbl
$x=val simpan pengaturan grbl
$0 langkah pulsa untuk pulsa pulsa stepper 
$1 penundaan waktu menganggur dlm milidetik.setiap stepper melakukan pergerakan dan berhenti stepper akan menunda mematikan daya ke stepper.anda bis selalu menjaga agar stepper tidak los dengan memberikan nilai ini 255
$2 sinyal pulsa biasanya akan dimulai dari rendah ke tinggi dengan panjang pulsa di atir dengan $0,pulsa ini dapat diatur dimasing2 pin pulse steppernya dengan nilao biner
x y z kalo nilai bin nya 111 maka pulse dibalik semua di sumbu masing2
$3 membalikan arah stepper  nilainy sama dengan $2
$4 untuk meng membalikan pin yang digunakan untuk enablekan steper driver cukup ketik $4=1 maka pin enable akan beru ah
$5 untuk saklar pada endstop defaulnya akan aktif triger apabila dapat sinyal low karena sudah pullup di internalnya kalp mau balikan tinggal ganti ini dengan nai $5=1
$6 invert pin probe
$10 laporan setatus mesin,default mesin mengirimkan data lokasi dan laporan setatus dimirim.ada tambahan lainnya untk melihat setatus saat sedang di seting misalnya denhan urutan zyx jika anda ingin mengaktifkan laporan tambahan cukup masukan nilainya dan tambahkan misa untuk tambhan laporan posisi mesin dan posisi kerja $10=3 berikut data kodenya 
posisi mesin 1
posisi keeja 2
penyangga berencana 4
penyangga rx 8
batas pin 16
$11 belok pada saat motong dlm mm
misal saat mesn akan belok maka perlu melambat agar tidak bablasen nilai lebih rendah akan lebih hati2 dan sebaliknha
$12 toleransi untuk kehalusan potong longkaran semakin kecil nilai akan semakin halus defunya 0.02
$13 laporan waktu nyata daporkan bisa dengan ichi atau mm $13=0 unk mm
$20  batas kerja perjalanan sumbu dengam sofwatre anda bisa membatasi maksimum jarak sumbu bisa berjalan.pengatiran ini membutuhkan data homming $20=1 aktif
$21 batas keras dengan saklar diujung sumbu aktif 1.batas keras itu kritis maka akan mematikan stepper dan semuannya grbl jg kehilangan k
jejak
$22 siklus pulang bol
ini digunakan pada saat anda sedang bekerja dan lostrik mati maka data awal mulai mengerjakan bisa di ambil lagi sehinnga kita bisa memulai ulang pekerjaan dengan titik awal yang sama dengan sebelumnya.saratnya adalah mengatur sakalr di ujung sumbu dengan benar.data awal disompan di eeprom....ada banyak konfigurasi di program dengan mengedi di header file config.h
$23 homing invert misal anda pasang saklar di awal sumbu yang boasa diujung sumbu anda bisa merubahnya nai ini sama dengan nilai invert beberapa inverr lainnya
$24 umpan rumah homong....misal mesin anda akan bergerak kearah positif sampai menemulan saklar homong dan pada saat mbalik maka percepatan akan melambat disini bisa diatur dengan merubah nilai ini
$25 pada saat menvari saklar percwptan ino bisa diatir dengan nilai disini
$26 debouncing homing saklar biasanya akan debounchng saat aktif pada saat menyentuh saklar maka akan dijeda dengan nilai ini dlm mili detik
$27 pada saat selesai maka saat saklar kesentuh akan merusak homingnya dan aka merubah sehalanya maka $27 perlu diaktifkan
$120 akselarasi yaitu percepatan untuk ke laju maksimum lebih besae nilainya lebih vepat
perintah $ lainnya
$# lihat parameter kode g54 g 59 posisi yang ditentukan sebelumnya g28 g30 ofset koordinat di g92 panjang pahat dan probing
yang tidak disimpan adalah data panjang pahat. data probing
koordinat g54 dan g59 dapat dirubah melalui perintah g10 L2 Px 
g28 g30 melalui g28.1 dan g30.1
saat s# dipanggi akan mengeluarkan panjang pahat dan probing
$G status parser gcode.........belum paham
$N lihat blok start up ada 2 kode yang bosa dijalankan pada saat start up dengan menulis $N0= perintahnya dan $N1=
hati2 menyimpan perintah dengan g0 /1 g2 /3 g28/30 karena pada saat reset  start up akan membahayakan msin dan janga  perinta mengandung eeprom sprt g10/28.1/30.1
jika anda mengaktifkam homming maka akan menjalankan hominh dulu bari kode in
$c perijsa mode g
menjalankan kode gcode tapi tidak menjalankan apapun ini hanya u tuk mpde chek saja
$x bunuh kunci alarm
$RST=$ menghapus dan mengembalikan setelan default
$RST=#Menghapus dan menihilkan semua offset koordinat kerja G54-G59 dan posisi G28/30 yang disimpan di EEPROM. Ini umumnya nilai yang terlihat pada $#cetakan parameter. Ini memberikan cara mudah untuk menghapusnya tanpa harus melakukannya secara manual untuk setiap set dengan a G20 L2/20atau G28.1/30.1perintah
$RST=*Ini menghapus dan memulihkan semua data EEPROM yang digunakan oleh Grbl. Ini termasuk$$pengaturan, $#parameter, $Nbaris startup, dan$Imembangun info string. Perhatikan bahwa ini tidak menghapus seluruh EEPROM, hanya area data yang digunakan Grbl. Untuk melakukan penghapusan total, 
perintah realtime kapan aja


Kamis, 29 April 2021

seting jam ver1.0

cara seting jam masjid versi 1.0

ada 3 tombol

1.atas

2.tengah

3.bawah

*seting jadwal sholat

untul seting jadwal sholat pertama lihat ditampilan yang tidak pas jadwalnya
apa perlu ditambah apa dikurangi

misalnya subuh aturan jam 04:39 tapi ditampilan jam 04:33 maka perlu ditambah 6 6 poin

1.tekann dan tahan tombol atas sampai bunyi teet

2.cari subuh dengan tombol tengah

3.tam bahkan nilai subuh 6 poin.tombol atas untuk menambah nilai tambah poin

4.tom bol bawah untuk mengurangi nilai poin

5.untuk keluar tekan tombol tengah berulwng sampai tampilan utama

*untuk merubah jam tanggal dan tahun

1.tekann dan tahan tombol tengah sampai bunyi teet

2.tekan atas untuk menambah 
3.tekan bawah untuk mengurangi
4.tekan tengah untuk memilih tanggal jam atau tahun
5.untuk keluar tekan tombol tengah sampai menu utama
*merubah lamanya waktu antara dzan dan iqomah 
1.tekan dan tahan tombol bawah sampai bunyi teet 
2.pilih jadwal mana yang akan dirubah dengan tombol tengah
3 atas untuk menambah nilai poin bawah untuk mengurangi nilai poin
4.tekan tengah berulang kali untuk keluar sampai tampilan utama