1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from tkinter import *
from tkinter import ttk
from pynput import mouse
import pyautogui
 
root = Tk()
root.title("마우스 좌표 찾기")
root.geometry("350x100")
 
########################################
label1 = Label(root, text = "X좌표")
label1.grid(row=1, column=1)
 
entry1 = Entry(root, width=10 )
entry1.grid(row=1, column=2)
 
label2 = Label(root, text = "Y좌표")
label2.grid(row=1, column=3)
 
entry2 = Entry(root, width=10 )
entry2.grid(row=1, column=4)
 
button1 = Button(root, text="마우스위치", command = lambda:aaa())
button1.grid(row=1, column=5)
 
############################################
 
label3 = Label(root, text = "반복횟수")
label3.grid(row=2, column=1)
 
entry3 = Entry(root, width=10)
entry3.grid(row=2, column=2)
entry3.insert('end','100')
###########################################
 
button2 = Button(root, text="클릭 시작", command = lambda:click_m())
button2.grid(row=3, column=3)
 
########################################  
def aaa():
    with mouse.Listener(
        on_click=bbb
        ) as listener:
        listener.join()
    entry1.insert("end",x1)
    entry2.insert("end",y1)
 
def bbb(x, y, button, pressed):
    if pressed:
        global x1
        global y1
        x1 = x
        y1 = y
        
    if not pressed :
        return False
 
def ccc():
    entry1.insert("end",x1)
    entry2.insert("end",y1)
 
 
def click_m():
    click_num = int(entry3.get())
 
    ##반복시작
    for a in range(0,click_num):
        pyautogui.click(x1,y1)
        
root.mainloop()
 
cs


간략 설명 : 원하는 구역을 마우스로 클릭해서 좌표를 입력하고 그 좌표를 마우스가 자동으로 반복 클릭하는 오토마우스


1.[마우스위치] 버튼을 클릭해서 함수를 작동시킨다.


2.pynput 를 사용해서 윈도우 전체화면에서 마우스의 좌표를 찾는다.

(with mouse.Listener)


3.전체화면에서 반복 클릭하고 싶은 곳에 마우스를 클릭하면 Entry에 마우스의 x값과 y값을 넣는다. (entry.insert)


4.반복 횟수를 정한다 


5.[클릭시작] 버튼을 눌러서 x,y위치에 반복횟수반큼 클릭을 시작한다.

pyautogui


https://drive.google.com/drive/folders/1Xiw6XoFzP3ILq2ZSmHzG60dKIKnm3RWh?usp=sharing



mouse event in Python tkinter 

python mouse click cursor position using pynput with tkinter

pyautogui click


윈도우10. 파이썬3.6

pynput 1.4

pyautogui 0.9.38



V앱이나 인스타라이브 같은거 반복적으로 하트 누를 때 사용하면 좋을듯



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from tkinter import *
from tkinter import ttk
from pynput import mouse #마우스, 키보드 모니터링 라이브러리
 
root = Tk()
root.title("마우스 좌표 찾기")
root.geometry("300x300")
 
########################################
entry1 = ttk.Entry(root, width=10 )
entry1.grid(row=0, column=1)
 
entry2 = ttk.Entry(root, width=10 )
entry2.grid(row=0, column=2)
 
button1 = ttk.Button(root, text="마우스위치", command = lambda:aaa())
button1.grid(row=0, column=3)
 
########################################  
def aaa():
    with mouse.Listener( #마우스 모니터링 
        on_click=bbb
        ) as listener:
        listener.join()
    ccc()    
 
def bbb(x, y, button, pressed):
    if pressed:
        global x1
        global y1
        x1 = x
        y1 = y
        
    if not pressed :
        return False
 
