โปรแกรม autostart Ubuntu 14.04 วิธีกำหนดค่าเริ่มต้นแอปพลิเคชันและบริการใน Ubuntu โดยอัตโนมัติ อ่านความถี่เอาท์พุท

เซ็นเซอร์สี TCS3200 - แสดงในรูปด้านล่าง - ใช้ชิปเซ็นเซอร์ TAOS TCS3200 RGB เพื่อตรวจจับสี นอกจากนี้ยังมีไฟ LED สีขาวสี่ดวงที่ส่องสว่างวัตถุที่อยู่ด้านหน้า


  สเปค

ข้อกำหนดเซ็นเซอร์:

  • แรงดันไฟฟ้าซัพพลาย: 2.7 V ถึง 5.5 V
  • ขนาด: 28.4 x 28.4 มม. (1.12 x 1.12″)
  • อินเตอร์เฟส: สัญญาณดิจิตอล, TTL
  • การจับคู่สีความเข้มต่ำความละเอียดสูง
  • สีที่ตั้งโปรแกรมได้และความถี่เอาต์พุตสแกนสมบูรณ์
  • เชื่อมต่อโดยตรงกับไมโครคอนโทรลเลอร์

เซ็นเซอร์สี TCS3200 ทำงานอย่างไร

TCS3200 มีโฟโตไดโอดมากมายพร้อมตัวกรอง 4 แบบ โฟโตไดโอดเป็นอุปกรณ์กึ่งตัวนำที่แปลงแสงเป็นกระแสไฟฟ้า เซ็นเซอร์มี:

คู่มือนี้จะแสดงวิธีเรียกใช้แอพพลิเคชั่นเมื่อเริ่มต้น คุณจะมีความสุขที่ได้เรียนรู้ว่าคุณไม่จำเป็นต้องใช้เครื่องเทอร์มินัลเพื่อที่จะทำสิ่งนี้ได้เนื่องจากมีเครื่องมือกราฟิกที่ค่อนข้างตรงไปตรงมาที่จะช่วยคุณในการเดินทาง

ตัวเลือกแอปพลิเคชัน Boot

กดปุ่มซุปเปอร์คีย์บนแป้นพิมพ์เพื่อเปิดและค้นหา“ เรียกใช้” คุณอาจจะมีสองตัวเลือก หน้าจอที่คล้ายกับที่แสดงในภาพด้านบนจะปรากฏขึ้น อย่างที่คุณเห็นอินเตอร์เฟสค่อนข้างตรงไปตรงมา

เพิ่มโปรแกรมเป็นแอปพลิเคชันตัวเรียกใช้งาน

  หน้าต่างใหม่จะปรากฏขึ้นพร้อมสามช่อง

  • โฟโตไดโอด 16 ตัวพร้อมตัวกรองสีแดง - ไวต่อความยาวคลื่นสีแดง
  • โฟโตไดโอด 16 ตัวพร้อมตัวกรองสีเขียว - ไวต่อความยาวคลื่นสีเขียว
  • โฟโตไดโอด 16 ตัวพร้อมตัวกรองสีน้ำเงิน - ไวต่อความยาวคลื่นสีน้ำเงิน
  • โฟโตไดโอด 16 ตัวที่ไม่มีตัวกรอง

หากคุณพิจารณาชิป TCS3200 ให้ละเอียดยิ่งขึ้นคุณจะเห็นฟิลเตอร์ต่าง ๆ


ด้วยการเลือกการอ่านตัวกรองโฟโตไดโอดแบบเลือกคุณจะสามารถตรวจจับความเข้มของสีที่แตกต่างกัน เซ็นเซอร์มีตัวแปลงกระแสเป็นความถี่ที่แปลงการอ่านโฟโตไดโอดเป็นคลื่นสี่เหลี่ยมที่มีความถี่ที่แปรผันตามความเข้มของแสงของสีที่เลือก ความถี่นี้จะถูกอ่านโดย Arduino - นี้จะแสดงในรูปด้านล่าง

วิธีค้นหาคำสั่งสำหรับแอปพลิเคชัน

ป้อนชื่อสำหรับสิ่งที่คุณจำได้ในกล่องชื่อ “ คำสั่ง” เป็นคำสั่งทางกายภาพที่คุณต้องการเรียกใช้และนี่อาจเป็นชื่อของโปรแกรมหรือชื่อของสคริปต์ ปุ่มเรียกดูไม่มีประโยชน์อย่างยิ่งสำหรับตัวมันเองเพราะหากคุณไม่ทราบว่าติดตั้งโปรแกรมไว้ที่ไหนพวกเขาจะหายาก

