步驟1:DeskClock板
首先,我開(kāi)始使用DeskClock板。在設(shè)計(jì)時(shí),我提供了6針連接器以允許連接編程電纜-這是板的照片,顯示了各種連接器。
當(dāng)然-當(dāng)我們將組件加載到板上時(shí),我們不會(huì)填充這些連接器-只需在其中進(jìn)行編程和測(cè)試即可。
這張照片中板背面的一面,而不是帶有所有LED的板正面,首先被填充。在制造過(guò)程中。
我用此板非常仔細(xì)地測(cè)量了要連接的各種連接的位置和間距。
現(xiàn)在-如何連接到板?很高興你問(wèn)。我用過(guò)彈簧針!
步驟2:Pogo引腳和其他硬件
Pogo引腳是專(zhuān)業(yè)人員在測(cè)試時(shí)用于臨時(shí)連接到板的引腳。它們有多種尺寸和形狀,并具有精密的彈簧加載機(jī)制,可確保將銷(xiāo)均勻地推向電路板。
我從eBay上的供應(yīng)商處購(gòu)買(mǎi)了Pogo銷(xiāo)-它們足夠便宜,我想我現(xiàn)在可以一輩子了!相同的供應(yīng)商還向我提供了其他我需要用來(lái)鉗住電路板的棘手硬件。
這里有幾張銷(xiāo)子本身,漂亮的電路板夾具和橡膠板間隔安裝件的照片。
第3步:測(cè)量和安裝電路板支架
所以,我有彈簧針和其他安裝硬件。我仔細(xì)測(cè)量了孔的大小和間距,并為激光切割機(jī)創(chuàng)建了布局。我也可以使用鉆頭簡(jiǎn)單地鉆出孔,但是切割器的重復(fù)性很好。
我決定將孔隔開(kāi),以使插針不在焊盤(pán)孔的中心-這樣可以確保插針牢固地接觸板子。
我還為Clamp設(shè)計(jì)了空間,并為板子背面設(shè)計(jì)了一些卡舌。
對(duì)于DeskClock板,板上裝有2.1mm軸向電源插座,我必須提供一個(gè)釋放孔。最后,別忘了用橡膠墊支撐電路板的背面。
步驟4:用于大腦的Raspberry Pi和1.8英寸彩色顯示屏
我需要更換筆記本電腦的東西,所以我決定使用Raspberry PI。
它可以很容易地安裝在編程器的底部,并使用一條簡(jiǎn)單的26線(xiàn)電纜連接到GPIO引腳,以連接DeskClock板和顯示器以及撥動(dòng)開(kāi)關(guān)。
我使用的特定引腳配置不是ortant-您將根據(jù)自己的需要使用自己的顯示器。
所用的顯示器是Sainsmart的1.8英寸顯示器-我6個(gè)月前帶了一大堆以防萬(wàn)一我發(fā)現(xiàn)它們的用途-這只是用途!我跟隨Marks博客http://marks-space.com/2012/11/23/raspberrypi-tft/重建Linux內(nèi)核以支持顯示。
Mark是正確的-在Pi上編譯內(nèi)核這是一個(gè)緩慢的過(guò)程-我讓它運(yùn)行了一整夜。
連接顯示器很簡(jiǎn)單,并且很快我有了一個(gè)工作正常的FrameBuffer2設(shè)備。
第5步:口袋固定1.8英寸顯示屏
我需要一種將LCD顯示屏安裝在夾具上的方法,以免搖動(dòng)。只需簡(jiǎn)單地將其傾斜即可-只需為其建立一個(gè)傾斜的口袋即可。
它整齊地坐落在設(shè)備的前部,以一定角度便于用戶(hù)觀看顯示器。
顯示器可以牢固安裝,但萬(wàn)一它可以應(yīng)該決定滑出,并將3毫米尼龍螺釘固定在適當(dāng)?shù)奈恢谩?/p>
可笑的是,我忘記了大約20年的丙烯酸使用經(jīng)驗(yàn),我在學(xué)校的商店里用了它,然后立即忘記了。 ,我的工作坊里有很多東西:-)
第6步:讓Pi成為程序員
構(gòu)建的下一部分是尋找軟件,使我可以直接用Pi對(duì)該板進(jìn)行編程。我決定使用史蒂夫·馬普爾(Steve Marple)在他的博客中介紹的方法:http://blog.stevemarple.co.uk/2013/03/how-to-use-gpio-version-of-avrdude-on.html。
在我的情況下,我使用了與GPIO引腳不同的1.8英寸LCD顯示屏。
當(dāng)我發(fā)現(xiàn)Pi正確編程時(shí),大聲歡呼。
有些人使用電平轉(zhuǎn)換器來(lái)保護(hù)PI-我沒(méi)有,該項(xiàng)目也可以正常運(yùn)行。
步驟7:撥動(dòng)開(kāi)關(guān)從DeskClock板上斷開(kāi)電源
我決定安裝一個(gè)撥動(dòng)開(kāi)關(guān)以斷開(kāi)DeskClock板上的電源,并告訴PI啟動(dòng)時(shí)間。
該開(kāi)關(guān)為DPDT,因此一半連接到+ 5v,
當(dāng)開(kāi)關(guān)關(guān)閉時(shí),GPIO引腳接地,而在打開(kāi)時(shí),GPIO引腳被拉高。我使用100歐姆電阻來(lái)確保GPIO引腳處于導(dǎo)通狀態(tài)。
步驟8:Sof接下來(lái),我編寫(xiě)了我的第一個(gè)Python程序。
我是C程序員-幸運(yùn)的是,有很多教程可以幫助您。
》我從一組樣本中獲取了大部分代碼,其中有人將其PI用作天氣顯示。
這是Pythonscript的代碼,該P(yáng)ython腳本讀取按鈕并控制顯示
#!/usr/bin/python
import pygame
import sys
import time
from time import strftime
import os
import subprocess
import RPI.GPIO as GPIO
GPIO.setmode(GPIO .BCM)
#如果不是os.getenv(‘SDL_FBDEV’):將幀緩沖設(shè)備設(shè)置為T(mén)FT :
os.putenv(‘SDL_FBDEV’,‘/dev/fb1’)
os .putenv(‘SDL_VIDEODRIVER’,‘fbcon’)
def displayTime():
#用于在TFT
屏幕上顯示日期和時(shí)間.fill((0,0,0))
font = pygame.font.Font(None,50)
現(xiàn)在= time.localtime()
用于在[(“%H:%M:%S”,60),(“%d% b“,10)]:
時(shí)間格式,dim =設(shè)置
currentTimeLine = strftime(現(xiàn)在為時(shí)間格式)
text = font.render(currentTimeLine,0,(0,250,150))
Surf = pygame.transform.rotate(text,-90)
screen.blit(Surf,(dim,20))
def displayText(text ,大小,行,顏色,clearScreen):
#用于在TFT屏幕上顯示文本
,如果clearScreen:
screen.fill((0,0,0))
font = pygame。 font.Font(無(wú),大?。?/p>
text = font.render(文本,0,顏色)
textRotated = pygame.transform.rotate(text,-90)
textpos = textRotated.get_rect()
textpos.centery = 80
如果line == 1:
textpos.centerx = 90
screen.blit(textRotated,textpos)
elif line == 2:
textpos.centerx = 40
screen.blit(textRotated,textpos)
def main():
全局屏幕
pygame.init()
size =寬度,高度= 128,160
黑色= 0,0,0
紅色= 255,0,0
綠色= 0,255,0
藍(lán)色= 0,0,255
白色= 255,255,255
fail_cnt = 0
GPIO.setup (18,GPIO.IN)
pygame.mouse.set_visible(0)
屏幕= pygame.display.set_mode(size)
displayText(“ DougsWordClock”,20,1,GREEN,True)
displayText( “ 150mm編程器”,20、2,藍(lán)色,F(xiàn)alse)
pygame.display.flip() displayText(“ Firmware Rev”,20、1,RED,True)
displayText(“ 20130520”,40,2,白色,F(xiàn)alse)
pygame.display.flip()
time.sleep(5)
而True:
displayText(“ Waiting” ,30,1,GREEN,True)
displayText(“ Insert Board”,20,2,BLUE,F(xiàn)alse)
pygame.display.flip()
如果(GPIO.input(18)):
displayText(“ Programming”,30,1,(200,200,1),True)
displayText(“ Wait 10 Sec”,30,2,RED,F(xiàn)alse)
pygame.display.flip()
這是實(shí)際執(zhí)行編程的Shell腳本:
#!/bin/sh
cd/home/pi
sudo avrdude -c gpio -p m169 -Uefuse:w:0xf5:m -U hfuse:w:0xDa:m -U lfuse:w:0xFF:m -Uflash:w:DeskClock-Prod.hex
當(dāng)然是您的夾具將具有不同的軟件:-)
第9步:一切正常!
最后,我連接了很多東西,并且很好用了!
我學(xué)到了關(guān)于drivin的知識(shí)這些小的1.8英寸LCD顯示屏,到現(xiàn)在我已將其用于微不足道的Pi項(xiàng)目的設(shè)備。
無(wú)論如何-這是運(yùn)行中的幾張照片。
享受。
在哪里從這里?
好吧,這是一個(gè)很酷的問(wèn)題-目前,程序員只需對(duì)電路板進(jìn)行編程,并驗(yàn)證微型閃存是否正確閃爍。我們通過(guò)視覺(jué)檢查L(zhǎng)ED的操作(從而使顯示屏明亮)-下一步是添加一個(gè)功能,該功能可以與運(yùn)行板進(jìn)行通信以驗(yàn)證RTC芯片/晶體組合的準(zhǔn)確性,并將時(shí)間流逝與互聯(lián)網(wǎng)進(jìn)行比較標(biāo)準(zhǔn)。那應(yīng)該不太難。..。.:-)
責(zé)任編輯:wv
-
PIC
+關(guān)注
關(guān)注
8文章
507瀏覽量
87677 -
POGO
+關(guān)注
關(guān)注
0文章
10瀏覽量
4332
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論