<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Cách kiểm soát độ sáng đèn LED trên Raspberry Pi bằng PWM</title>
<meta name="description" content="Cách kiểm soát độ sáng đèn LED trên Raspberry Pi bằng PWM - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Cách kiểm soát độ sáng đèn LED trên Raspberry Pi bằng PWM">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;cach-kiem-soat-do-sang-den-led-tren-raspberry-pi-bang-pwm-6392.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-kiem-soat-do-sang-den-led-tren-raspberry-pi-bang-pwm-6392.html">
<link rel="shortcut icon" href="https://www.nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-kiem-soat-do-sang-den-led-tren-raspberry-pi-bang-pwm-6392.html">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://www.nguoicodonvn2008.info/">https://www.nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Cách kiểm soát độ sáng đèn LED trên Raspberry Pi bằng PWM</h1>
		<ul class="list-inline">
			<li>Thứ tư - 30/11/2022 23:50</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Cách kiểm soát độ sáng đèn LED trên Raspberry Pi bằng PWM" src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-5.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Nếu bạn thích làm đèn LED nhấp nháy trên&nbsp;Raspberry Pi, hãy đợi cho đến khi bạn biết cách kiểm soát độ sáng của nó! Hướng dẫn này sẽ làm việc với một cặp nút để điều chỉnh độ sáng của đèn LED trên Raspberry Pi.</p>

<p style="text-align: justify;">Nếu bạn mới bắt đầu dự án Raspberry Pi đầu tiên, thì đây là&nbsp;cách cài đặt nhanh một hệ điều hành cho Raspberry Pi trên thiết bị của bạn.</p>

<h2 style="text-align: justify;">PWM làm gì với đèn LED?</h2>

<p style="text-align: justify;">PWM, hay Pulse Width Modulation, là một phương pháp giả làm giảm điện áp đầu ra của các chân GPIO (General Purpose Input/Output) của Raspberry Pi. Giả nghĩa là bạn không thực sự giảm điện áp mà chỉ bật và tắt điện áp quá nhanh đến mức điện áp tổng thể trở nên thấp hơn điện áp thực mà bạn đang áp dụng.</p>

<p style="text-align: justify;">Đối với đèn LED hay Light-Emitting Diode, việc tăng điện áp tổng thể sẽ làm cho đèn sáng hơn, trong khi giảm điện áp sẽ làm cho đèn mờ đi. Nhưng vì Raspberry Pi không có đầu ra analog nên bài viết đang sử dụng PWM để kiểm soát độ sáng của đèn LED.</p>

<h2 style="text-align: justify;">Những thứ cần thiết</h2>

<ul>
	<li style="text-align: justify;">2 nút bấm</li>
	<li style="text-align: justify;">3 điện trở (250-550Ω sẽ hoạt động. Sử dụng định mức thấp hơn nếu đèn LED quá tối)</li>
	<li style="text-align: justify;">1 đèn LED (bất kỳ màu nào)</li>
	<li style="text-align: justify;">Breadboard</li>
	<li style="text-align: justify;">Dây jumper</li>
	<li style="text-align: justify;">Raspberry Pi (bất kỳ model nào ngoại trừ Pi Pico)</li>
</ul>

<h2 style="text-align: justify;">Cách sử dụng PWM để kiểm soát độ sáng của đèn LED trên Raspberry Pi</h2>

<p style="text-align: justify;">Hướng dẫn này đang sử dụng hai nút để làm cho đèn LED sáng hoặc mờ hơn với PWM. Nhấn nút “sáng hơn” sẽ tăng đầu ra PWM, trong khi nhấn nút “làm mờ” sẽ giảm đầu ra.</p>

<h3 style="text-align: justify;">Chuẩn bị mạch</h3>

<p style="text-align: justify;">1. Hãy bắt đầu với đèn LED. Trên breadboard, đặt đèn LED và kết nối một điện trở ở một bên. Phía điện trở được đặt không quan trọng.</p>

