การจำลองวงจรอิเล็กทรอนิกส์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
THE PARTS OF A FLOWERING PLANT AND THEIR FUNTION.
Advertisements

จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
A1 Real Numbers (จำนวนจริง).
อัลกอริทึ่มทำงานวนซ้ำ
Computer Programming 1 LAB Test 3
Stack.
ออโตมาตาจำกัด FINITE AUTOMATA
การใช้ภาษาซี มาสั่งงานผ่านพอร์ตพริ้นเตอร์
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ผศ. บุรินทร์ รุจจน พันธุ์.. ปรับปรุง 19 ตุลาคม 2555 Introduction to Batch.
การเขียนโปรแกรมภาษาซี
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
คิว (Queue) Queue ADT Queue เป็น List ชนิดหนึ่ง แต่สำหรับ queue การแทรกข้อมูลลงบน queue (Insertion) จะทำที่ปลายใดปลายหนึ่งของ Queue ในขณะที่การลบข้อมูลออกจากคิว.
ผัก. หน่อไม้ ฝรั่ง กะหล่ำ ปลี แค รอท กะหล่ำ ดอก.
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Chapter 3 Simple Supervised learning
ครุศาสตรมหาบัณฑิต สาขาวิชา การสอนภาษาอังกฤษเพื่อ วิชาการและงานอาชีพ
คำสั่งวนซ้ำ.
Arduino.
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
โรคหัวใจและหลอดเลือด. กลุ่มกล้ามเนื้อหัวใจขาดเลือดชนิด ST Elevation MI หมายถึงกลุ่มโรคที่มีกล้ามเนื้อหัวใจขาดเลือด และตาย เฉียบพลัน ที่มีการเปลี่ยนแปลงทางคลื่นไฟฟ้าหัวใจชนิด.
ตอนที่ 2 โครงสร้างภาษา C Arduino เบื้องต้น
ยินดีต้อนรับ คณะกรรมการประเมินคุณภาพการศึกษาภายใน “สำนักส่งเสริมวิชาการและงานทะเบียน” วันอังคารที่ 23 สิงหาคม พ.ศ
Unit 4 : Job Application Letter
อ. ปิยวรรณ โถปาสอน
ความก้าวหน้าการพัฒนากฎหมาย ที่อยู่ในความรับผิดชอบของกรมอนามัย
การนำเสนอผลการจัดทำแผนและคำของบประมาณ
หน่วยที่ 3 องค์ประกอบของคอมพิวเตอร์
เครื่องมือวัดดิจิตอล
โครงสร้างการทำงานแบบวนซ้ำ
การเขียนโปรแกรมรับข้อมูลแบบอนาล็อก
กฎหมายที่เกี่ยวข้อง - ประมวลกฎหมายแพ่งและพาณิชย์ (สัญญา, หนี้ และลาภมิควรได้) - พ.ร.บ.ล้มละลาย พ.ศ.๒๔๘๓.
SPI.
อิเล็กทรอนิกส์.
“ชีวิตที่ไร้กังวล” A WORRY FREE LIFE. “ชีวิตที่ไร้กังวล” A WORRY FREE LIFE.
Applications of Standard Electrode Potentials
1. นี่เป็นสิ่งที่พระเยซูทรงทำ พระองค์ทรงรักษาทุกคน ที่เจ็บป่วยให้หายดี
Statistical Method for Computer Science
การควบคุมการทำงานด้วยภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
CIM2103 การวิเคราะห์เชิงปริมาณ
ความเป็นมาของศาลอาญาคดีทุจริตและประพฤติมิชอบ
โครงสร้างภาษา C Arduino

