網頁設計
影片
VIDEO
伺服馬達接線圖
黃線 接 GPIO27 、 紅線 接 5V 、 黑線 接 GND
ESP32 電力只能鞭策一個馬達,若是要推動兩個馬達就要外接電源了
程式碼
#include <Servo.h>
Servo myservo; // 建立伺服馬達節制
// 伺服馬達的毗連 GPIO
static const int servoPin = 27;
int pos = 0;
void setup() {
// put your setup code here, to run once:
myservo.attach(servoPin); // 將伺服馬達毗連的GPIO pin毗連伺服物件
Serial.begin(115200);//序列阜連線速度
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()){ //
int num = Serial.parseInt(); // case 前置 num(數字鍵)
switch(num) { //
case 1 : //1~9
for(pos = 0; pos < 180; pos += 1) // 一度一度由 0 度旋轉到 180 度
myservo.write(pos);
delay(200);
break;
case 2 : // 1~9
for(pos = 180; pos>=1; pos-=1) // 一度一度由 180 度旋轉到 0 度
myservo.write(pos);
delay(200);
break;
}
}
}
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
先到 pytorch 官網 對應一下CUDA版本及指令
我的環境是:
Python 3.10
Nvidia driver 522.25
Cuda 11.7
Conda
Cudnn 8.7
安裝方式可參閱此篇文章 :Win10用 Anaconda 建 3070系列的 Tensorflow 深度進修情況
先下載CUDA 11.7 載點
下載安裝好今後,把CUDNN 三個目次COPY到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7下
到PyCharm 終端機下指令 先建一個虛擬環境
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
指定佈景圖片巨細
background-size:bg-size , bg-size
bg-size = auto | length | percentage | cover | contain
預設值為auto ,即靠山圖片原始長寬。
length 指定圖片具體巨細的數值,不允許負值。
percentage 以佈景圖地點元素的百分比指定後臺圖巨細,不答應負值。
length 與percentage 可設定2數值,也可只設定1個數值,當只設定一個數值,另一個數值(高)預設值為auto ,此時高度以配景圖原始寬高比例,自動縮放。
cover 主要用於背景圖小於地點的內容,而配景圖又不合適利用repeat,此時就能夠採用cover的體式格局,使配景圖放大至內容的巨細 ,但此方法輕易使背景圖因放大而失真 。
contain 與cover正好相反,首要用於後臺圖大於地點內容,但卻需要將靠山圖完全呈現,此時便可採用contain的方式,使靠山圖縮小至內容的大小 。
結果呈現 為了讓出現效果有明顯的區別,典範中的屬性預設為:
width:300px;height:200px;border:1px solid #CCC;background:#FFFFFF url(bg.jpg) no-repeat left top;
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
若是編譯直行時呈現以下訊息,就是電腦與 Arduino 板子無法溝通
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9f
1.USB 有無毗連。網頁設計 (看 Arduino 板子上的燈有沒有亮就能夠確認這點)
2.有無設定 Arduino 的驅動程式。網頁設計
3.Arduino Board 的板型是不是准確 (選擇 Arduino IDE 功能表中的 Tool/Board 確認板型)
4.COM port 設定是否准確。網頁設計
選擇 Arduino IDE 功能表中的 Tool/Serial port 確認 port
您可以用裝配辦理員看看 (Windows 當選 裝配管理員/毗鄰埠/),由於我的 Arduino-UNO 用 USB 摹擬為 COM11,是以我在 Tool/Serial port 必需選擇 COM11
5.最後是PROCESSOR是不是選取准確
文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
用ESP32 PWM實現LED漸漸亮起。
程式的部分首要分成三個:1.設定頻道LEDchannel、2.附加到PIN腳、3.決意輸出巨細。
1.設定頻道LEDchannel屬性
ledcSetup(LEDChannel, freq, resolution);
//LEDChannel設定為0,分歧輸出要設定到分歧頻道,例如RGB LED就要開三個頻道別離辦理R、G、B
//freq輸出頻率,建議值5000 Hz
//resolution代表輸出解析度,例如8代表0-255,10代表0-1023
2.附加到PIN腳
ledcAttachPin(ledPin, LEDChannel);
//ledPin代表腳位,看你把裝備接在哪一個腳位上面
//LEDchannel代表步調1所宣佈的LEDchannel,也就是說把設定好的LEDchannel屬性附加到某個腳位上
3.決議輸出巨細。
ledcWrite(LEDChannel, dutyCycle);
//將LEDchannel輸出dutyCycle的值。
典範榜樣程式將使接在Pin16的LED逐漸亮起並熄滅,類型複製於 https://randomnerdtutorials.com/esp32-pwm-arduino-ide/
// the number of the LED pin
const int ledPin = 16; // 16 corresponds to GPIO16
// setting PWM properties
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 8;
void setup(){
// configure LED PWM functionalitites
ledcSetup(ledChannel, freq, resolution);
// attach the channel to the GPIO to be controlled
ledcAttachPin(ledPin, ledChannel);
}
void loop(){
// increase the LED brightness
for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){
// changing the LED brightness with PWM
ledcWrite(ledChannel, dutyCycle);
delay(15);
}
// decrease the LED brightness
for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){
// changing the LED brightness with PWM
ledcWrite(ledChannel, dutyCycle);
delay(15);
}
}
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
在測試 mnist 數字辨識時
代碼來源
https://hackmd.io/@Maxlight/SkuYB0w6_#3-hyperparameter
import torch
from torch.utils import data as data_
import torch.nn as nn
from torch.autograd import Variable
import matplotlib.pyplot as plt
import torchvision
import os
EPOCH = 1
BATCH_SIZE = 50
LR = 0.001
DOWNLOAD_MNIST = False
train_data = torchvision.datasets.MNIST(root = './mnist',train = True,transform = torchvision.transforms.ToTensor(),download = DOWNLOAD_MNIST)
print(train_data.train_data.size())
print(train_data.train_labels.size())
plt.ion()
for i in range(11):
plt.imshow(train_data.train_data[i].numpy(), cmap = 'gray')
plt.title('%i' % train_data.train_labels[i])
plt.pause(0.5)
plt.show()
train_loader = data_.DataLoader(dataset = train_data, batch_size = BATCH_SIZE, shuffle = True,num_workers = 2)
test_data = torchvision.datasets.MNIST(root = './mnist/', train = False)
test_x = torch.unsqueeze(test_data.test_data, dim = 1).type(torch.FloatTensor)[:2000]/255.
test_y = test_data.test_labels[:2000]
class CNN(nn.Module):
def __init__(self):
super(CNN, self).__init__()
self.conv1 = nn.Sequential(
nn.Conv2d(in_channels = 1, out_channels = 16, kernel_size = 5, stride = 1, padding = 2,),# stride = 1, padding = (kernel_size-1)/2 = (5-1)/2
nn.ReLU(),
nn.MaxPool2d(kernel_size = 2),
)
self.conv2 = nn.Sequential(
nn.Conv2d(16, 32, 5, 1, 2),
nn.ReLU(),
nn.MaxPool2d(2)
)
self.out = nn.Linear(32*7*7, 10)
def forward(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = x.view(x.size(0), -1)
output = self.out(x)
return output, x
cnn = CNN()
print(cnn)
optimization = torch.optim.Adam(cnn.parameters(), lr = LR)
loss_func = nn.CrossEntropyLoss()
for epoch in range(EPOCH):
for step, (batch_x, batch_y) in enumerate(train_loader):
bx = Variable(batch_x)
by = Variable(batch_y)
output = cnn(bx)[0]
loss = loss_func(output, by)
optimization.zero_grad()
loss.backward()
optimization.step()
if step % 50 == 0:
test_output, last_layer = cnn(test_x)
pred_y = torch.max(test_output, 1)[1].data.numpy()
accuracy = float((pred_y == test_y.data.numpy()).astype(int).sum()) / float(test_y.size(0))
print('Epoch: ', epoch, '| train loss: %.4f' % loss.data.numpy(), '| test accuracy: %.2f' % accuracy)
test_output, _ = cnn(test_x[:10])
pred_y = torch.max(test_output, 1)[1].data.numpy()
print(pred_y, 'prediction number')
print(test_y[:10].numpy(), 'real number')
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
Devrama Slider 是個圖象滑塊,帶有很多十分有趣的特征。
它不但撐持圖像還支撐HTML 內容。響應式方便CSS3 轉換轉換效果進度條高級的預加載和延遲加載CSS 自界說用戶可以界說導航或節制器
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
記得筆者曾經寫過一篇「用 JavaScript 來做偽浮水印」,那時是用 JavaScript 來寫的,得經過計算才能把版權宣告的圖片放在右下角。現在筆者把全部結果用 jQuery 來改寫,並把本來要計較的版權宣佈圖片位置換成 background-position 的方式來節制,如許想放那就只要設定一下就好了。 網頁設計
我們的 HTML 就是很純真的圖片而已:
檢視原始碼 HTML
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
網頁設計
今天我們要跟大師分享幾個製作滿版背景圖的方法。
目下當今先來肯定一下我們的需求:
圖片必需恰好填滿瀏覽器不克不及留有縫細,也不克不及因為圖片太大而泛起捲軸。
圖片可以跟著瀏覽器尺寸自動縮放。
圖片必需連結長寬比,不克不及變形。
要殺青上面的需求,我們有以下的方法可以使用
使用CSS3 background-size 屬性
background-size 是css3 的屬性,用來界說背景圖片的尺寸。利用上可以直接指定長寬的數值或是縮放的比例;指定"contain"可以讓後臺圖片自動縮放到填滿內容區域內的最大尺寸;指定"cover"可讓背景圖片主動縮放到籠蓋內容區域的最小尺寸。可以參考w3c background-size的資訊
因為我們如今要做的是完全覆蓋瀏覽器的佈景圖片,所以要利用”background-size:cover;”這個設定。利用方式如下:
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )
有在利用Google Maps的人,多幾許少必然都有使用到Google地圖 找四周景點餐廳。
valeritmfov8 發表在 痞客邦 留言 (0) 人氣( )