https://www.progressiveautomations.com/blogs/products/inside-an-electric-linear-actuator
Abdurrahman Tunç
Bloğuma hoşgeldiniz... Duşuncelerimi ve uğraşlarımı incelemeniz dileğiyle...
11 Mayıs 2021 Salı
15 Mart 2021 Pazartesi
Bug'u var ama idare et ilk kodlar
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QThread,pyqtSignal
from PyQt5.QtCore import pyqtSlot
import time
import os
import sys
import datetime
import sqlite3
import serial
import subprocess
from sutmatik2a import Ui_Form
import smtplib
import ssl
#
#
# bu kodlar okey gelenveri değişkenini takip et
#
#
#
global sira
sira=0
global deneme
deneme=0
global sicaklik
sicaklik="0"
global seriport
global vsut
vsut=0.0
global ld
ld=0
global kalann
kalann=0
global verilen
verilen =0
global pp
pp=1
global gsay
gsay=0
global sicaksayac
sicaksayac=0
global config
config=0
global sifre
sifre=0
def sport():
#
try:
global seriport
seriport=serial.Serial(port="COM3",baudrate=9600,bytesize=8,timeout=2,stopbits=serial.STOPBITS_ONE,parity=serial.PARITY_NONE)
seriport.close()
if seriport.is_open!=True:
seriport.open()
seriport.write(b'trtrtxkxaa')
except:
print("seri haberlesme hatasi")
sport()
def veritabaniolustur():
con=sqlite3.connect("sicaklikverisi.db")
cursor=con.cursor()
cursor.execute("create table if not exists durum(sira text,zaman text,sicaklik text,kalan text,verilen text)")
con.commit()
con.close()
def veritabaninadegerekle():
global saat
global dakika
global saniye
zaman=datetime.datetime.now()
yil=zaman.year
ay=zaman.month
gun=zaman.day
saat=zaman.hour
dakika=zaman.minute
saniye=zaman.second
global sira
dosya=open("s.txt")
sirano=dosya.readlines()
siradegeri=sirano[0]
sira=int(siradegeri)
dosya.close()
sira=sira+1
sira=str(sira)
global zaman2
zaman2=str(yil)+":"+str(ay)+":"+str(gun)+"-"+str(saat)+":"+str(dakika)
con=sqlite3.connect("sicaklikverisi.db")
cursor=con.cursor()
cursor.execute("insert into durum('sira','zaman','sicaklik','kalan','verilen') values('"+str(sira)+"','"+str(zaman2)+"','"+str(sicaklik)+"','"+str(kalann)+"','"+str(verilen)+"')")
con.commit()
con.close()
dosya=open("s.txt","w")
dosya.write(str(sira))
dosya.close()
veritabaniolustur()
veritabaninadegerekle()
class serii(QThread):
gelenveri=pyqtSignal(str) # int ve str degiskenler tnaımlanırken signalde
def run(self):
self.inn=0
while(True):
ui.label7.setText(str(zaman2))
time.sleep(0.3)
try:
gelen=seriport.readline().decode("utf8")
except:
print("seri okuma hatasi")
seriport.close()
sport()
gelen="yok"
global inn
self.inn=self.inn+1
self.gelenveri.emit(str(gelen))
gelen2= gelen
if(gelen!=""):
pass
#
#print("g.:>>>"+str(gelen))
if(self.inn>15):
if(pp==1):
#
tiktok="trtrtxkxaa"
seriport.write(tiktok.encode())
self.inn=0
#print("ping")
else:
print("ping engelli")
self.inn=0
class ping(QThread):
# veri tabanına degerler eklenecek yer
def run(self):
#
veritabaniolustur()
while(True):
veritabaninadegerekle()
for b in range (7):
for c in range(60):
#
time.sleep(1)
class xas():
#
global deneme
deneme=0
def __init__(self):
import sys
global app
global Form
global ui
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
sys._excepthook = sys.excepthook
def exception_hook(exctype, value, traceback):
print(exctype, value, traceback)
sys._excepthook(exctype, value, traceback)
sys.exit(1)
sys.excepthook = exception_hook
c=open("config.txt","r")
cveri=c.readline()
cveri2=cveri.split(":")
if(config==0):
ui.lineEdit.setText(str(cveri2[1]))
ui.lineEdit_2.setText(str(cveri2[3]))
ui.lineEdit_3.setText(str(cveri2[5]))
c.close()
# butonlarrr
ui.pushButton.clicked.connect(self.doldur) # doldur
ui.pushButton2.clicked.connect(self.iptall) # iptal
ui.pushButton3.clicked.connect(self.yarim) # yarimlitre
ui.pushButton4.clicked.connect(self.birlitre) # 1 litre
ui.pushButton5.clicked.connect(self.ikilitre) # 2 litre
ui.pushButton6.clicked.connect(self.uclitre) # 3 litre
ui.pushButton7.clicked.connect(self.dortlitre) # 4 litre
ui.pushButton_8.clicked.connect(self.beslitre) # 5 litre
ui.pushButton_2.clicked.connect(self.kaydet) # kaydet fonk
ui.pushButton_3.clicked.connect(self.tarihayarla) # tarih ayarlar fonk
ui.pushButton_4.clicked.connect(self.mailayarla) # mail ayarlama kodu
ui.pushButton_5.clicked.connect(self.kaydetsifre)
self.verial()
Form.show()
def cik():
seriport.close()
app.exec_()
quit()
sys.exit(cik())
# def init fonk sonu
def kaydetsifre(self):
global sifre
sifre=0
c=open("config2.txt","r")
cd=c.readline()
c.close()
sifretext=ui.lineEdit_12.text()
if(sifretext==cd):
sifre=1
ui.lineEdit_12.setText("aktif")
else:
ui.lineEdit_12.setText("hatali")
def mailayarla(self):
self.gondericimail=ui.lineEdit_9.text()
self.gondericisifre=ui.lineEdit_10.text()
self.hedefmail=ui.lineEdit_11.text()
mail=open("mail.txt","w")
mail.writelines("gonderici:"+str(self.gondericimail)+":")
mail.writelines("sifre:"+str(self.gondericisifre)+":")
mail.writelines("hedef:"+str(self.hedefmail)+":")
mail.close()
def tarihayarla(self):
self.dakka=ui.lineEdit_4.text()
self.saat=ui.lineEdit_5.text()
self.gun=ui.lineEdit_6.text()
self.ay=ui.lineEdit_7.text()
self.yil=ui.lineEdit_8.text()
#os.system("sh "+"/home/pi/Desktop/new.sh")
#sudo date -s"2020-03-05 18:28:00"
ayarstr='-s"2020-03-05 18:28:00"'
ayarstr='-s"'+str(self.yil)+'-'+str(self.ay)+'-'+str(self.gun)+' '+str(self.saat)+':'+str(self.dakka)+':00"'
os.system("sudo date "+ayarstr)
time.sleep(1)
os.system("sudo reboot")
def iptall(self):
global pp
pp=0
seriport.write(b'ppppppcccp')
time.sleep(1)
seriport.write(b'ppppppcccp')
time.sleep(0.3)
seriport.write(b'ppppppcccp')
ui.pushButton.setStyleSheet("background-color:blue\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
pp=1
def kaydet(self):
global pulse
global tankhacmi
global karistirmadakika
global pp
pp=0
pulse=ui.lineEdit.text()
#ui.label_102.setText(str(pulse))
if(sifre==1):
tankhacmi=ui.lineEdit_3.text()
ui.lineEdit_12.setText("kaydedildi")
time.sleep(0.5)
else:
c=open("config.txt","r")
cs=c.readline()
cs2=cs.split(":")
tankhacmi=cs2[5]
c.close()
ui.lineEdit_12.setText("sifre gir")
#ui.label_104.setText(str(tankhacmi))
karistirmadakika=ui.lineEdit_2.text()
#ui.label_103.setText(str(karistirmadakika))
#maxsicaklik=ui.lineEdit_9.text()
#minsicaklik=ui.lineEdit_10.text()
ayarverisi=str(karistirmadakika)+str(pulse)+"ae"+str(tankhacmi)
seriport.write(ayarverisi.encode())
dosya2=open("kalan.txt","w")
dosya2.write(str(tankhacmi))
dosya2.close()
pp=1
configverisi="pulse:"+str(pulse)+":karistici:"+str(karistirmadakika)+":sutmiktari:"+str(tankhacmi)+":"
c=open("config.txt","w")
c.write(str(configverisi))
c.close()
def yarim(self):
global litrex
global ld
global gsay
global pp
pp=0
gsay=gsay+1
if(gsay==2):
litrex="55q1zdyyyy"
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
ui.pushButton3.setStyleSheet("background-color:orange\n")
ld=1
gsay=0
elif(gsay==1):
#print("yarim")
seriport.write(b'atbkotcggg')
ui.pushButton3.setStyleSheet("background-color:black\n")
elif(gsay>2) :
gsay=0
pp=1
vsut=0.5
def birlitre(self):
global litrex
global ld
global gsay
global pp
pp=0
gsay=gsay+1
if(gsay==2):
litrex="01w1zdyyyy"
ui.pushButton4.setStyleSheet("background-color:orange\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
#ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
ld=1
gsay=0
elif(gsay==1):
seriport.write(b'atbkotcggg')
ui.pushButton4.setStyleSheet("background-color:black\n")
elif(gsay>2):
gsay=0
vsut=1.0
pp=1
def ikilitre(self):
global litrex
global ld
global pp
pp=0
global gsay
gsay=gsay+1
if(gsay==2):
litrex="02e1zdyyyy"
ui.pushButton5.setStyleSheet("background-color:orange\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
#ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
ld=1
gsay=0
elif(gsay==1):
seriport.write(b'atbkotcggg')
ui.pushButton5.setStyleSheet("background-color:black\n")
elif(gsay>2):
gsay=0
vsut=2.0
pp=1
def uclitre(self):
global litrex
global ld
global gsay
global pp
pp=0
gsay=gsay+1
if(gsay==1):
seriport.write(b'atbkotcggg')
ui.pushButton6.setStyleSheet("background-color:black\n")
elif(gsay==2):
litrex="03r1zdyyyy"
ui.pushButton6.setStyleSheet("background-color:orange\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
#ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
ld=1
gsay=0
elif(gsay>2):
gsay=0
vsut=3.0
pp=1
def dortlitre(self):
global litrex
global ld
global gsay
global pp
pp=0
gsay=gsay+1
if(gsay==1):
seriport.write(b'atbkotcggg')
ui.pushButton7.setStyleSheet("background-color:black\n")
elif(gsay==2):
litrex="04t1zdyyyy"
ui.pushButton7.setStyleSheet("background-color:orange\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
#ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
ld=1
gsay=0
elif(gsay>2):
gsay=0
vsut=4.0
pp=1
def beslitre(self):
global litrex
global ld
global gsay
global pp
pp=0
gsay=gsay+1
if(gsay==1):
seriport.write(b'atbkotcggg')
ui.pushButton_8.setStyleSheet("background-color:black\n")
elif(gsay==2):
litrex="05u1zdyyyy"
ui.pushButton_8.setStyleSheet("background-color:orange\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
#ui.pushButton_8.setStyleSheet("background-color:blue\n")
ld=1
gsay=0
elif(gsay>2):
gsay=0
vsut=5.0
pp=1
def doldur(self):
global ld
global pp
global gsay
pp=0
ui.pushButton.setStyleSheet("background-color:red\n")
gsay=0
try:
if(ld==1):
#
self.litregonder=litrex
seriport.write(litrex.encode())
ui.pushButton.setStyleSheet("background-color:blue\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
ld=0
#os.system('sudo sh /home/pi/Desktop/2/launcher.sh')
#time.sleep(3)
#subprocess.run(["sudo","python3","/home/pi/Desktop/2/meleme.py"],capture_output=True)
else:
ui.label9.setText("secim yap")
ld=0
except:
ui.label9.setText("litre ??")
pp=1
################################ deger atamalar
def degerata(self,val):
global pp
try:
#ui.label.setText(str(val))
#print("val[0]:"+str(val[0]))
# "xk:sicaklik35:xk"
global verilen
global kalann
if(val[0]=="x" and val[1]=="k"):
sicaklikverisi=val.split(":")
#print(sicaklikverisi[2])
ui.label6.setText(str(sicaklikverisi[1])) # sicaklik labeli
sicaklikkayit=sicaklikverisi[1].split("=")
global sicaklik
sicaklik=str(sicaklikkayit[1])
sica=sicaklik.split("C")
sicak=sica[0]
ksicaklik=float(sicak)
ksicaklik=int(ksicaklik)
#print("sicaklik:"+str(ksicaklik))
if(ksicaklik>10):
#print("aamma")
global sicaksayac
#print("sayac:"+str(sicaksayac))
sicaksayac=sicaksayac+1
if(sicaksayac>5):
#print("zza")
dosya=open("mail.txt","r")
mveri=dosya.readline()
mveri2=mveri.split(":")
#print(mveri2[1])
#print(mveri2[3])
#print(mveri2[5])
#print(mveri)
gmail=mveri2[1]
gsifre=mveri2[3]
hedef=mveri2[5]
s=smtplib.SMTP('smtp.gmail.com',587)
s.starttls()
s.login(str(gmail),str(gsifre)) # gmail > gonderici
mesaj="sutmatik sicakligi 10 derecenin uzerindedir." #+str(ksicaklik)
s.sendmail(str(gmail),str(hedef),mesaj)
s.quit()
dosya.close()
sicaksayac=0
print("mail gonderildi")
#print("ssa"+str(kritiksicaklik))
elif(val[0]=="y" and val[1]=="y"):
#print("yyyyyyyyyyyyyyyyyyy")
self.sicaklikdurumu=val.split(":")
#print("sicaklik durumu>>>"+str(self.sicaklikdurumu[1]))
ui.label8.setText(str(self.sicaklikdurumu[1]))
elif (val[0]=="k" and val[1]=="l"):
#print("kalannnnnnnnnnnnn")
self.kalan=val.split(":")
ui.label.setText(str(self.kalan[1]))
kalann=self.kalan[1]
elif(val[0]=="b" and val[1]=="t"):
ld=0
ui.pushButton.setStyleSheet("background-color:blue\n")
ui.pushButton3.setStyleSheet("background-color:blue\n")
ui.pushButton4.setStyleSheet("background-color:blue\n")
ui.pushButton5.setStyleSheet("background-color:blue\n")
ui.pushButton6.setStyleSheet("background-color:blue\n")
ui.pushButton7.setStyleSheet("background-color:blue\n")
ui.pushButton_8.setStyleSheet("background-color:blue\n")
'''
dosya2=open("kalan.txt")
kalansut=dosya2.readlines()
kalandeger=float(kalansut[0])
kalandeger2=kalandeger-vsut
ui.label.setText(str(kalandeger2))
dosya2=open("kalan.txt","w")
dosya2.write(str(kalandeger2))
dosya2.close()
'''
elif(val[0]=="l" and val[1]=="t"):
#print("lt>>>>>>>>>>>>>>>")
self.verilensut=val.split(":")
ui.label4.setText(str(self.verilensut[1]))
verilen=self.verilensut[1]
elif(val[0]=="d" and val[1]=="y"):
self.yazi=val.split(":")
ui.label9.setText(str(self.yazi[1]))
if(val[3]=="S" and val[4]=="E"):
pp=1
elif(val[0]=="e" and val[1]=="a"):
if(val[3]=="k" and val[4]=="k"):
self.karistirici=val.split(":")
ui.label_103.setText(str(self.karistirici[2]))
elif(val[3]=="c" and val[4]=="c"):
self.ccdegeri=val.split(":")
ui.label_102.setText(str(self.ccdegeri[2]))
elif(val[0]=="l" and val[1]=="t"):
self.kalansut=val.split(":")
ui.label4.setText(str(self.kalansut[1]))
### gunluk sicaklik verilerini yazdirma##
#print("saat"+str(saat))
#print("dakika"+str(dakika))
#print(type(saat))
#print(str(sicaklik))
except:
#print("komut bekleniyor")
val="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
def verial(self):
self.thread=serii()
self.thread.gelenveri.connect(self.degerata)
self.thread.start()
print("verial fonksiyonu basladi")
self.thread2=ping()
self.thread2.start()
if __name__ == "__main__":
xas()
pingbasla=xas()
pingbasla.verial()
23 Haziran 2019 Pazar
21 Haziran 2019 Cuma
30 Ekim 2016 Pazar
c# konsol ile seriportan veri okuma
using System; using System.IO.Ports; class PortDataReceived { public static void Main() { SerialPort mySerialPort = new SerialPort("COM4"); // buraya seriportunuzun comunda değişiklik yapmayı unutmayınız mySerialPort.BaudRate = 9600; mySerialPort.Parity = Parity.None; mySerialPort.StopBits = StopBits.One; mySerialPort.DataBits = 8; mySerialPort.Handshake = Handshake.None; mySerialPort.RtsEnable = true; mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); mySerialPort.Open(); Console.WriteLine("herhangi bir tuşa bas!"); Console.WriteLine(); Console.ReadKey(); mySerialPort.Close(); } private static void DataReceivedHandler( object sender, SerialDataReceivedEventArgs e) { SerialPort sp = (SerialPort)sender; string indata = sp.ReadExisting(); Console.Write(indata); } }
Pic ile gonderilen verinin consol aracılığıyla okunması için gerekli kodlar yukarıdaki gibidir.
3 Eylül 2016 Cumartesi
Ccs Pic timer0 Application For 16F628A
Here We Go :
#include "E:\ENGİNEERİNG\MİCRO DENETLEYİCİLER\çalışmalarım 6\628a deneme\2\timer0 kesmesi"
#include <16f628a .h="">16f628a>
#FUSES NOWDT //No Watch Dog Timer
#FUSES xt //Crystal Osc with CLKOUT
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(a)
int i=0;
#int_rtcc // tmer0 kesmesini bu sekilde tanımlıyoruz 628a da
rtcc_isr( )
{
set_timer0(60);
i++;
if(i==40)
{
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);
delay_ms(10);
i=0;
}
}
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab
// TODO: USER CODE!!
set_tris_b(0x01);
set_tris_a(0xff);
output_a(0x00);
output_b(0x00);
set_timer0(60); // TMR0 değeri belirleniyor
while(1){
enable_interrupts(INT_timer0); // int_timer0 kesmesini aktif yapar
enable_interrupts(GLOBAL);
}
}
IF YOU DEFıNE TİMER0 ; as the following
#int_timer0
void timer0 ()
{
set_timer0(60)
}
this codes are not working
I hope this code list can be usefull and beneficial for you
31 Ağustos 2016 Çarşamba
C# da web browser yazmak
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
object a=null;
axWebBrowser1.Navigate(textBox1.Text, ref a, ref a, ref a, ref a);
}
private void button2_Click(object sender, EventArgs e)
{
axWebBrowser1.GoBack();
}
private void button3_Click(object sender, EventArgs e)
{
axWebBrowser1.GoForward();
}
private void button4_Click(object sender, EventArgs e)
{
textBox1.Text = "www.google.com.tr";
axWebBrowser1.Navigate(textBox1.Text);
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "www.abdurrahmantunc.blogspot.com";
button1.Text = "git";
button2.Text = "ileri";
button3.Text = "geri";
button4.Text = "ana sayfa";
}
}