ที่เกี่ยวข้องกับสหกรณ์
สื่อการเรียนรู้ครูต้อม ประโยคควรรู้ในครอบครัว1 รายวิชาภาษาอังกฤษ ขั้นประถมศึกษาปีที่ 1-3 นางสาวลัดดาวัลย์ เขื่อนคำ ครูผู้สอน โรงเรียนสันมหาพนวิทยา อำเภอแม่แตง.
เดือนครอบครัวแข็งแกร่ง
ระเบียบกระทรวงมหาดไทย
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 04: การวิเคราะห์หาความซับซ้อนด้านเวลา ในรูป.
รายวิชา ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม
ตอนที่ 3: ท่านเป็นผู้ชอบธรรมได้อย่างไร?
การดำเนินงาน OSCC ศูนย์ช่วยเหลือสังคม
การควบคุมและตรวจสอบภายใน รองผู้ว่าการตรวจเงินแผ่นดิน
กฎหมายเกี่ยวกับ การเงินการคลัง
4.8 พัฒนาการเด็กวัยเรียน
มนุษย์กับเศรษฐกิจ.
ขั้นตอนที่ 1 ขั้นเตรียมการ
ขุนช้างขุนแผน ตอน ขุนช้างถวายฎีกา
โคลง ร่าย และ โดยครูธาริตา นพสุวรรณ
ความสุขที่มา พร้อมกับความกับวล กับปัญหาต่าง ๆ.
Find a Point that Partitions a Segment in a Given Ratio a:b
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part1.
ตอนที่ 6: ชอบธรรมที่ภายใน Part 6: Righteous On The Outside
การบัญชีตามความรับผิดชอบและ การประเมินผลการปฏิบัติงาน
By อาจารย์ปิยะพงษ์ ทวีพงษ์ โรงเรียนสาธิตมหาวิทยาลัยราชภัฏสวนสุนันทา
วิชา สังคมไทยในบริบทโลก
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
๒. คำซ้ำ ๒.๑ ลักษณะของคำซ้ำ คำซ้ำ
ตอนที่ 4: เคลื่อนไปกับของประทานของท่าน Part 4: Flowing In Your Gift
การวิเคราะห์และออกแบบขั้นตอนวิธี
Year 9 Term 1 Foundation (Unit 1) INTEGERS, ROUNDING AND PLACE VALUE
ใบสำเนางานนำเสนอ:

การจำลองวงจรอิเล็กทรอนิกส์ การเขียนแบบและออกแบบด้วยคอมพิวเตอร์ การจำลองวงจรอิเล็กทรอนิกส์ อ.กฤติเดช จินดาภัทร์ www.charprom.com

7seg-com-anode 7seg-com-cathode Logictoggle Ground Power Aurduino

7 Segment คือหน้าจอแสดงผลตัวเลข - ตัวอักษร (ได้บางตัว) ที่มีหน้าจอทำมาจากการจัดวางหลอด LED ในแนวยาว เมื่อทำให้หลอด LED แต่ละดวงติดพร้อมกัน ก็จะทำให้แสดงออกมาเป็นตัวเลขทรงเหลี่ยมได้

7 Segment

7 Segment Common Anode - ขาคอมม่อนจะต้องต่ออยู่กับขั่วบวก แล้วขาอื่นๆ ต่ออยู่กับกราว์ด จึงจะทำให้ส่วนนั้นๆติดสว่าง Common Cathode - ขาคอมม่อนจะต้องต่ออยู่กับขั่วลบ แล้วขาอื่นๆ ต่ออยู่กับขั้วบวก จึงจะทำให้ส่วนนั้นๆติดสว่าง

การเขียนโปรแกรม Arduino จะอาศัยรีจิสเตอร์ DDRD และ PORTD ในการสั่งงาน ซึ่งจะง่ายกว่าการใช้งาน pinMode() และ digitalWrite() มาก เนื่องจากการเซ็คค่าเข้าไปในรีจิสเตอร์ PORTD จะทำให้สามารถสั่งขาตั้งแต่ขา 0 ถึงขา 7 ได้พร้อมๆกัน ตามวงจรได้ต่อขา 0 - 6 ไว้กับขา a - g ดังนั้นหากต้องการแสดงเลข 1 จะต้องให้แถบ b และ c ติด ซึ่งจะต้องทำให้ขา b และ c เป็นลอจิก 0 ใน 7 Segment Comon Anode และขาอื่นๆเป็นลอจิก 1 หรือลอจิก 1 ใน 7 Segment Comon Cathode และขาอื่นๆเป็นลอจิก 0

การเขียนโปรแกรม Arduino เมื่อนำมาเรียงในเลขฐาน 2 จะได้เป็น 7 Segment Comon Anode ขา g ขา f ขา e ขา d ขา c ขา b ขา a เลขฐาน 2 1 1 1 1 0 0 1 0B11111001 7 Segment Comon Cathode 0 0 0 0 1 1 0 0B00000110

