Atmega328P Datasheet 18. I/O Ports 1

Started by tha, August 25, 2019, 09:42:42 AM

Previous topic - Next topic

tha

ลองให้มันสลับตัวอักษรไปพร้อมกับไฟกระพริบดูบ้าง โดยใช้ถ่าน 2 ก้อน เดี๋ยวจะลองดูว่าทำงานได้นานแค่ไหน ตอนนี้วัดไฟได้ 3.04V ครับ
http://www.mediafire.com/file/oix3gm9uud86dge/GLCD5110_32u4_3.rar/file

https://www.youtube.com/v/Od2jlboJQ3c

tha

ท่านใดเรียกร้องมาจะเอากราฟฟิค ก็ตัวอย่าง stm32 ของ Inex เขา นานแล้ว ขอขอบคุณมา ณ ที่นี้ด้วยครับ เขียน pixel, เขียนเส้นและเขียนสี่เหมี่ยม
http://www.mediafire.com/file/gb54f1odgwnda7u/GLCD5110_32u4_4.rar/file


tha

ตัวอย่างกราฟฟิคเป็นเฮดเดอร์ไฟล์ GLCD5110_32u4.h เป็น font ใน RAM นะ แก้เอาไฟล์ GLCD5110_32u4_1.h font ใน flash ROM มาใส่แทนก็ได้ จะได้ประหยัด RAM รีบไปหน่อยไม่ได้ดู ไปก๊อบปี้ตัวอย่างแรกมาใช้ ที่เป็น font ใน RAM

คราวนี้มาตัวอย่าง progress bar บ้าง ก็ไม่ยาก วันนี้ก็พอแค่นี้ก่อน คงไม่มีอะไรเพิ่มเติมแล้วนะ
http://www.mediafire.com/file/ehonrk5wavbuymg/GLCD5110_32u4_5.rar/file



tha

พอดีมี crystal 8MHz เก็บไว้ในกล่องเก็บไอซี ก็เลยเอามาเปลี่ยนแทน crystal 16MHz ของบอร์ด ET-BASE AVR EASY32U4 ถาวรเลยจะดีกว่า จะได้ใช้ไฟ 3.3V ได้ ก็สามารถเปลี่ยนได้



โปรแกรมต่อๆไป จะใช้ crystal 8MHz แล้วนะ ก็แก้ง่ายๆ แค่ comment out ตัวหาร prescaler ออก ก็เป็น 8MHz แล้วเพราะเราเปลี่ยนเป็น crystal 8MHz แล้ว ส่วน fuse bits ก้คงเดิม ลองเช็ค clock บิทดู
Quote
    /*CLKPR = 0x80;          // set CLKPCE to 1 while set CLKPS to 0
    CLKPR = 0x01;          // set CLKPCE to 0 while set CLKPS to 1
                          // to prescaler with 2 to divide clock 16Mhz to 8Mhz
    for( w=0; w<5; w++ )
     {
         asm volatile ("nop" :: );   // No operation for 5 cycle
       }*/

ส่วนไฟ backlight ผมก็เปลี่ยนมาใช้พิน PC7 จะได้อยู่สล็อตเดียวกันกับพินอื่น PC7 มันขับหลอด LED D13 อยู่ แต่ผมวัดกระแสดูแล้ว บอร์ดกินกระแสแค่ 9.28 mA เอง พินขับกระแสได้ถึง 40mA เลยไม่มีปัญหาอะไร ใช้พิน PC7 ขับ LED ของจอ nokia5110 เพิ่มได้ ลองแก้ใขกันดูนะ ไม่ยาก ท่านใดแนะนำมาไม่รู้

ที่โปรแกรมที่ 3 ผมเขียนโปรแกรมตกไม่ใส่  lcdUpdate(); สองจุด ลองเช็คแล้วแก้ใขดูนะครับ

tha

เปลี่ยน crystal เป็น 8MHz แล้ว ใช้ไฟ 3.3V ตัวอย่างที่ 3 ลองแก้ใขตามที่บอกไปดูนะครับ

