0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PIC的電子骰子DIY圖解

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-21 11:31 ? 次閱讀

步驟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引腳是專業(yè)人員在測(cè)試時(shí)用于臨時(shí)連接到板的引腳。它們有多種尺寸和形狀,并具有精密的彈簧加載機(jī)制,可確保將銷均勻地推向電路板。

我從eBay上的供應(yīng)商處購(gòu)買了Pogo銷-它們足夠便宜,我想我現(xiàn)在可以一輩子了!相同的供應(yīng)商還向我提供了其他我需要用來(lái)鉗住電路板的棘手硬件。

這里有幾張銷子本身,漂亮的電路板夾具和橡膠板間隔安裝件的照片。

第3步:測(cè)量和安裝電路板支架

所以,我有彈簧針和其他安裝硬件。我仔細(xì)測(cè)量了孔的大小和間距,并為激光切割機(jī)創(chuàng)建了布局。我也可以使用鉆頭簡(jiǎn)單地鉆出孔,但是切割器的重復(fù)性很好。

我決定將孔隔開(kāi),以使插針不在焊盤孔的中心-這樣可以確保插針牢固地接觸板子。

我還為Clamp設(shè)計(jì)了空間,并為板子背面設(shè)計(jì)了一些卡舌。

對(duì)于DeskClock板,板上裝有2.1mm軸向電源插座,我必須提供一個(gè)釋放孔。最后,別忘了用橡膠墊支撐電路板的背面。

步驟4:用于大腦的Raspberry Pi和1.8英寸彩色顯示屏

我需要更換筆記本電腦的東西,所以我決定使用Raspberry PI。

它可以很容易地安裝在編程器的底部,并使用一條簡(jiǎn)單的26線電纜連接到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è)備的前部,以一定角度便于用戶觀看顯示器。

顯示器可以牢固安裝,但萬(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),我編寫了我的第一個(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è)置為TFT :

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PIC
    PIC
    +關(guān)注

    關(guān)注

    8

    文章

    507

    瀏覽量

    87355
  • POGO
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    4302
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EN8F1823E完全替代PIC16F883,PIC16F1883,PIC16F1936,PIC16F1937

    PIC
    捷尚微輝芒微MCU單片機(jī)
    發(fā)布于 :2024年07月30日 16:59:15

    解決方案丨電力電子教學(xué)解決方案-PPEC開(kāi)關(guān)電源DIY套件

    為解決電力電子教學(xué)內(nèi)容復(fù)雜、理論與實(shí)際脫節(jié)等問(wèn)題,森木磊石新推出了電力電子教學(xué)解決方案——PPEC開(kāi)關(guān)電源DIY套件,助力學(xué)生輕松制作專業(yè)生涯的第一個(gè)開(kāi)關(guān)電源。PPEC開(kāi)關(guān)電源DIY
    的頭像 發(fā)表于 07-11 08:23 ?909次閱讀
    解決方案丨電力<b class='flag-5'>電子</b>教學(xué)解決方案-PPEC開(kāi)關(guān)電源<b class='flag-5'>DIY</b>套件

    音箱制作過(guò)程圖解

    電子發(fā)燒友網(wǎng)站提供《音箱制作過(guò)程圖解.doc》資料免費(fèi)下載
    發(fā)表于 04-28 09:27 ?10次下載

    PIC18F2682/2685/4682/4685 數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《PIC18F2682/2685/4682/4685 數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 10:47 ?0次下載

    斷路器控制回路接線圖解

    斷路器控制回路接線圖解
    的頭像 發(fā)表于 12-16 09:37 ?1798次閱讀
    斷路器控制回路接線<b class='flag-5'>圖解</b>

    電路圖的符號(hào)大全圖解

    電子發(fā)燒友網(wǎng)站提供《電路圖的符號(hào)大全圖解.pdf》資料免費(fèi)下載
    發(fā)表于 11-18 11:13 ?30次下載
    電路圖的符號(hào)大全<b class='flag-5'>圖解</b>

    mp3diy原理圖

    電子發(fā)燒友網(wǎng)站提供《mp3diy原理圖.rar》資料免費(fèi)下載
    發(fā)表于 11-17 15:33 ?1次下載
    mp3<b class='flag-5'>diy</b>原理圖

    電子DIY小制作

    簡(jiǎn)介:學(xué)會(huì)DIY小制作,帶動(dòng)對(duì)編程的興趣,慢慢愛(ài)上編程,自我提高技術(shù)。
    發(fā)表于 11-15 14:32 ?0次下載
    <b class='flag-5'>電子</b>琴<b class='flag-5'>DIY</b>小制作

    PIC16F73

    電路PIC
    jf_34538777
    發(fā)布于 :2023年11月15日 14:24:18

    Arduino篇—電子骰子

    在Arduino中,random()函數(shù)用來(lái)產(chǎn)生偽隨機(jī)數(shù),可以傳入一個(gè)區(qū)間,產(chǎn)生此區(qū)間內(nèi)的隨機(jī)數(shù)。
    的頭像 發(fā)表于 11-01 10:15 ?949次閱讀
    Arduino篇—<b class='flag-5'>電子</b><b class='flag-5'>骰子</b>

    DIY一按即拍的樹(shù)莓派相機(jī)

    電子發(fā)燒友網(wǎng)站提供《DIY一按即拍的樹(shù)莓派相機(jī).pdf》資料免費(fèi)下載
    發(fā)表于 10-31 09:18 ?0次下載
    <b class='flag-5'>DIY</b>一按即拍的樹(shù)莓派相機(jī)

    基于PIC單片機(jī)的AES算法優(yōu)化設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于PIC單片機(jī)的AES算法優(yōu)化設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:46 ?0次下載
    基于<b class='flag-5'>PIC</b>單片機(jī)的AES算法優(yōu)化設(shè)計(jì)

    基于PIC單片機(jī)的便攜式氣體測(cè)漏儀

    電子發(fā)燒友網(wǎng)站提供《基于PIC單片機(jī)的便攜式氣體測(cè)漏儀.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:45 ?0次下載
    基于<b class='flag-5'>PIC</b>單片機(jī)的便攜式氣體測(cè)漏儀

    基于PIC單片機(jī)的起爆控制系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于PIC單片機(jī)的起爆控制系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:39 ?0次下載
    基于<b class='flag-5'>PIC</b>單片機(jī)的起爆控制系統(tǒng)

    網(wǎng)友DIY增益天線大集合

    電子發(fā)燒友網(wǎng)站提供《網(wǎng)友DIY增益天線大集合.doc》資料免費(fèi)下載
    發(fā)表于 10-30 08:31 ?1次下載
    網(wǎng)友<b class='flag-5'>DIY</b>增益天線大集合