เป็นการแก้ไขด่วนแอปพลิเคชันส่วนใหญ่จะติดตั้งในตำแหน่งใดตำแหน่งหนึ่งต่อไปนี้ นี่จะส่งคืนพา ธ ไปยังแอปพลิเคชัน ตัวอย่างเช่นคำสั่งดังกล่าวจะกลับดังต่อไปนี้ ตอนนี้เปิดหน้าต่างเทอร์มินัลแล้วป้อนข้อมูลต่อไปนี้ รายการแอปพลิเคชันที่ทำงานอยู่จะปรากฏขึ้นและคุณควรทราบว่าคุณใช้แอปพลิเคชันใด


เซ็นเซอร์ Pinout

การเลือกตัวกรอง LED

ในการเลือกสีของโฟโตไดโอดที่อ่านคุณใช้หมุดควบคุม S2 และ S3 เนื่องจากโฟโตไดโอดเชื่อมต่อแบบขนานการตั้งค่า S2 และ S3 ต่ำและสูงในชุดค่าผสมที่แตกต่างกันทำให้คุณสามารถเลือกโฟโตไดโอดที่แตกต่าง ดูตารางด้านล่าง:

การเขียนสคริปต์เพื่อเรียกใช้คำสั่ง

วิธีนี้ทำได้ดีที่สุดเพื่อให้มีรายการปุ่มตัวเลือกที่คุณอาจต้องการเปิด คัดลอกพา ธ จากคำสั่งและวางลงในฟิลด์ "คำสั่ง" บนหน้าจอ "เรียกใช้แอปพลิเคชัน" ในบางกรณีไม่แนะนำให้เรียกใช้คำสั่งเมื่อเริ่มต้น แต่ให้เรียกใช้สคริปต์ที่รันคำสั่ง

เซ็นเซอร์ Pinout

หน้าจอที่ปรากฏเหมือนกับการเพิ่มหน้าจอตัวเรียกใช้งานใหม่ ทุกครั้งที่คุณบู๊ตระบบปฏิบัติการแอปพลิเคชั่นหลายตัวจะเปิดตัว พวกเขาถูกเรียกว่า "แอปพลิเคชันเปิดตัว" หรือ "เปิดตัวโปรแกรม" ในช่วงเวลาที่มีการติดตั้งแอปพลิเคชั่นจำนวนมากในระบบของคุณคุณจะพบว่า "แอปพลิเคชันที่กำลังทำงาน" เหล่านี้มากเกินไปซึ่งจะเริ่มต้นโดยอัตโนมัติจากช่วงเวลาของการโหลด

ระดับความถี่

หน้าสัมผัส S0 และ S1 ใช้สำหรับตั้งค่าสเกลของความถี่เอาต์พุต สามารถปรับเป็นค่าที่ตั้งไว้ล่วงหน้าต่อไปนี้: 100%, 20% หรือ 2% การปรับความถี่เอาต์พุตมีประโยชน์ในการเพิ่มประสิทธิภาพการอ่านเซ็นเซอร์สำหรับตัวนับความถี่หรือไมโครคอนโทรลเลอร์ที่เหมาะสมที่สุด ดูตารางด้านล่าง:

สำหรับ Arduino ขนาดความถี่ 20% นั้นเหมาะสม เพียงตั้งหมุด S0 เป็นสูงและ S1 เป็นต่ำ

การตรวจจับสีด้วย Arduino และ TCSP3200

ในตัวอย่างนี้คุณจะตรวจจับสีด้วย Arduino และเซ็นเซอร์สี TCSP3200 เซ็นเซอร์นี้ไม่แม่นยำมาก แต่ใช้งานได้ดีในการตรวจจับสีในโครงการที่เรียบง่าย

นี่คือลักษณะของแอพเปิดตัวของฉัน ห้าวิธีในการเริ่มโปรแกรมเมื่อเริ่มระบบ ป้อนรหัสต่อไปนี้และบันทึก หากโปรแกรมของคุณเริ่มต้นอย่างต่อเนื่องหรือเป็นไปได้ว่าจะไม่เสร็จสมบูรณ์คุณควรแยกกระบวนการโดยการเพิ่มเครื่องหมายและท้ายคำสั่งตัวอย่างเช่น