def ccc():
    entry1.delete(0,"end"#처음부터 끝까지 삭
    entry2.delete(0,"end")
    entry1.insert("end",x1) #끝에 입력
    entry2.insert(0,y1)     #처음에 입력
 
root.mainloop()
 
cs







목표 :  카페에 있는 진동벨을 아두이노의 블루투스를 사용하여 구현해보자




1단계 : 아두이노 + 모터연결 [카페진동벨만들기 1/3]


2단계 : 아두이노+블루투스+모터연결 [카페진동벨만들기 2/3]


3단계: 아두이노+블루투스+모터연결+휴대폰 [카페진동벨만들기 3/3]


----------------------------------------------------------------------------------------------


휴대폰으로 블루투스에 접속하여

ON버튼을 누르면 a 라는 데이터를

OFF버튼을 누르면 b 라는 데이터를

보내는 프로그램을 만들어보겠습니다.


앱인벤터2를 이용하여 만들었습니다.

전체 코드블럭입니다.

bluetooth_bell_cafe.aia


-------------------------------------------------------------------------------------------


작성과정을 보여주는 영상입니다.


순서대로 하셨다면 맨위에 있는 영상대로 작동할껍니다.



목표 :  카페에 있는 진동벨을 아두이노의 블루투스를 사용하여 구현해보자




1단계 : 아두이노 + 모터연결 [카페진동벨만들기 1/3]


2단계 : 아두이노+블루투스+모터연결 [카페진동벨만들기 2/3]


3단계: 아두이노+블루투스+모터연결+휴대폰 [카페진동벨만들기 3/3]


---------------------------------------------------------------------------



아두이노에 블루투스모듈(HC-06)을 그림과 같이 연결한다


VCC 

 5V

GND

 GND

TXD

 3번핀 (RXD)

RXD

 2번핀 (TXD)


TXD - Transmit Data

RXD - Receive Data


블루투스 모듈에서 보내진 정보를 (TXD)

아두이노에서 받는다고 (RXD)

생각하면 될꺼 같다


(일반적인 예제는 Serial통신이기 때문이어서인시

클래스 이름을 Serial로 하였으나

여기에서는 다른 이름을 사용해도 된다는 것을

보여주기 위해서 aaa로 하였다)


#include <SoftwareSerial.h> //~~~.h 라이브러리추가
SoftwareSerial aaa(2,3); //aaa클래스라는 클래스는
                              //2번핀 - TXD
                             //3번핀 - RXD 라고 알려줌
  
void setup() {
  pinMode(13, OUTPUT);   //13번 핀이 5V 출력임
  aaa.begin(9600);           //aaa가 9600bps의 속도로 통신을 시작함
}

void loop() {
 
  switch(aaa.read()){            //통신으로 얻은 데이터를 불러온다
    case 'a':                      //그 값이 a인경우
      digitalWrite(13,HIGH); //13번핀에 5V전원공급
      break;                     //이후 switch안의 텍스트 무시
    case 'b':                    //그 값이 b인경우
      digitalWrite(13,LOW);
      break;
  }
}


aaa.begin(9600);을 설정되면

통신을 할수 있는 상태가 되는 것이다.


switch문을 넣은 것은 case에 따라

다른 명령을 실행하기 위함이다.


블루투스를 통해 얻은 데이타가

a라는 문자인경우

모터를 가동(13번핀에 5V 전원공급)


b라는 문자인경우

모터 중단 (13번핀에 0v 전원공급)

목표 :  카페에 있는 진동벨을 아두이노의 블루투스를 사용하여 구현해보자




1단계 : 아두이노 + 모터연결 [카페진동벨만들기 1/3]


2단계 : 아두이노+블루투스+모터연결 [카페진동벨만들기 2/3]


3단계:  휴대폰으로 진동벨을 만들자 (휴대폰 2대 / 앱인벤터) [카페진동벨만들기 3/3]


-----------------------------------------------------------------------------------

void setup() {
  pinMode(13, OUTPUT); //13번 핀이 5V 출력임
}

void loop() {
  digitalWrite(13, HIGH);   // 13번 핀에 5V 전원을 공급
  delay(1000);              // 1초대기
  digitalWrite(13, LOW);    // 13번 핀에 0V 전원을 공급
  delay(1000);              // 1초대기
}


아두이노 스케치의 기본예제인 Blink 예제 작동시


13번 핀과 자체 내장된 LED가 연결되어 있어 전원이 들어오고 있음을 확인 할 수 있다.


----------------------------------------------------------------------------------------------------


13번 핀에 모터를 연결하고 위에서 사용한 Blink코드를 실행시켜본다.



+ Recent posts