Ви не увійшли.
Сторінки 1
да, посмотрел подключил, понять не могу почему при нажатии столько раз нажимает на кнопки
И тишина ...
Испугался что-ли? Так здесь не кусаются. Или не знаешь что ответить? Ок, пойдем наглядным путем. Вот твой код без лишнего "мусора", только кнопки. Запусти и попробуй разобраться что у тебя не так.boolean butt_flag1 = 0; boolean butt1; boolean butt_flag2 = 0; boolean butt2; void setup() { Serial.begin(9600); pinMode(11,INPUT_PULLUP); pinMode(12,INPUT_PULLUP); } void mouse_move(){ butt1 = digitalRead(12); butt2 = digitalRead(11); if(butt1 == 1 && butt_flag1 == 0){ butt_flag1 = 1; Serial.println("MOUSE_LEFT_PRESS"); //Mouse.press(MOUSE_LEFT); } if(butt1 == 0 && butt_flag1 == 1){ butt_flag1 = 0; Serial.println("MOUSE_LEFT_NO PRESS"); //Mouse.release(); } if(butt2 == 1 && butt_flag2 == 0){ butt_flag2 = 1; Serial.println("MOUSE_RIGHT_PRESS"); //Mouse.press(MOUSE_RIGHT); } if(butt2 == 0 && butt_flag2 == 1){ butt_flag2 = 0; Serial.println("MOUSE_RIGHT_NO PRESS"); //Mouse.release(); } } void loop() { mouse_move(); }
ничего не понимаю, все нормально в коде
И тишина ...
Испугался что-ли? Так здесь не кусаются. Или не знаешь что ответить? Ок, пойдем наглядным путем. Вот твой код без лишнего "мусора", только кнопки. Запусти и попробуй разобраться что у тебя не так.boolean butt_flag1 = 0; boolean butt1; boolean butt_flag2 = 0; boolean butt2; void setup() { Serial.begin(9600); pinMode(11,INPUT_PULLUP); pinMode(12,INPUT_PULLUP); } void mouse_move(){ butt1 = digitalRead(12); butt2 = digitalRead(11); if(butt1 == 1 && butt_flag1 == 0){ butt_flag1 = 1; Serial.println("MOUSE_LEFT_PRESS"); //Mouse.press(MOUSE_LEFT); } if(butt1 == 0 && butt_flag1 == 1){ butt_flag1 = 0; Serial.println("MOUSE_LEFT_NO PRESS"); //Mouse.release(); } if(butt2 == 1 && butt_flag2 == 0){ butt_flag2 = 1; Serial.println("MOUSE_RIGHT_PRESS"); //Mouse.press(MOUSE_RIGHT); } if(butt2 == 0 && butt_flag2 == 1){ butt_flag2 = 0; Serial.println("MOUSE_RIGHT_NO PRESS"); //Mouse.release(); } } void loop() { mouse_move(); }
нет, нас вчера бомбили, вот и не мог выйти на связь
без ! 1 а так при инверции 0
https://wokwi.com/projects/334278822082904660 как то так
почитал, если изпользовать инпут пулап то идет инертиривание, на как мне его почить скажите пожалуйста
не нажемается правая кнопка мижи при нажатии кнопки
нажатие кнопки находится в void move_mouse()
вот код
#include <Keyboard.h>
#include <Mouse.h>
unsigned long last;
boolean butt_flag1 = 0;
boolean butt1;
boolean butt_flag2 = 0;
boolean butt2;
int VRx = A0;
int VRy = A1;
int VRx2 = A2;
int VRy2 = A3;
int SW = 12;
int SW2 = 11;
int xPosition = 0;
int yPosition = 0;
int SW_state = 0;
int mapX = 0;
int mapY = 0;
int xPosition2= 0;
int yPosition2 = 0;
int SW_state2 = 0;
int mapX2 = 0;
int mapY2 = 0;
int pin_f = 10;
int pin_1 = 9;
int pin_2 = 8;
int pin_3 = 7;
int pin_4 = 6;
int pin_e = 5;
int pin_q = 4;
void setup() {
Keyboard.begin();
Mouse.begin();
Serial.begin(9600);
pinMode(VRx, INPUT);
pinMode(VRy, INPUT);
pinMode(VRx2, INPUT);
pinMode(VRy2, INPUT);
pinMode(pin_f, INPUT_PULLUP);
pinMode(SW, INPUT_PULLUP);
pinMode(SW2, INPUT_PULLUP);
pinMode(pin_1, INPUT_PULLUP);
pinMode(pin_2, INPUT_PULLUP);
pinMode(pin_3, INPUT_PULLUP);
pinMode(pin_4, INPUT_PULLUP);
pinMode(pin_e, INPUT_PULLUP);
pinMode(pin_q, INPUT_PULLUP);
}
void mouse_move(){
butt1 = digitalRead(12);
butt2 = digitalRead(11);
xPosition = analogRead(VRx);
yPosition = analogRead(VRy);
SW_state = !digitalRead(SW);
mapX = map(xPosition, 0, 1023, -512, 512);
mapY = map(yPosition, 0, 1023, -512, 512);
/*
Serial.print("X: ");
Serial.print(mapX);
Serial.print(" | Y: ");
Serial.print(mapY);
Serial.print(" | Button: ");
Serial.println(SW_state);
delay(100);
*/
if(mapY < 0){
//Serial.println("X+");
Mouse.move(0, -1, 0);
}
if(mapY > 38){
//Serial.println("X-");
Mouse.move(0, 1, 0);
}
if(mapX > 0){
//Serial.println("Y+");
Mouse.move(-1, 0, 0);
}
if(mapX < -10){
//Serial.println("Y-");
Mouse.move(1,0, 0);
}
if(butt1 == 1 && butt_flag1 == 0){
butt_flag1 = 1;
Mouse.press(MOUSE_LEFT);
}
if(butt1 == 0 && butt_flag1 == 1){
butt_flag1 = 0;
Mouse.release();
}
if(butt2 == 1 && butt_flag2 == 0){
butt_flag2 = 1;
Mouse.press(MOUSE_RIGHT);
}
if(butt2 == 0 && butt_flag2 == 1){
butt_flag2 = 0;
Mouse.release();
}
}
void keyboard_press(){
xPosition2 = analogRead(VRx2);
yPosition2 = analogRead(VRy2);
SW_state2 = !digitalRead(SW2);
mapX2= map(xPosition, 0, 1023, -512, 512);
mapY2 = map(yPosition, 0, 1023, -512, 512);
if(!digitalRead(pin_f) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('f');
}
}
if(!digitalRead(pin_2) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('1');
}
}
if(!digitalRead(pin_1) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('2');
}
}
if(!digitalRead(pin_3) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('3');
}
}
if(!digitalRead(pin_4) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('4');
}
}
if(!digitalRead(pin_q) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('q');
}
}
if(!digitalRead(pin_e) == 1){
if (millis()- last > 100){
last = millis();
Keyboard.press('e');
}
}
else{
Keyboard.releaseAll();
}
}
void loop() {
keyboard_press();
mouse_move();
/*
Serial.println(!digitalRead(pin_f));
Serial.println(!digitalRead(pin_1));
Serial.println(!digitalRead(pin_2));
Serial.println(!digitalRead(pin_3));
Serial.println(!digitalRead(pin_4));
delay(100);
*/
}
Круто! А у меня и это не получается!
надо чтобы переменая не начаналась с цифер
нашел решение, вопрос закрит
делаю джойстик, при вигрузке скетча дает ошибку:
Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "Arduino Leonardo"
gayshit_joystik:7:5: error: expected unqualified-id before numeric constant
gayshit_joystik:8:5: error: expected unqualified-id before numeric constant
gayshit_joystik:11:5: error: expected unqualified-id before numeric constant
gayshit_joystik:20:5: error: expected unqualified-id before numeric constant
gayshit_joystik:21:5: error: expected unqualified-id before numeric constant
gayshit_joystik:22:5: error: expected unqualified-id before numeric constant
gayshit_joystik:24:5: error: expected unqualified-id before numeric constant
gayshit_joystik:25:5: error: expected unqualified-id before numeric constant
D:UserDatamikeOneDriveДокументыArduinogayshit_joystikgayshit_joystik.ino: In function 'void keyboard_press()':
gayshit_joystik:77:3: error: unable to find numeric literal operator 'operator""xPosition'
gayshit_joystik:77:27: error: unable to find numeric literal operator 'operator""VRx'
gayshit_joystik:78:3: error: unable to find numeric literal operator 'operator""yPosition'
gayshit_joystik:78:27: error: unable to find numeric literal operator 'operator""VRy'
gayshit_joystik:80:3: error: unable to find numeric literal operator 'operator""SW_state'
gayshit_joystik:80:28: error: unable to find numeric literal operator 'operator""SW'
gayshit_joystik:81:3: error: unable to find numeric literal operator 'operator""mapX'
gayshit_joystik:82:3: error: unable to find numeric literal operator 'operator""mapY'
Multiple libraries were found for "Keyboard.h"
Used: D:UserDatamikeOneDriveДокументыArduinolibrariesKeyboard
Not used: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wttlibrariesKeyboard
Multiple libraries were found for "Mouse.h"
Used: D:UserDatamikeOneDriveДокументыArduinolibrariesMouse
Not used: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wttlibrariesMouse
exit status 1
expected unqualified-id before numeric constant
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
можно ли как то симулировать esp32 с соединением в интернет
нет, делаем один проект вместе
родственик, а что? знакоми
переделал код, не виводет нормально текст на lcd1602 ic2
не виводит темературу с влажностью сейчас
#include "DHT.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define DHTPIN 3
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
float start_temp = 10;
float start_hum = 10;
unsigned long last_time2;
float h;
float t;
void setup() {
lcd.begin(16, 2);
dht.begin();
lcd.backlight();
lcd.clear();
h = dht.readHumidity();
t = dht.readTemperature();
start_temp = t;
start_hum = h;
}
void loop() {
if (millis()- last_time2 > 2000){
last_time2 = millis();
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
h = dht.readHumidity();
t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
lcd.begin(16, 2);
lcd.print("ERROR");
return;
}
lcd.print(start_temp);
lcd.print("C ");
lcd.print(start_hum);
lcd.print("% H ");
lcd.setCursor(0,2);
lcd.print(t);
lcd.print("C ");
lcd.print(h);
lcd.print("% H ");
}
}
от блин, а я себе один заказал
посмотрел, скопировал, ошибка уже другая
перевел загуглил, ничего не нашел
при вигрузке скетча дает ошибку
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino: In function 'void setup()':
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino:34:19: error: expected primary-expression before '.' token
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino:35:18: error: expected primary-expression before '.' token
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino: In function 'void loop()':
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino:45:23: error: expected primary-expression before '.' token
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino:47:18: error: expected primary-expression before '.' token
D:UserDatamikeOneDriveДокументыArduinosketch_may28asketch_may28a.ino:48:18: error: expected primary-expression before '.' token
Compilation error: exit status 1
вот код
#include <DHT.h>
#include <DHT_U.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define outPin 8
#define DHTPIN 8
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
unsigned long last_time2;
int seconds = 0;
int minutes = 0;
int hours = 0;
int days = 0;
float start_temp = 0;
float start_hum = 0;
void setup() {
lcd.begin(16, 2);
lcd.backlight();
lcd.clear();
start_temp = DHT.temperature;
start_hum = DHT.humidity;
}
void loop() {
timer();
if (millis()- last_time2 > 1000){
last_time2 = millis();
int readData = DHT.read11(outPin);
float t = DHT.temperature;
float h = DHT.humidity;
lcd.begin(16, 2);
lcd.print(start_temp);
lcd.print("C");
lcd.print(start_hum);
lcd.print(" H");
lcd.setCursor(0,2);
lcd.print(t);
lcd.print("C ");
lcd.print(h);
lcd.print("H%");
lcd.clear();
}
}
void timer(){
if (millis()- last_time2 > 1000){
last_time2 = millis();
seconds = seconds + 1;
}
if (seconds == 60){
seconds = 0;
minutes = minutes + 1;
}
if (minutes == 60){
minutes = 0;
hours = hours + 1;
}
if (hours == 24){
hours = 0;
days = days + 1;
}
}
так дякую, зрозумів, але як мені тепер зробити так чоб він кожні 2 секунди горів з інтервалом 10 секунд
та не на делаях
я незнаю як його зробити ЯК ЙОГО написати, не через делей і я питаю чи хтось знає як це зробмти?
нет, я незнаю как так зделать
помогите
Сторінки 1