เครื่องหมายแอมเปอร์แซนด์อนุญาตให้ทีมเริ่มกระบวนการแยกต่างหากและโหลดต่อด้วยกระบวนการหลัก ตรวจสอบให้แน่ใจว่าได้รวมชื่อไฟล์แบบสัมบูรณ์ไม่สัมพันธ์กับโฟลเดอร์หลักของคุณ หากรหัสของคุณติดอยู่ลำดับการโหลดจะไม่สามารถดำเนินต่อไปได้ ดังนั้นควรระวังรหัสที่คุณพยายามเรียกใช้ในเวลาบูตและตรวจสอบรหัสอีกครั้ง คุณสามารถรับเอาต์พุตสคริปต์และข้อผิดพลาดที่เขียนไปยังไฟล์ข้อความและใช้สำหรับการดีบัก

รายละเอียดที่จำเป็น

รายการรายละเอียดที่จำเป็นสำหรับโครงการ:

  • เซ็นเซอร์สี TCSP3200 หรือ TCS230
  • Arduino uno
  • สายเชื่อมต่อ

แผนภาพการเดินสายไฟ

การเชื่อมต่อของเซ็นเซอร์ TCSP3200 กับบอร์ด Arduino นั้นตรงไปตรงมามาก เพียงทำตามรูปแบบดังต่อไปนี้



ไปที่บรรทัดสุดท้ายของสคริปต์และเพิ่ม ไดเรกทอรีนี้มีสคริปต์ที่ทำงานในระหว่างกระบวนการบูต เปิดไฟล์ตัวอย่างโดยใช้คำสั่งดังที่แสดงด้านล่าง การอนุญาตสำหรับไฟล์บล็อกจะต้องตั้งค่าเป็น 644 วิธีการเหล่านี้จะควบคุมจุดดาวน์โหลดที่สคริปต์ของคุณถูกเรียกใช้งานในเวลาบูต ตรวจสอบหน้าโครงการของเราสำหรับตัวอย่างเพิ่มเติม สมัครสมาชิกเพื่ออัปเดตบทความนี้

อ่านเอาต์พุตความถี่

คุณสามารถเรียกใช้สคริปต์หรือแอปพลิเคชันของคุณเป็น daemons ได้อย่างง่ายดาย daemon เป็นแอปพลิเคชันที่ทำงานเป็นกระบวนการ "พื้นหลัง" ตรวจสอบสถานะเริ่มต้นและหยุดให้บริการทำงานจนกว่าจะรีบูตครั้งถัดไป เพิ่มบริการหรือลบออกจากบริการที่ดาวน์โหลด โปรดทราบว่านี่ไม่ได้เริ่มต้นหรือหยุดให้บริการ แต่จะมีผลเฉพาะในการบู๊ตครั้งถัดไป

การเชื่อมต่อระหว่าง TCSP3200 และ Arduino:

  • S0: หน้าสัมผัสดิจิตอล 4
  • S1: พินดิจิตอล 5
  • vcc: + 5V
  • S3: พินดิจิตอล 6
  • S4: การติดต่อแบบดิจิตอล 7
  • ออก: พินดิจิตอล 8

รหัสโปรแกรม

สำหรับโครงการต้องใช้ 2 ร่าง:

  1. การอ่านและการแสดงความถี่เอาต์พุตบนมอนิเตอร์อนุกรม. ในส่วนนี้คุณต้องจดบันทึกค่าความถี่เมื่อคุณวางสีต่าง ๆ ไว้หน้าเซ็นเซอร์
  2. แยกแยะระหว่างสีที่ต่างกัน. ในส่วนนี้คุณจะแทรกค่าความถี่ที่เลือกไว้ก่อนหน้านี้ในรหัสของคุณเพื่อให้เซ็นเซอร์ของคุณสามารถแยกความแตกต่างระหว่างสีที่แตกต่างกัน เราจะตรวจจับสีแดงเขียวและน้ำเงิน

1. อ่านความถี่เอาต์พุต

ดาวน์โหลดรหัสต่อไปนี้ลงในบอร์ด Arduino

โปรดทราบว่าสคริปต์เหล่านี้จะต้องกลับมาควบคุมเพื่อเข้าสู่ระบบต่อไป เพิ่มแอปพลิเคชันไปยังบรรทัดใหม่ในไฟล์ โปรดทราบว่าไฟล์นี้ไม่ใช่สคริปต์ของเชลล์และดังนั้นจึงไม่อนุญาตให้ใช้การแสดงผาดโผนของเชลล์เช่นการเปลี่ยนเส้นทางและแชนเนล หากจำเป็นสามารถหลีกเลี่ยงสิ่งนี้ได้โดยการสร้างเชลล์สคริปต์ของคุณเองซึ่งในที่สุดก็สามารถรองรับฟังก์ชั่นเชลล์แบบเต็มได้