<p style="text-align: justify;"><img alt="Đặt đèn LED và kết nối một điện trở ở một bên" data-i="0" data-src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-1.jpg" data-was-processed="true" height="488" src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-1.jpg" width="650" /></p>

<p style="text-align: justify;">2. Kết nối một jumper với phía cực âm. Cái này sẽ trỏ đến chân 11 trên Raspberry Pi. Thêm một jumper khác dẫn đến đường màu xanh lam trên breadboard, sau đó thêm một jumper khác từ đường màu xanh lam đó đến chân 9 trên Raspberry Pi, đó là GND.</p>

<p style="text-align: justify;"><img alt="Kết nối các dây jumper" data-i="1" data-src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-2.jpg" data-was-processed="true" height="488" src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-2.jpg" width="650" /></p>

<p style="text-align: justify;"><strong>Lưu ý</strong>: Để tìm đúng số chân trên Raspberry Pi, hãy giữ bo mạch sao cho khay chân GPIO nằm ở bên phải. Chân trên cùng bên trái phải là chân 1, bên phải là chân 2 và bên dưới phải là chân 3.</p>

<figure>
<div style="text-align: justify;"><img alt="Sơ đồ chân Raspberry Pi" data-i="2" data-src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-3.jpg" data-was-processed="true" height="446" src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-3.jpg" width="650" /></div>

<figcaption>
<div style="text-align: justify;">Sơ đồ chân Raspberry Pi</div>
</figcaption>
</figure>

<p style="text-align: justify;">3. Bạn sẽ cần xây dựng các nút bấm. Đặt các nút bấm trên breadboard và thêm điện trở vào một chân của mỗi nút bấm. Phía bên kia của điện trở sẽ dẫn đến đường màu xanh của breadboard.</p>

<p style="text-align: justify;">4. Thêm dây jumper trong một kết nối song song với điện trở và nút bấm. Kết nối đầu kia của các chân này với các chân 13 (nút “Sáng hơn”) và 15 (nút “Mờ đi”).</p>

<p style="text-align: justify;"><img alt="Nút bấm trên breadboard" data-i="3" data-src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-4.jpg" data-was-processed="true" height="488" src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-4.jpg" width="650" /></p>

<p style="text-align: justify;">5. Sử dụng dây jumper để kết nối các nút bấm sang một bên với đường màu đỏ của breadboard.</p>

<p style="text-align: justify;"><img alt="Dây jumper màu đỏ trên nút bấm breadboard " data-i="4" data-src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-5.jpg" data-was-processed="true" height="488" src="https://st.quantrimang.com/photos/image/2022/11/30/kiem-soat-do-sang-den-led-pi-bang-pwm-5.jpg" width="650" /></p>

<p style="text-align: justify;">6. Kết nối đường màu đỏ với nguồn 3,3V trên Raspberry Pi, như chân 1.</p>

<p style="text-align: justify;">Nếu&nbsp;Python&nbsp;là ngôn ngữ lập trình của bạn, hãy tìm hiểu&nbsp;cách cài đặt và quản lý nhiều phiên bản Python trong Linux.</p>

<h3 style="text-align: justify;">Chuẩn bị code</h3>

<p style="text-align: justify;">Trên công cụ chỉnh sửa code yêu thích của bạn, hãy tạo một file mới và lưu dưới dạng “rpi-lcdpwm.py”.</p>

<p style="text-align: justify;">1. Bắt đầu với code bên dưới, cung cấp cho bạn hai cách nhập mô-đun trên Python: Cách đầu tiên nhập mô-đun&nbsp;<code>RPi.GPIO</code>&nbsp;và cho phép bạn gọi nó chỉ bằng&nbsp;<code>GPIO</code>&nbsp;và cách thứ hai chỉ nhập hàm&nbsp;<code>sleep()</code>&nbsp;từ toàn bộ mô-đun&nbsp;<code>time</code>.</p>

<pre id="pre0">
<code>import RPi.GPIO as GPIO
from time import sleep</code></pre>

