- 31
- 4 314
Weraphong Kuttamat
Thailand
เข้าร่วมเมื่อ 20 ม.ค. 2019
สอนต่อวงจร ตลับเมตรไร้สาย Arduino
Code:ใต้คอมเม้นเลยครับ
มีข้อสงสัยสามารถทักส่วนตัวได้ที่ Ig 👇👇👇👇👇
wrxktx_06profilecard/?igsh=cHJvOHllNHIweDNj
มีข้อสงสัยสามารถทักส่วนตัวได้ที่ Ig 👇👇👇👇👇
wrxktx_06profilecard/?igsh=cHJvOHllNHIweDNj
มุมมอง: 35
วีดีโอ
โปรเจ็ค “ตลับเมตรไร้สาย“
มุมมอง 2021 วันที่ผ่านมา
โดยโปรเจ็คนี้ผมได้ใช้เวลาค่อนข้างนานในการทำผมจึงขอให้พี่ๆน้องๆที่เข้ามาดูช่วยกดติดตามให้หน่อยนะครับเพื่อนเป็นกำลังใจในการสร้างสิ่งประดิษฐ์ต่อไป ผมขอผู้ติดตามครบ120คนผมจะทำคริปสอนและลงโค้ดให้เลยครับขอบคุณครับ#สิ่งประดิษฐ์ #โครงงานวิทยาศาสตร์ #arduino #ตลับเมตร
โปรเจ็ค ถังขยะอัจฉริยะ+เซนเซอร์ HC-SR04
มุมมอง 34หลายเดือนก่อน
อุปกรณ์ที่ใช้ -บอร์ด esp8266 -servo -senser hc-sr04 -สายjumper -ปืนกาว #arduino #โครงงานวิทยาศาสตร์ #สิ่งประดิษฐ์ #blynk
Project Arduino รถหลบสิ่งกีดขวาง 3 ล้อ #ไม่ใช้Servo
มุมมอง 50หลายเดือนก่อน
CODE:ใต้คอมเม้น #สิ่งประดิษฐ์ #โครงงานวิทยาศาสตร์
สอนติดตั้งและใช้งานเบื้องต้นโปรแกรม Photoshop2020
มุมมอง 13หลายเดือนก่อน
คลิปนี้จะเป็นการสอนการติดตั้งและการใช้งานเบื้องต้นของโปรแกรม Photoshop2020 ลิ้งใต้คอมเม้นเลยครับ #photoshop #ติดตั้งโปรแกรม
โปรเจ็ค เปิด/ปิดหลอดไฟด้วยเซนเซอร์ ultrasonic
มุมมอง 712 หลายเดือนก่อน
สร้างขึ้นมาเพื่อทดลองระบบการทำงานต่างๆของอุปกรณ์ #สิ่งประดิษฐ์ #โครงงานวิทยาศาสตร์
เช็คว่าใครอัลฟอล#instagram ง่ายๆ
มุมมอง 232 หลายเดือนก่อน
gist.github.com/abir-taheer/0d3f1313def5eec6b78399c0fb69e4b1 #instagram
สอนเปลี่ยนถ่ายน้ำมันเครื่องโซนิค125 ต้องเติมกี่ลิตร?
มุมมอง 2542 หลายเดือนก่อน
สอนเปลี่ยนถ่ายน้ำมันเครื่องโซนิค125 ต้องเติมกี่ลิตร?
พลีเซนต์โปรเจ็ค เปิด/ปิดไฟด้วย Sensor ตรวจจับเสียง
มุมมอง 272 หลายเดือนก่อน
พลีเซนต์โปรเจ็ค เปิด/ปิดไฟด้วย Sensor ตรวจจับเสียง
สร้าง POWER BANK จากแบตสว่านไร้สาย Makita
มุมมอง 572 หลายเดือนก่อน
สร้าง POWER BANK จากแบตสว่านไร้สาย Makita
พลีเซนต์ โปรเจ็คแบบจำลอง Wireless Home เปิด/ปิดไฟผ่าน Blynk
มุมมอง 132 หลายเดือนก่อน
พลีเซนต์ โปรเจ็คแบบจำลอง Wireless Home เปิด/ปิดไฟผ่าน Blynk
พลีเซนต์ โปรเจ็คห้องจำลองเครื่องตรวจจับควัน
มุมมอง 62 หลายเดือนก่อน
พลีเซนต์ โปรเจ็คห้องจำลองเครื่องตรวจจับควัน
สอนชาร์จแบตเตอร์รี่รถยนต์ด้วยเครื่อง Charger repair
มุมมอง 352 หลายเดือนก่อน
สอนชาร์จแบตเตอร์รี่รถยนต์ด้วยเครื่อง Charger repair
สอนต่อวงจรได้ไหมคะ
สอนทำได้ไหมคะ
สอนทำได้ไหมคะ
#include <Wire.h> #include <LiquidCrystal_I2C.h> // กำหนดที่อยู่ I2C ของ LCD LiquidCrystal_I2C lcd(0x27, 16, 2); // หรือ 0x3F ขึ้นอยู่กับโมดูลของคุณ // กำหนดขาของเซ็นเซอร์ HC-SR04 const int trigPin = 14; // ขาส่งสัญญาณ const int echoPin = 12; // ขารับสัญญาณ // กำหนดขาของโมดูลเลเซอร์ const int laserModulePin = 13; // เปลี่ยนตามขาที่คุณใช้ // กำหนดขาของปุ่มล็อค const int lockButtonPin = 15; // เปลี่ยนตามขาที่คุณใช้ // ตัวแปรเก็บค่าระยะทางที่ล็อคไว้ float lockedDistance = 0.0; bool isDistanceLocked = false; void setup() { // ตั้งค่า LCD lcd.init(); // ใช้ lcd.init() ถ้าใช้ไลบรารี LiquidCrystal_I2C รุ่นเก่า lcd.backlight(); // กำหนดทิศทางของขาส่งและรับสัญญาณ pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(laserModulePin, OUTPUT); // กำหนดขาโมดูลเลเซอร์เป็น OUTPUT pinMode(lockButtonPin, INPUT_PULLUP); // กำหนดขาปุ่มล็อคเป็น INPUT_PULLUP // เปิดโมดูลเลเซอร์ digitalWrite(laserModulePin, HIGH); // แสดงข้อความต้อนรับบน LCD lcd.setCursor(0, 0); lcd.print("Wireless Tape"); lcd.setCursor(0, 1); lcd.print("Measuring Tool"); delay(2000); // รอ 2 วินาที lcd.clear(); } void loop() { // ตรวจสอบสถานะของปุ่มล็อค if (digitalRead(lockButtonPin) == LOW) { // ถ้ากดปุ่มล็อค if (!isDistanceLocked) { // ถ้ายังไม่ล็อคค่าระยะทาง isDistanceLocked = true; // สลับสถานะล็อค lockedDistance = measureDistance(); // บันทึกค่าระยะทางปัจจุบัน } delay(200); // รอเพื่อป้องกันการกดซ้ำ } else { // วัดระยะทางทุกครั้งเมื่อปุ่มล็อคไม่ได้ถูกกด float distance = measureDistance(); // แสดงผลระยะทางบน LCD lcd.clear(); lcd.setCursor(0, 0); if (distance >= 0 && distance <= 400) { // ตรวจสอบระยะทางในช่วงที่เหมาะสม lcd.print("Distance: "); lcd.print(distance); lcd.print(" cm"); if (isDistanceLocked) { lcd.setCursor(0, 1); lcd.print("Locked: "); lcd.print(lockedDistance); lcd.print(" cm"); } else { lcd.setCursor(0, 1); lcd.print("Locked: -- cm"); } } else { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Out of range"); if (isDistanceLocked) { lcd.setCursor(0, 1); lcd.print("Locked: "); lcd.print(lockedDistance); lcd.print(" cm"); } } } delay(500); // รอ 500 มิลลิวินาที ก่อนวัดค่าใหม่ } float measureDistance() { // ส่งสัญญาณอัลตร้าโซนิค digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // วัดเวลาที่ใช้ในการรับสัญญาณ long duration = pulseIn(echoPin, HIGH); // คำนวณระยะทาง (เซ็นติเมตร) return duration * 0.034 / 2; }
const int trigPin = 16; // ขา Trig ของ Ultrasonic Sensor const int echoPin = 5; // ขา Echo ของ Ultrasonic Sensor const int ledPin = 4; // ขาที่ต่อกับ LED หรือไฟที่ต้องการควบคุม long duration; int distance; int ledState = LOW; // สถานะเริ่มต้นของไฟ (ปิด) const int distanceThreshold = 30; // ระยะทางที่ต้องการให้สลับเปิด/ปิด (ในหน่วยเซนติเมตร) bool objectDetected = false; // สถานะการตรวจจับวัตถุ void setup() { pinMode(trigPin, OUTPUT); // กำหนดให้ขา Trig เป็น Output pinMode(echoPin, INPUT); // กำหนดให้ขา Echo เป็น Input pinMode(ledPin, OUTPUT); // กำหนดให้ขาที่ต่อกับ LED เป็น Output Serial.begin(9600); // เริ่มการสื่อสารทาง Serial Monitor } void loop() { // กำหนด Trig Pin ให้เป็น LOW เพื่อเตรียมส่งสัญญาณ digitalWrite(trigPin, LOW); delayMicroseconds(2); // กำหนด Trig Pin ให้เป็น HIGH เพื่อส่งสัญญาณคลื่นเสียง digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // คำนวณเวลาที่เสียงเดินทางกลับถึง Echo Pin duration = pulseIn(echoPin, HIGH); // คำนวณระยะทาง (หน่วยเป็นเซนติเมตร) distance = duration * 0.034 / 2; // แสดงผลระยะทางทาง Serial Monitor Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); // เช็คว่าอยู่ในระยะที่กำหนดหรือไม่ if (distance <= distanceThreshold) { if (!objectDetected) { // ถ้ายังไม่เคยตรวจจับวัตถุ objectDetected = true; // ตั้งค่าสถานะให้เป็นตรวจจับวัตถุแล้ว ledState = !ledState; // สลับสถานะของไฟ digitalWrite(ledPin, ledState); // เปลี่ยนสถานะไฟตามสถานะที่สลับ } } else { objectDetected = false; // ถ้าวัตถุออกนอกระยะ ให้ตั้งค่าสถานะการตรวจจับวัตถุเป็น false } delay(100); // หน่วงเวลาเล็กน้อยเพื่อป้องกันการทำงานซ้ำบ่อยเกินไป }
#include <ESP8266WiFi.h> #include <Servo.h> #include <NewPing.h> #define TRIG_PIN 16 // กำหนดขา TRIG ของเซนเซอร์ HC-SR04 #define ECHO_PIN 5 // กำหนดขา ECHO ของเซนเซอร์ HC-SR04 #define MAX_DISTANCE 200 // ระยะสูงสุดที่ต้องการตรวจจับ #define SERVO_PIN 2 // ขาที่ใช้ควบคุมเซอร์โวมอเตอร์ #define OPEN_ANGLE 100 // มุมเปิดฝาถัง #define CLOSE_ANGLE 0 // มุมปิดฝาถัง Servo myservo; NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { Serial.begin(115200); myservo.attach(SERVO_PIN); myservo.write(CLOSE_ANGLE); // ปิดฝาถังเริ่มต้น } void loop() { delay(50); int distance = sonar.ping_cm(); Serial.print("Distance: "); Serial.println(distance); if (distance > 0 && distance <= 20) { // ถ้ามีวัตถุอยู่ในระยะ 20 ซม. ให้เปิดฝาถัง myservo.write(OPEN_ANGLE); delay(4000); // เปิดฝาถังค้างไว้ 4 วินาที } else { // ถ้าไม่มีวัตถุในระยะใกล้ ให้ปิดฝาถัง myservo.write(CLOSE_ANGLE); } }
#include <NewPing.h> #define TRIGGER_PIN 5 // ขา Trig ของ Ultrasonic Sensor #define ECHO_PIN 4 // ขา Echo ของ Ultrasonic Sensor #define MAX_DISTANCE 200 // ระยะการตรวจจับสูงสุดของ Ultrasonic Sensor #define ENA 14 // ขาสำหรับเปิดใช้งานมอเตอร์ A #define IN1 12 // ขาควบคุมทิศทางของมอเตอร์ A #define IN2 13 // ขาควบคุมทิศทางของมอเตอร์ A #define ENB 15 // ขาสำหรับเปิดใช้งานมอเตอร์ B #define IN3 16 // ขาควบคุมทิศทางของมอเตอร์ B D0 #define IN4 2 // ขาควบคุมทิศทางของมอเตอร์ B D4 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); Serial.begin(115200); } void loop() { int distance = sonar.ping_cm(); if (distance > 0 && distance <= 20) { // ถ้ามีสิ่งกีดขวางในระยะ 20 ซม. stopMotors(); // หยุดมอเตอร์ delay(1000); moveBackward(); // ถอยหลัง delay(1000); int randomTurn = random(0, 2); // สุ่มเลือกว่าจะเลี้ยวซ้ายหรือขวา (0 = ซ้าย, 1 = ขวา) if (randomTurn == 0) { turnLeft(); // ถอยเลี้ยวซ้าย } else { turnRight(); // ถอยเลี้ยวขวา } delay(500); } else { moveForward(); // เดินหน้า } } void moveForward() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENA, 255); // กำหนดความเร็วของมอเตอร์ A analogWrite(ENB, 255); // กำหนดความเร็วของมอเตอร์ B } void moveBackward() { digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENA, 255); // กำหนดความเร็วของมอเตอร์ A analogWrite(ENB, 255); // กำหนดความเร็วของมอเตอร์ B } void stopMotors() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); analogWrite(ENA, 0); // หยุดมอเตอร์ A analogWrite(ENB, 0); // หยุดมอเตอร์ B } void turnRight() { digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENA, 200); // ปรับความเร็วเลี้ยวของมอเตอร์ A analogWrite(ENB, 200); // ปรับความเร็วเลี้ยวของมอเตอร์ B } void turnLeft() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENA, 200); // ปรับความเร็วเลี้ยวของมอเตอร์ A analogWrite(ENB, 200); // ปรับความเร็วเลี้ยวของมอเตอร์ B }
drive.google.com/file/d/1LN2i1evlhDGcpgsLROA5F0sWKDe-sBA-/view?usp=sharing
drive.google.com/file/d/1HGc_9lh2DhsaUAyPiu36lO4UDaCiba53/view
gist.github.com/abir-taheer/0d3f1313def5eec6b78399c0fb69e4b1
drive.google.com/file/d/195y_VxkGHfhBKDlSzpIjBQNFeGO2IjT4/view?usp=drive_link shopee.co.th/intech88