เนื้อหาของไฟล์บันทึกควรเป็นดังนี้ คุณจะต้องไปที่หน้าจอเปิดตัวแอปพลิเคชันเริ่มต้นซึ่งจะปรากฏในแท็บใหม่ ไม่กี่สัปดาห์ที่ผ่านมาบุ๊กมาร์กใหม่นั้นถูกแทนที่ด้วยหน้าเริ่มต้นซึ่งเพิ่มความสำคัญให้กับแถบค้นหาและหน้าที่คุณเยี่ยมชมล่าสุด ไอคอน "แอปพลิเคชัน" จะปรากฏในแถบบุ๊กมาร์กที่มุมซ้ายบนของหน้าจอ แต่ก็ยังเจ็บที่จะเริ่มต้นใช้งาน Mail ผ่านทาง

/ ********* Rui Santos เสร็จสิ้นรายละเอียดโครงการที่ http://randomnerdtutorials.com ********* / // TCS230 หรือ TCS3200 หมุดสายไฟไปยัง Arduino #define S0 4 # กำหนด S1 5 #define S2 6 #define S3 7 #define sensorOut 8 // เก็บความถี่ที่อ่านโดย photodiodes int redFrequency \u003d 0; int greenFrequency \u003d 0; int blueFrequency \u003d 0; การตั้งค่าเป็นโมฆะ () (// การตั้งค่าเอาต์พุต pinMode (S0, OUTPUT); pinMode (S1, OUTPUT); pinMode (S2, OUTPUT); pinMode (S3, OUTPUT); // การตั้งค่าเซ็นเซอร์เอาท์พุทเป็นเซ็นเซอร์อินพุต INPUT); // การตั้งค่าการปรับความถี่เป็น 20% digitalWrite (S0, สูง); digitalWrite (S1, LOW); // เริ่มการสื่อสารแบบอนุกรม Serial.begin (9600);) void loop () (// การตั้งค่า RED (R) โฟโตไดโอดที่กรองเพื่ออ่าน digitalWrite (S2, LOW); digitalWrite (S3, LOW); // การอ่านความถี่เอาท์พุท redFrequency \u003d pulseIn (sensorOut, LOW); // การพิมพ์ค่า RED (R) Serial.print ("R \u003d "); Serial.print (redFrequency); delay (100); // การตั้งค่ากรีน (G) โฟโตไดโอดที่กรองเพื่อให้อ่าน digitalWrite (S2, สูง); digitalWrite (S3, สูง); // การอ่านความถี่เอาต์พุตสีเขียวความถี่ \u003d pulseIn (sensorOut, LOW); // การพิมพ์ค่า GREEN (G) Serial.print ("G \u003d"); Serial.print (greenFrequency), การหน่วงเวลา (100); // การตั้งค่า BLUE (B) โฟโตไดโอดที่กรองแล้วเพื่ออ่าน digitalWrite (S2, LOW); digitalWrite (S3, HIGH); // Rea ding ความถี่เอาท์พุทสีฟ้าความถี่ \u003d pulseIn (เซ็นเซอร์ออกต่ำ); // การพิมพ์ค่า BLUE (B) Serial.print ("B \u003d"); Serial.println (blueFrequency); ล่าช้า (100); )

เปิดการตรวจสอบพอร์ตอนุกรมความเร็วพอร์ต 9600

วางวัตถุสีน้ำเงินไว้ด้านหน้าเซ็นเซอร์ในระยะทางที่ต่างกัน คุณควรบันทึกการวัดสองครั้ง: เมื่อวางวัตถุไว้ไกลจากเซ็นเซอร์และเมื่อวัตถุอยู่ใกล้


ตรวจสอบค่าที่แสดงบนมอนิเตอร์อนุกรม ความถี่สีน้ำเงิน (B) ควรต่ำที่สุดเมื่อเทียบกับการอ่านความถี่สีแดง (R) และสีเขียว (G) - ดูรูปด้านล่าง

หากคุณไม่มีคุณสามารถรับได้ เปิดบุรุษไปรษณีย์ผ่านตัวเรียกใช้งาน บันทึก. หากปรากฎว่าขนาดของไอคอนบนแถบเปิดใช้งานมีขนาดเล็กเกินไปหรือใหญ่เกินไปคุณสามารถปรับเป็นขนาดที่คุณต้องการ บนแท็บค้นหาให้ลากตัวเลื่อนขนาดไอคอนตัวเปิดไปทางซ้ายเพื่อขนาดที่เล็กกว่าหรือไปทางขวาเพื่อให้มีขนาดใหญ่ขึ้น คุณสามารถเปลี่ยนการตั้งค่าเริ่มต้นนี้ได้อย่างง่ายดาย คุณสามารถปรับความไวในการตรวจจับได้โดยใช้แถบเลื่อนบนแท็บพฤติกรรมด้านบน