การเขียนโปรแกรม Arduino ทดสอบ ต่อ Arduino uno กับ 7 sm แบบ anode // Arduino 7 Segment example Develope by Commandrone // www.commandronestore.com } int a = 2; //ขา a ต่อเข้ากับ Pin 2 int b = 3; //ขา b ต่อเข้ากับ Pin 3 int c = 4; //ขา c ต่อเข้ากับ Pin 4 int d = 5; //ขา d ต่อเข้ากับ Pin 5 int e = 6; //ขา e ต่อเข้ากับ Pin 6 int f = 7; //ขา f ต่อเข้ากับ Pin 7 int g = 8; //ขา g ต่อเข้ากับ Pin 8 int point = 9; //ขา h หรือจุด ต่อเข้ากับ Pin 9 void setup() { pinMode(a, OUTPUT); //a pinMode(b, OUTPUT); //b pinMode(c, OUTPUT); //c pinMode(d, OUTPUT); //d pinMode(e, OUTPUT); //e pinMode(f, OUTPUT); //f pinMode(g, OUTPUT); //g pinMode(point, OUTPUT); //point } void showNumber(int number) //สร้าง Function ชื่อ showNumber ที่ใช้ในการแสดงผลตัวเลข โดยรับค่า number จาก void loop มาอีกที การสร้าง fuction จะช่วยให้ประหยัดพื้นที่และทำให้ไม่สับสนในการเรียกใช้งานโปรแกรม { //เงื่อนไขที่ Segment a ไฟติด เมื่อไม่ใช่เลข 1 และเลข 4 if(number != 1 && number != 4) digitalWrite(a,LOW); //เมื่อมีสถานะเป็น LOW ไฟจะติด เพราะเป็นแบบ Common Anode  //เงื่อนไขที่ Segment b ไฟติด if(number != 5 && number != 6) digitalWrite(b,LOW); //เงื่อนไขที่ Segment c ไฟติด if(number != 2) digitalWrite(c,LOW); //เงื่อนไขที่ Segment d ไฟติด if(number != 1 && number != 4 && number != 7) digitalWrite(d,LOW); //เงื่อนไขที่ Segment e ไฟติด เมื่อเป็นเลข 2 หรือ 6 หรือ 8 หรือ 0 if(number == 2 || number == 6 || number == 8 || number == 0) digitalWrite(e,LOW); //เงื่อนไขที่ Segment f ไฟติด if(number != 1 && number != 2 && number != 3 && number != 7) digitalWrite(f,LOW); //เงื่อนไขที่ Segment g ไฟติด if (number != 0 && number != 1 && number != 7) digitalWrite(g,LOW); } void turnOff() //สร้าง Function ชื่อ turnOff ที่ใช้ในการดับไฟทั้งหมด เพื่อ Reset เมื่อกำลังจะเปลี่ยนเป็นอีกตัวเลขหนึ่ง { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(point,HIGH); } void loop() { //ทำการแสดงผลเลข 0 - 9 วนไปเรื่อยๆจนกว่าจะหยุดจ่ายไฟ  for(int i=0;i<10;i++) { showNumber(i); //เรียกใช้ Function showNumber โดยส่งค่า i ไปให้ตัวแปร Number ใช้ในการประมวลผล delay(1000); turnOff(); //ทำการดับไฟทั้งหมดเมื่อกำลังจะเปลี่ยนตัวเลข เพื่อไม่ให้ไฟดวงเดิมค้างสถานะติดไว้ }

การเขียนโปรแกรม Arduino ทดสอบ ต่อ Arduino uno กับ 7 sm 2 ตัว แบบ anode //SSD is Seven-Segment Display void setup() { for (int i = 0; i <= 13; i++) pinMode(i, OUTPUT); //Set all pins from 0 to 13 as OUTPUT } //The line below is the array containing all the binary numbers for the digits on a SSD from 0 to 9 const int number[11] = {0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010, 0b0000010, 0b1111000, 0b0000000, 0b0010000}; void loop() { for (int tens = 0; tens < 10; tens++) { display_tens(tens); } } void display_tens(const int tens) { int pin1, a, ones; //pin1 is just used to deal with pins of the 1st SSD which desplays the tens digit for (pin1 = 0, a = 0; pin1 < 7; pin1++, a++) { digitalWrite(pin1, bitRead(number[tens], a)); } for (ones = 0; ones < 10; ones++) { display_ones(ones); delay(300); //I have given a delay of 300 milliseconds. You can put your own Time!! } } void display_ones(const int x) { int pin2, b; //pin2 is just used to deal with pins of the 2nd SSD which desplays the ones digit for (pin2 = 7, b = 0; pin2 <= 13; pin2++, b++) { digitalWrite(pin2, bitRead(number[x], b)); } }

A & Q Thank You ! www.charprom.com