<p style="text-align: justify;">2. Xác định số chân để giúp thay đổi dễ dàng hơn trong trường hợp bạn đổi ý sau này.</p>

<pre id="pre1">
<code>ledPin = 11
brightenButton = 13
dimButton = 15</code></pre>

<p style="text-align: justify;">3.&nbsp;<strong>Tùy chọn</strong>: Thêm dòng&nbsp;<code>GPIO.setwarnings(False)</code>&nbsp;để bạn có thể tránh thông báo cảnh báo GPIO khi khởi động script sau này.</p>

<p style="text-align: justify;">4. Thiết lập phương pháp chọn chân.&nbsp;<code>BOARD</code>&nbsp;là một lựa chọn tốt cho người mới bắt đầu, vì nó giúp tìm kiếm chân dễ dàng hơn mà không cần phải tham khảo sơ đồ chân. Phương pháp khác là&nbsp;<code>BCM</code>, viết tắt của “Broadcom”, sử dụng các số Broadcom được gán cho mỗi chân, số này có thể khác nhau tùy theo kiểu dáng của Raspberry Pi.</p>

<pre id="pre2">
<code>GPIO.setmode(GPIO.BOARD)</code></pre>

<p style="text-align: justify;">5. Gán các chân GPIO làm đầu vào hoặc đầu ra. Bài viết đang chỉ định&nbsp;<code>ledPin</code>&nbsp;làm chân đầu ra và sẽ luôn bắt đầu ở trạng thái&nbsp;<code>LOW</code>. Hai dòng tiếp theo đặt&nbsp;<code>BrightButton</code>&nbsp;và&nbsp;<code>dimButton</code>&nbsp;làm các chân đầu vào, lắng nghe những lần nhấn nút của bạn. Chúng cũng phải được đặt là&nbsp;<code>GPIO.PUD_DOWN</code>&nbsp;để chỉ định sử dụng điện trở được kéo xuống.</p>