เร่งรหัสประจำตัว

หากยังไม่สามารถใช้งานได้ดีคุณสามารถปรับปริมาณความดันของกล้ามเนื้อในเคล็ดลับถัดไป หากคุณไม่ชอบข้อเสนอเหล่านี้คุณสามารถปิดหรือกลับมาใช้ใหม่ได้ หากต้องการดำเนินการผลการค้นหาออนไลน์อย่างต่อเนื่องให้ทำตามขั้นตอนง่าย ๆ เหล่านี้


เมื่อเราวางวัตถุสีน้ำเงินไว้ด้านหน้าเซ็นเซอร์เซ็นเซอร์ความถี่สีน้ำเงิน (B) จะแกว่งระหว่าง 59   และ 223 (ดูค่าที่เน้นไว้)

บันทึก:  คุณไม่สามารถใช้ค่าความถี่เหล่านี้ (59 และ 223) ในรหัสของคุณคุณควรวัดสีสำหรับวัตถุเฉพาะของคุณด้วยเซ็นเซอร์สีของคุณเอง จากนั้นให้บันทึกขีด จำกัด ความถี่สูงสุดและต่ำสุดสำหรับสีน้ำเงินเนื่องจากคุณจะต้องใช้ภายหลัง

ทำซ้ำกระบวนการนี้ด้วยวัตถุสีเขียวและสีแดงและจดบันทึกขีด จำกัด ความถี่บนและล่างสำหรับแต่ละสี

ปิดใช้งานหรือเปิดใช้งานเมนูส่วนกลาง

เมนูจะปรากฏขึ้นเมื่อคุณวางเมาส์เหนือแถบหัวเรื่องหน้าต่าง หากต้องการเปิดใช้งานเมนูส่วนกลางให้ทำเครื่องหมาย“ บนแถบเมนู” ซ้ำเพื่อแสดงเมนูสำหรับหน้าต่าง เมื่อคุณเปิดแอปพลิเคชั่นโดยไม่ขยายใหญ่สุดคุณจะเห็นว่าระบบวางไว้ที่มุมซ้ายบนของเดสก์ท็อปเสมอ แต่คุณได้รับอนุญาตให้เปิดหน้าต่างโปรแกรมในกึ่งกลางของพื้นที่เดสก์ท็อป

เปลี่ยนวอลเปเปอร์อัตโนมัติ



เหล่านี้เป็นขั้นตอนง่าย ๆ ในการปรับแต่งธีม คุณสามารถกลับไปที่แถบเลื่อนปกติได้โดยเปลี่ยนการตั้งค่า วิธีการเกี่ยวกับการเปลี่ยนภาพพื้นหลังโดยอัตโนมัติในช่วงเวลาหนึ่งหรือไม่ การใช้อุปกรณ์นี้สำหรับเปลี่ยนภาพพื้นหลังคุณสามารถเปลี่ยนรูปพื้นหลังตามช่วงเวลาที่กำหนดจากแหล่งที่คุณตั้งค่าและเริ่มต้นด้วยพารามิเตอร์อื่น ๆ เช่นการใช้เอฟเฟกต์ตัวกรองสีและขนาดแบบสุ่มการตั้งค่าไอคอนตัวบ่งชี้ ฯลฯ


2. แยกแยะความแตกต่างระหว่างสีที่ต่างกัน

ภาพร่างถัดไปนี้จับคู่ค่าความถี่กับค่า RGB (ที่อยู่ระหว่าง 0 ถึง 255)

ในขั้นตอนก่อนหน้านี้เมื่อเรามีสีน้ำเงินสูงสุดเราได้ความถี่ 59 และเมื่อเรามีสีน้ำเงินที่ระยะที่สูงกว่าเราจะได้ 223

ดังนั้น 59 ในความถี่สอดคล้องกับ 255 (ใน RGB) และ 223 ในความถี่ถึง 0 (ใน RGB) เราจะทำสิ่งนี้กับ Arduino แผนที่ ()  ฟังก์ชัน ใน แผนที่ ()  ฟังก์ชันที่คุณต้องการแทนที่พารามิเตอร์ XX ด้วยค่าของคุณเอง

การตั้งค่ามุมมองเริ่มต้นในตัวจัดการไฟล์