https://www.youtube.com/v/q5omiesI8p4


tha

มีตัวอย่างที่แก้แล้วให้ดูครับ 
http://www.mediafire.com/file/szpcqhm14hstay9/GLCD5110_32u4_3%25282%2529.rar/file

ปล. ผมเข้าใจนะ มาคิดถึงตัวเอง เรียน ปวช.ก็กินเหล้าเล่นไพ่ ปวส.ก็กินเหล้า จบปวส.ไฟฟ้ามาก็เป็นแต่ตีกิ๊บตามบ้านจัดสรร สอบเข้าโรงปูนตรานกได้ ไม่ใช่เก่งนะ พอดีเขาเกณฑ์คนไปกันพนักงานประท้วง ก็เลยแก้วิกฤตให้เป็นโอกาศเร่งศึกษา จบปวส.มา 5ปีถึงไปสอบปริญญาตรีได้ อายุสี่สิบกว่าถึงจะอ่านภาษาอังกฤษโดยไม่ใช้ดิกได้ แต่ก็ได้แต่อ่านคู่มือไมโครฯซึ่งเป็นศัพท์เฉพาะ ศัพท์อื่นก็ไม่ค่อยได้เหมือนกัน แตก็อย่างว่านะ ประเทศเราอยู่เขตร้อน พอร้อนขึ้นมาก็อ่านหนังสือไม่ได้ ไม่มีอารมณ์อ่านหนังสือแล้ว เที่ยวเกเรไป ถึงไม่เจริญทางด้านวัตถุ(แต่ทางด้านจิตใจ พระพุทธศาสนาเราดีกว่าเขานะ ผมว่า) ไม่ได้หนาวเย็นมีหิมะตกอย่างจีน ญี่ปุ่น เกาหลี ยุโรป เมกาเขานิ

tha

ท่านใดแนะนำให้ทำเฮดเดอร์ไฟล์ของจอ LD16x4(LCD16x2 ก็เหมือนกัน ใช้ไฟล์ร่วมกันได้) ให้แยกขาพินแต่ละขาเลย จะได้แก้ขาพินง่ายๆเหมือนอย่างที่ทำกับของ nokia5110 ก็ทำตามที่เรียกร้องกันนะ ก็ง่ายๆ แยกขากันเลย จะเปลี่ยนไปใช้ขาอื่นได้ง่ายเลย ลองดู โปรแกรมนี้ยังไม่ได้ลองนะ คิดว่าไม่น่ามีอะไรผิดพลาด ลองดูกันเอาเองนะครับ

http://www.mediafire.com/file/hjof3974p5w5rw3/LCD16x4_32u4_1.rar/file

tha

ท่านใดให้ทดลองทำ ADC แล้วมาแสดงที่จอ LCD16x4 ดู ใช้เฮดเดอร์ไฟล์ LCD16x4_2.h ที่เขียนใหม่ สามารถที่จะแก้ขาพินได้ง่าย จะใช้ขาพินไหนเป็นขาไหนก็ได้ แล้วแต่เราจะออกแบบเลย เพียงเปลี่ยนแค่การ define เท่านั้น มีโปรแกรมตัวอย่าง ลองเอาไปตรวจเช็คแล้วลองแก้เปลี่ยนขากันได้เลย ขาไหนเป็นขาไหนได้ทั้งนั้นเลย

http://www.mediafire.com/file/93c0lygtabndm2w/LCD16x4_32u4_adc5.rar/file



ของจอ nokia5110 ก็เหมือนกัน เปลี่ยนขาได้เพราะเราไม่ได้ใช้พอร์ต spi ลองเปลี่ยนกันดูนะ

ปล. ธรรมะสักข้อ ฆารวาสธรรม อ่านท่องสวดภาวนากันบ่อยๆ ก็จะกลายเป็นโปรแกรมของใจเรา เป็นคุณธรรมประจำใจของเราครับ
http://www.84000.org/tipitaka/dic/d_item.php?i=139
http://www.84000.org/tipitaka/dic/