<pre id="pre3">
<code>GPIO.setup(ledPin, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(brightenButton, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(dimButton, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)</code></pre>

<p style="text-align: justify;">6. Hãy khai báo PWM.&nbsp;<code>pwmLEDPin</code>&nbsp;là một biến giúp bạn dễ dàng nhập&nbsp;<code>GPIO.PWM(ledPin, 100)</code>&nbsp;sau này và lệnh&nbsp;<code>.start(0)</code>&nbsp;bắt đầu quá trình PWM. Bây giờ, bạn có thể thay đổi đầu ra của&nbsp;<code>ledPin</code>&nbsp;bằng PWM.</p>

<pre id="pre4">
<code>pwmLEDPin = GPIO.PWM(ledPin, 100)
pwmLEDPin.start(0)</code></pre>

<p style="text-align: justify;">7. Chu kỳ nhiệm vụ là tỷ lệ phần trăm thời gian mà chân hoạt động trong một sóng xung. Ở đây, ví dụ đang đặt chu kỳ nhiệm vụ thành 100% trước tiên.</p>

<pre id="pre5">
<code>dutyCycle = 100
GPIO.output(ledPin, GPIO.HIGH)</code></pre>

<p style="text-align: justify;">8. Đối với phần vòng lặp, bài viết đang thiết lập một vòng lặp&nbsp;<code>while</code>&nbsp;chạy hầu như mãi mãi.</p>

<pre id="pre6">
<code>while True:</code></pre>

<p style="text-align: justify;">9. Khi bắt đầu chu kỳ lặp này, chu kỳ nhiệm vụ cũng được cập nhật.</p>

<pre id="pre7">
<code>pwmLEDPin.ChangeDutyCycle(dutyCycle)</code></pre>

<p style="text-align: justify;">10. Hãy lập trình chức năng của&nbsp;<code>brightenButton</code>. Khi Raspberry phát hiện dòng điện chạy qua chân của&nbsp;<code>brightenButton</code>, nó sẽ hiển thị thông báo cho biết “brightenButton is HIGH”, cộng thêm 5 vào giá trị hiện tại của chu kỳ nhiệm vụ cho đến khi đạt 100.</p>

<pre id="pre8">
<code>if GPIO.input(brightenButton) == GPIO.HIGH:
                print(&quot;brightenButton is HIGH&quot;)
                if dutyCycle &lt; 100:
                        dutyCycle += 5
                        sleep(0.25)
                else: dutyCycle = 100</code></pre>

<p style="text-align: justify;">11. Khi lập trình hàm&nbsp;<code>dimButton</code>&nbsp;thì ngược lại, giảm giá trị đi 5 cho đến khi bằng 0.</p>

<pre id="pre9">
<code>elif GPIO.input(dimButton) == GPIO.HIGH:
                print(&quot;dimButton is HIGH&quot;)
                if dutyCycle &gt; 0:
                        dutyCycle -= 5
                        sleep(0.25)
                else: dutyCycle = 0</code></pre>

<h3 style="text-align: justify;">Code cuối cùng</h3>

<pre id="pre10">
<code>import RPi.GPIO as GPIO
from time import sleep
ledPin = 11
brightenButton = 13
dimButton = 15
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(ledPin, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(brightenButton, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(dimButton, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
pwmLEDPin = GPIO.PWM(ledPin, 100)
pwmLEDPin.start(0)
dutyCycle = 100
GPIO.output(ledPin, GPIO.HIGH)
while True:
        pwmLEDPin.ChangeDutyCycle(dutyCycle)
        if GPIO.input(brightenButton) == GPIO.HIGH:
                print(&quot;brightenButton is HIGH&quot;)
                if dutyCycle &lt; 100:
                        dutyCycle += 5
                        sleep(0.25)
                else: dutyCycle = 100
        elif GPIO.input(dimButton) == GPIO.HIGH:
                print(&quot;dimButton is HIGH&quot;)
                if dutyCycle &gt; 0:
                        dutyCycle -= 5
                        sleep(0.25)
                else: dutyCycle = 0</code></pre>

<h3 style="text-align: justify;">Làm cho code hoạt động</h3>

<p style="text-align: justify;">Trước tiên, bạn sẽ cần một terminal. Bạn có thể sử dụng terminal tích hợp sẵn của Raspberry Pi hoặc điều khiển Raspberry Pi thông qua&nbsp;SSH&nbsp;trên một máy tính riêng. Thông qua terminal, bạn nên đi tới thư mục của script Python và nhập&nbsp;<code>python3 rpi-ledpwm.py</code>&nbsp;hoặc tên file bạn đã sử dụng.</p>

<p style="text-align: justify;">Đôi khi đèn LED trông giống như đang nhấp nháy. Tần số PWM có thể quá thấp, nếu đúng như vậy. Bạn có thể tăng tần số bằng cách tăng số trong&nbsp;<code>pwmLEDPin = GPIO.PWM(ledPin, 100)</code>&nbsp;cho đến khi không còn thấy nhấp nháy nữa.</p>

<p style="text-align: justify;">Nếu bạn thấy quá trình chuyển đổi bị nhiễu hạt, hãy giảm thời gian&nbsp;<code>sleep(0.25)</code>&nbsp;bên trong vòng lặp&nbsp;<code>while</code>. Tuy nhiên, quá trình chuyển đổi sẽ nhanh hơn khi bạn hạ thấp mức thời gian này, vì vậy đừng hạ thấp quá nhiều.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-kiem-soat-do-sang-den-led-tren-raspberry-pi-bang-pwm-6392.html" title="Cách kiểm soát độ sáng đèn LED trên Raspberry Pi bằng PWM">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-kiem-soat-do-sang-den-led-tren-raspberry-pi-bang-pwm-6392.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://www.nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://www.nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<div id="run_cronjobs" style="visibility:hidden;display:none;"><img alt="cron" src="/index.php?second=cronjobs&amp;p=x3yYDlWB" width="1" height="1" /></div>
<script src="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://www.nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://www.nguoicodonvn2008.info",
            "logo": "https://www.nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>