เลือกไฟล์กด spacebar เพื่อดูตัวอย่าง . เมื่อคุณเริ่มตัวจัดการไฟล์ตามค่าเริ่มต้นคุณจะเห็นว่าไอคอนโฟลเดอร์ถูกกำหนดไว้ล่วงหน้าตามธีมที่คุณระบุ หากคุณต้องการเปลี่ยนไอคอนโฟลเดอร์ให้เป็นไอคอนอื่นเพื่อให้โดดเด่นจากไอคอนทั้งระบบให้ทำตามขั้นตอนต่อไปนี้:

การสร้างตัวจัดการไฟล์นามสกุล

หากคุณต้องการเปลี่ยนชื่อโฟลเดอร์หรือเขียนไฟล์นอกโฟลเดอร์หลักของคุณโดยใช้ตัวจัดการไฟล์คุณไม่สามารถทำได้ แต่คุณสามารถสร้างทางลัดเพื่อเปิดตัวจัดการไฟล์ขั้นสูงเพื่อจุดประสงค์นี้ ตอนนี้คุณสามารถเข้าถึงตัวจัดการไฟล์แบบขยายได้อย่างง่ายดายโดยการกดคีย์ผสมที่เหมาะสม แต่ระวังให้ดีเพราะคุณสามารถใช้มันเพื่อลบหรือแก้ไขไฟล์ใด ๆ ในระบบของคุณ

/ ********* Rui Santos ทำรายละเอียดโครงการให้เสร็จสมบูรณ์ที่ http://randomnerdtutorials.com ********* / // TCS230 หรือ TCS3200 หมุดสายไฟไปยัง Arduino #define S0 4 # กำหนด S1 5 #define S2 6 #define S3 7 #define sensorOut 8 // เก็บความถี่ที่อ่านโดย photodiodes int redFrequency \u003d 0; int greenFrequency \u003d 0; int blueFrequency \u003d 0; // เก็บสีแดง สีเขียวและสีน้ำเงิน int redColor \u003d 0; int greenColor \u003d 0; int blueColor \u003d 0; การตั้งค่าเป็นโมฆะ () (// การตั้งค่าเอาต์พุต pinMode (S0, OUTPUT); pinMode (S1, OUTPUT); pinMode (S2, OUTPUT); pinMode (S3, OUTPUT); // การตั้งค่าเซ็นเซอร์เอาท์พุทเป็นเซ็นเซอร์อินพุต INPUT); // การตั้งค่าการปรับความถี่เป็น 20% digitalWrite (S0, สูง); digitalWrite (S1, LOW); // เริ่มการสื่อสารแบบอนุกรม Serial.begin (9600);) void loop () (// การตั้งค่า RED (R) โฟโตไดโอดที่กรองเพื่ออ่าน digitalWrite (S2, LOW); digitalWrite (S3, LOW); // การอ่านความถี่เอาท์พุท redFrequency \u003d pulseIn (sensorOut, LOW); // การปรับค่าของความถี่ RED (R) จาก 0 ถึง 255 // คุณต้องแทนที่ด้วยค่าของคุณเองนี่เป็นตัวอย่าง: // redColor \u003d map (redFrequency, 70, 120, 255.0); redColor \u003d map (redFrequency, XX, XX, 255.0); // การพิมพ์ค่า RED (R) Serial.print ("R \u003d"); Serial.print (redColor); delay (100); // การตั้งค่าโฟโตไดโอดกรอง GREEN (G) ที่จะอ่าน digitalWrite (S2, HIGH); digitalWrite ( S3, สูง); // การอ่านเอาต์พุตความถี่สีเขียวความถี่ \u003d pulseIn (เซ็นเซอร์ออก ต่ำ); // การเปลี่ยนค่าของความถี่ GREEN (G) จาก 0 ถึง 255 // คุณต้องแทนที่ด้วยค่าของคุณเอง นี่คือตัวอย่าง: // greenColor \u003d map (greenFrequency, 100, 199, 255, 0); greenColor \u003d map (greenFrequency, XX, XX, 255, 0); // การพิมพ์ค่า GREEN (G) Serial.print ("G \u003d"); Serial.print (greenColor); ล่าช้า (100); // การตั้งค่า BLUE (B) โฟโตไดโอดที่กรองแล้วเพื่ออ่าน digitalWrite (S2, LOW); digitalWrite (S3, สูง); // การอ่านเอาต์พุต frequency blueFrequency \u003d pulseIn (sensorOut, LOW); // Remaping ค่าความถี่ BLUE (B) จาก 0 ถึง 255 // คุณต้องแทนที่ด้วยค่าของคุณเองนี่คือตัวอย่าง: // blueColor \u003d map (blueFrequency, 38, 84, 255, 0); blueColor \u003d map (blueFrequency, XX, XX, 255, 0); // การพิมพ์ค่า BLUE (B) Serial.print ("B \u003d"); Serial.print (blueColor); ล่าช้า (100); // ตรวจสอบสีที่ตรวจพบในปัจจุบันและพิมพ์ // ข้อความในมอนิเตอร์อนุกรมหาก (redColor\u003e greenColor &&ColorColor\u003e blueColor) (Serial.println ("- ตรวจพบ RED!");) หาก (greenColor\u003e redColor &&ColorColor\u003e blueColor ) (Serial.println ("- ตรวจพบ GREEN! ");) ถ้า (blueColor\u003e redColor && blueColor\u003e greenColor) (Serial.println (" - ตรวจพบ BLUE! ");))

ในการจำแนกความแตกต่างระหว่างสีต่าง ๆ เรามีเงื่อนไขสามประการ:

  • เมื่อ R มีค่าสูงสุด (ในพารามิเตอร์ RGB) จากนั้นวัตถุ สีแดง
  • เมื่อ G มีค่าสูงสุดแล้ววัตถุ สีเขียว
  • เมื่อ B มีค่าสูงสุดแล้ววัตถุ สีฟ้า

ตอนนี้วางบางสิ่งไว้ด้านหน้าของเซ็นเซอร์ ควรพิมพ์สีที่ตรวจพบในมอนิเตอร์อนุกรมของคุณ: แดงเขียวหรือน้ำเงิน

เพิ่มหรือเปลี่ยนแป้นพิมพ์ลัด

คีย์ลัดถูกกำหนดไว้ในระบบ แต่คุณสามารถเพิ่มปุ่มลัดใหม่หรือเปลี่ยนได้อย่างง่ายดาย

จบโปรแกรมโดยไม่มีปัญหา



อย่างไรก็ตามตัวแปลงสัญญาณที่จำเป็นสามารถติดตั้งได้อย่างง่ายดายสำหรับผู้เล่นเริ่มต้นในการเล่นไฟล์เหล่านี้ตามขั้นตอนง่ายๆด้านล่าง ไวโอลินเป็นแอปพลิเคชั่นขนาดเล็กสำหรับการนำเสนอสิ่งต่าง ๆ เช่นโน้ตนาฬิกาปฏิทินบนเดสก์ท็อปของคุณ

Prompt:เซ็นเซอร์ของคุณยังสามารถตรวจจับสีอื่นและชุดค่าผสมอื่น ๆ ดูแผนภูมิสี RGB, ตัวอย่างเช่นในโปรแกรมแก้ไขกราฟิก


Softovick

แรงบันดาลใจจากบทความฉันตัดสินใจที่จะพัฒนาธีมเล็กน้อยและกำหนดค่า autoload เซิร์ฟเวอร์ Domino เมื่อเริ่มต้นระบบ
  ฉันจะไม่คิดอะไรใหม่เพราะฉันจะอธิบายสั้น ๆ ว่าต้องทำอย่างไรเพื่อให้เซิร์ฟเวอร์ Lotus Domino เริ่มทำงานโดยอัตโนมัติเมื่อระบบบูทในหน้าจอ ดังนั้นเรามาเริ่ม:
  1 ขั้นตอน: เราจะสร้างสคริปต์เริ่มต้นเช่นเดียวกับในหัวข้อ
   sudo nano /etc/init.d/autostart.script
  ขั้นตอนที่ 2: แทรกบรรทัดต่อไปนี้ลงในนั้น
   #! / bin / bash
  หน้าจอ -A -m -d -S domino su - บันทึก -c "cd ~ && / opt / ibm / lotus / bin / เซิร์ฟเวอร์"
  สคริปต์นี้จะเริ่มเซสชันของหน้าจอจากรูทที่เรียกว่า "โดมิโน" เข้าสู่ระบบในฐานะผู้ใช้ "โน้ต" และเริ่มเซิร์ฟเวอร์
ขั้นตอนที่ 3: ทำให้ไฟล์สคริปต์สามารถทำงานได้และเพิ่มลงในการเริ่มต้น

  Voila อย่างที่คนฝรั่งเศสพูด
  เป็นผลให้เราได้รับสถานการณ์ที่เมื่อบูทระบบเซิร์ฟเวอร์จะเริ่มโดยอัตโนมัติ เซสชันหน้าจอจะถูกเปิดใช้งานในนามของรูทดังนั้นเพื่อดูผลลัพธ์ของการเปิดตัว (จะมีคอนโซลของเซิร์ฟเวอร์) คุณควรพิมพ์คำสั่ง sudo screen -r
  ป.ล. : ถ้ามีคนบอกฉันถึงวิธีการเริ่มต้นเซสชันหน้าจออย่างถูกต้องในนามของผู้ใช้ท้องถิ่นฉันจะขอบคุณ
ext 08.09.2009 น.
  เป็นผลมาจากการดำเนินการทดลองเป็นไปได้ที่จะระบุว่าวิธีนี้ทำงานได้ดีใน Ubuntu แต่ไม่ทำงานใน OpenSUSE 10 ก่อนอื่นเนื่องจากการขาดยูทิลิตี้ update-rc และประการที่สองเนื่องจากกลไกการเริ่มต้นแตกต่างกันเล็กน้อย ดังนั้นหากใครต้องการเริ่มต้นเซิร์ฟเวอร์ Domino ใน OpenSUSE สำหรับคุณในขั้นตอนที่ 3 จะมีลักษณะดังนี้: su
  chmod + x /etc/init.d/autostart.script
  ln -s /etc/init.d/autostart.script /etc/init.d/rc5.d/S95autostart.script/etc/init.d/
  บรรทัดแรกของไฟล์ควรระบุว่าเชลล์หรือล่ามจะใช้คำสั่งในไฟล์ หากคุณต้องการใช้คำสั่งเดียวกับในเทอร์มินัลไฟล์ควรเริ่มต้นด้วยบรรทัด:

ติดตั้งไดรฟ์อัตโนมัติเมื่อเริ่มต้นระบบ



ใช้ขั้นตอนเหล่านี้คุณสามารถเมานต์ดิสก์หรือพาร์ติชันโดยอัตโนมัติโดยไม่ต้องตั้งค่าด้วยตนเองสำหรับการเข้าถึงทุกครั้งที่ระบบเริ่ม รีบูตระบบและตรวจสอบว่ามีการติดตั้งพาร์ติชันหรือไม่ ยูทิลิตี้ไดรฟ์ที่กล่าวถึงยังเปิดโอกาสให้คุณดูหมายเลขอุปกรณ์ประเภทพาร์ติชันขนาดและป้ายกำกับ

แต่คุณจะทำให้มันทำงานในพื้นหลังเช่นเซิร์ฟเวอร์จริงได้อย่างไร และวางโปรแกรมของคุณในพื้นหลัง ดีดังนั้นเราต้องการบางสิ่งที่เชื่อถือได้มากขึ้น เหมือนปีศาจจริงที่ได้รับการยอมรับ ระบบปฏิบัติการ  เช่นนี้

   #! / bin / bash

2. คุณต้องอนุญาตให้เรียกใช้ไฟล์:

Sudo chmod + x /etc/init.d/autostart.script

3. เราบอกระบบว่าไฟล์นี้จะต้องถูกเรียกใช้เมื่อเริ่มต้นระบบ:

Sudo update-rc.d autostart.script ค่าเริ่มต้น 95

โดย 95 คือคำสั่งในคิวการดำเนินการ เรียนรู้เพิ่มเติมจาก

ผู้ชาย update-rc.d

เรารีสตาร์ทระบบและเพลิดเพลินกับผลลัพธ์🙂

ป.ล.
  หากต้องการลบจากการเริ่มต้นอัตโนมัติคุณต้องทำ:

ฉันบอกคุณแล้วว่าสคริปต์ธรรมดา ๆ เป็นเกมสำหรับเด็ก อันที่จริงแล้วมันมีขนาดกะทัดรัดคุณอาจพบว่าคุณเปลี่ยนเกือบทุกบรรทัดเนื่องจากมีเฉพาะสภาพแวดล้อมของเรา หรือทำลายมันถ้าคุณไม่ระวัง ดังนั้นคุณสามารถเรียกใช้ในฐานะผู้ใช้ที่มีสิทธิ์ จำกัด

สิ่งนี้ถูกกำหนดไว้ในสคริปต์พุ่งพรวดของเรา แต่การรอการเริ่มและหยุดเป็นเพียงทางลัด คุณสามารถเล่นกับทีมเพื่อค้นหาตัวเลือกอื่น ๆ ที่มีอยู่ แอปพลิเคชันเริ่มต้นเหล่านี้เรียกว่าโปรแกรมเริ่มต้นและเมื่อพวกเขาชะลอการเริ่มต้นระบบ มาดูกันว่าเราสามารถแก้ไขและจัดการแอปพลิเคชันที่ทำงานอยู่ได้อย่างไร ยูทิลิตี้ตัวเรียกใช้งานแอปพลิเคชันสามารถใช้เพื่อจัดการและจัดการแอปพลิเคชันตัวเรียกใช้งาน

Sudo update-rc.d autostart.script ลบ