Browse Source

ok

master
郭洋 3 years ago
parent
commit
a9f396b9d5
100 changed files with 0 additions and 3422 deletions
  1. BIN
      Cisco Packet Tracer Student.lnk
  2. +0
    -132
      DenseNet100-cifar10
  3. +0
    -135
      DenseNet121-ImageNet
  4. BIN
      NI Multisim 14.0.lnk
  5. BIN
      VideoCap.exe
  6. +0
    -293
      ______(2).ino
  7. BIN
      balenaEtcher.lnk
  8. +0
    -188
      densenet
  9. +0
    -142
      face_con/PCA9685.py
  10. +0
    -10
      face_con/bonjour.py
  11. +0
    -10
      face_con/cachecache.py
  12. +0
    -267
      face_con/face.py
  13. +0
    -89
      face_con/get0.py
  14. +0
    -10
      face_con/missing.py
  15. BIN
      ok.pkt
  16. +0
    -16
      ok.py
  17. +0
    -302
      sketch_oct24a/sketch_oct24a.ino
  18. +0
    -259
      sketch_oct27a/sketch_oct27a.ino
  19. +0
    -15
      wpa_supplicant.conf
  20. BIN
      ~$$绘图4 - 副本.~vsdx
  21. BIN
      ~$$绘图4.~vsdx
  22. BIN
      ~$19-1 08 郭洋 - 副本.docx
  23. BIN
      ~$19-1实验报告08+郭洋.docx
  24. BIN
      ~$2.1.pptx
  25. BIN
      ~$学习课设 郭洋 08.docx
  26. BIN
      与学习相关的技巧 ProcessOn Mind.pdf
  27. BIN
      云计算 智能19-1实验报告08 郭洋.docx
  28. BIN
      云计算实验报告/云计算 智能19-1实验报告08 郭洋 - 副本.docx
  29. BIN
      云计算实验报告/云计算 智能19-1实验报告08 郭洋.docx
  30. BIN
      云计算实验报告/智能19-1实验报告08+郭洋.docx
  31. BIN
      代码.rar
  32. +0
    -50
      代码/css.txt
  33. +0
    -39
      代码/mask_face.py
  34. +0
    -89
      代码/web.html
  35. +0
    -89
      代码/web.txt
  36. BIN
      党史学习/智能19-1郭洋.docx
  37. BIN
      发票/Screenshot_20211130_095710_com.android.bankabc.jpg
  38. BIN
      发票/Screenshot_20211130_095805_com.android.bankabc.jpg
  39. BIN
      发票/Screenshot_20211130_095838_com.android.bankabc.jpg
  40. BIN
      发票/Screenshot_20211130_095848_com.android.bankabc.jpg
  41. BIN
      发票/Screenshot_20211130_095916_com.android.bankabc.jpg
  42. BIN
      发票/Screenshot_20211130_095920_com.android.bankabc.jpg
  43. BIN
      发票/Screenshot_20211130_095927_com.android.bankabc.jpg
  44. BIN
      发票/Screenshot_20211130_095931_com.android.bankabc.jpg
  45. BIN
      发票/Screenshot_20211130_095935_com.android.bankabc.jpg
  46. BIN
      发票/书1.pdf
  47. BIN
      发票/住宿.pdf
  48. BIN
      发票/住宿2.pdf
  49. BIN
      发票/口罩.pdf
  50. BIN
      发票/摄像头.pdf
  51. BIN
      发票/硬件设备.pdf
  52. BIN
      发票/笔.pdf
  53. BIN
      发票/键盘.pdf
  54. BIN
      发票/鼠标.pdf
  55. BIN
      国际青年人工智能大赛/QQ视频20211027165446.mp4
  56. BIN
      国际青年人工智能大赛/应用类:探索者全地形小车—全地形小车—太原学院.docx
  57. BIN
      国际青年人工智能大赛/微信图片_20211026201406.jpg
  58. BIN
      国际青年人工智能大赛/微信图片_20211026211741.jpg
  59. BIN
      国际青年人工智能大赛/探索者机器人--太原学院.docx
  60. BIN
      国际青年人工智能大赛/探索者机器人--太原学院.mp4
  61. BIN
      国际青年人工智能大赛/探索者机器人--太原学院.pptx
  62. BIN
      国际青年人工智能大赛/探索者机器人--太原学院.rar
  63. BIN
      国际青年人工智能大赛/探索者机器人--太原学院1.mp4
  64. BIN
      国际青年人工智能大赛/探索者机器人--太原学院3.mp4
  65. +0
    -302
      国际青年人工智能大赛/新建文本文档 (2).txt
  66. BIN
      实验报告/QQ截图20211029152835.png
  67. BIN
      实验报告/QQ截图20211029152910.png
  68. BIN
      实验报告/QQ截图20211029205713.png
  69. BIN
      实验报告/QQ截图20211029210417.png
  70. BIN
      实验报告/QQ截图20211029211307.png
  71. BIN
      实验报告/QQ截图20211029211708.png
  72. BIN
      实验报告/QQ截图20211029211901.png
  73. BIN
      实验报告/QQ截图20211029212003.png
  74. BIN
      实验报告/QQ截图20211029212132.png
  75. BIN
      实验报告/QQ截图20211029212320.png
  76. BIN
      实验报告/QQ截图20211029212330.png
  77. BIN
      实验报告/QQ截图20211029212405.png
  78. BIN
      实验报告/QQ截图20211113101119.png
  79. BIN
      实验报告/QQ截图20211113101406.png
  80. BIN
      实验报告/QQ截图20211113101549.png
  81. BIN
      实验报告/三层交换机.pkt
  82. BIN
      实验报告/三层路由.pkt
  83. BIN
      实验报告/三路由.pkt
  84. BIN
      实验报告/二层交换机.png
  85. BIN
      山西省大学生创新创业训练计划平台.pdf
  86. BIN
      探索者机器人--太原学院/QQ视频20211027165446.mp4
  87. BIN
      探索者机器人--太原学院/探索者机器人--太原学院.docx
  88. +0
    -223
      探索者机器人--太原学院/源程序.txt
  89. +0
    -12
      新建文本文档 (2).txt
  90. +0
    -261
      新建文本文档 (3).txt
  91. +0
    -185
      新建文本文档 (4).txt
  92. +0
    -41
      新建文本文档 .txt
  93. +0
    -261
      新建文本文档.txt
  94. BIN
      智能19-1 郭洋 (4201910903108).doc
  95. BIN
      智能19-1 郭洋.docx
  96. BIN
      智能19-1实验报告08+郭洋.docx
  97. BIN
      语雀.lnk
  98. BIN
      质量评价汇总表.docx
  99. +0
    -2
      镜像说明.txt
  100. BIN
      附件.rar

BIN
Cisco Packet Tracer Student.lnk View File


+ 0
- 132
DenseNet100-cifar10 View File

@@ -1,132 +0,0 @@
import time
import multiprocessing
import tensorflow as tf
import os
os.environ['TL_BACKEND'] = 'tensorflow'
import tensorlayer as tl
from .densenet import densenet
tl.logging.set_verbosity(tl.logging.DEBUG)
X_train, y_train, X_test, y_test = tl.files.load_cifar10_dataset(shape=(-1, 32, 32, 3), plotable=False)
# get the network
net = densenet("densenet-100")
# training settings
batch_size = 128
n_epoch = 500
learning_rate = 0.0001
print_freq = 5
n_step_epoch = int(len(y_train) / batch_size)
n_step = n_epoch * n_step_epoch
shuffle_buffer_size = 128
train_weights = net.trainable_weights
optimizer = tl.optimizers.Adam(learning_rate)
metrics = tl.metric.Accuracy()
def generator_train():
inputs = X_train
targets = y_train
if len(inputs) != len(targets):
raise AssertionError("The length of inputs and targets should be equal")
for _input, _target in zip(inputs, targets):
# yield _input.encode('utf-8'), _target.encode('utf-8')
yield _input, _target
def generator_test():
inputs = X_test
targets = y_test
if len(inputs) != len(targets):
raise AssertionError("The length of inputs and targets should be equal")
for _input, _target in zip(inputs, targets):
# yield _input.encode('utf-8'), _target.encode('utf-8')
yield _input, _target
def _map_fn_train(img, target):
# 1. Randomly crop a [height, width] section of the image.
img = tf.image.random_crop(img, [24, 24, 3])
# 2. Randomly flip the image horizontally.
img = tf.image.random_flip_left_right(img)
# 3. Randomly change brightness.
img = tf.image.random_brightness(img, max_delta=63)
# 4. Randomly change contrast.
img = tf.image.random_contrast(img, lower=0.2, upper=1.8)
# 5. Subtract off the mean and divide by the variance of the pixels.
img = tf.image.per_image_standardization(img)
target = tf.reshape(target, ())
return img, target
def _map_fn_test(img, target):
# 1. Crop the central [height, width] of the image.
img = tf.image.resize_with_pad(img, 24, 24)
# 2. Subtract off the mean and divide by the variance of the pixels.
img = tf.image.per_image_standardization(img)
img = tf.reshape(img, (24, 24, 3))
target = tf.reshape(target, ())
return img, target
# dataset API and augmentation
train_ds = tf.data.Dataset.from_generator(
generator_train, output_types=(tf.float32, tf.int32)
) # , output_shapes=((24, 24, 3), (1)))
train_ds = train_ds.map(_map_fn_train,num_parallel_calls=multiprocessing.cpu_count())
# train_ds = train_ds.repeat(n_epoch)
train_ds = train_ds.shuffle(shuffle_buffer_size)
train_ds = train_ds.prefetch(buffer_size=4096)
train_ds = train_ds.batch(batch_size)
# value = train_ds.make_one_shot_iterator().get_next()
test_ds = tf.data.Dataset.from_generator(
generator_test, output_types=(tf.float32, tf.int32)
) # , output_shapes=((24, 24, 3), (1)))
# test_ds = test_ds.shuffle(shuffle_buffer_size)
test_ds = test_ds.map(_map_fn_test,num_parallel_calls=multiprocessing.cpu_count())
# test_ds = test_ds.repeat(n_epoch)
test_ds = test_ds.prefetch(buffer_size=4096)
test_ds = test_ds.batch(batch_size)
# value_test = test_ds.make_one_shot_iterator().get_next()
class WithLoss(tl.layers.Module):
def __init__(self, net, loss_fn):
super(WithLoss, self).__init__()
self._net = net
self._loss_fn = loss_fn
def forward(self, data, label):
out = self._net(data)
loss = self._loss_fn(out, label)
return loss
net_with_loss = WithLoss(net, loss_fn=tl.cost.softmax_cross_entropy_with_logits)
net_with_train = tl.models.TrainOneStep(net_with_loss, optimizer, train_weights)
for epoch in range(n_epoch):
start_time = time.time()
net.set_train()
train_loss, train_acc, n_iter = 0, 0, 0
for X_batch, y_batch in train_ds:
X_batch = tl.ops.convert_to_tensor(X_batch.numpy(), dtype=tl.float32)
y_batch = tl.ops.convert_to_tensor(y_batch.numpy(), dtype=tl.int64)
_loss_ce = net_with_train(X_batch, y_batch)
train_loss += _loss_ce
n_iter += 1
_logits = net(X_batch)
metrics.update(_logits, y_batch)
train_acc += metrics.result()
metrics.reset()
print("Epoch {} of {} took {}".format(epoch + 1, n_epoch, time.time() - start_time))
print(" train loss: {}".format(train_loss / n_iter))
print(" train acc: {}".format(train_acc / n_iter))

+ 0
- 135
DenseNet121-ImageNet View File

@@ -1,135 +0,0 @@
import time
import multiprocessing
import tensorflow as tf
import os
os.environ['TL_BACKEND'] = 'tensorflow'
import tensorlayer as tl
from .densenet import densenet
tl.logging.set_verbosity(tl.logging.DEBUG)
def load_ImageNet_dataset(shape=(-1, 256, 256, 3), plotable=False):
'''已加载到本地的ImageNet数据集'''
return X_train, y_train, X_test, y_test
# get the network
net = densenet("densenet-121")
X_train, y_train, X_test, y_test = load_ImageNet_dataset(shape=(-1, 256, 256, 3), plotable=False)
# training settings
batch_size = 128
n_epoch = 500
learning_rate = 0.0001
print_freq = 5
n_step_epoch = int(len(y_train) / batch_size)
n_step = n_epoch * n_step_epoch
shuffle_buffer_size = 128
train_weights = net.trainable_weights
optimizer = tl.optimizers.Adam(learning_rate)
metrics = tl.metric.Accuracy()
def generator_train():
inputs = X_train
targets = y_train
if len(inputs) != len(targets):
raise AssertionError("The length of inputs and targets should be equal")
for _input, _target in zip(inputs, targets):
# yield _input.encode('utf-8'), _target.encode('utf-8')
yield _input, _target
def generator_test():
inputs = X_test
targets = y_test
if len(inputs) != len(targets):
raise AssertionError("The length of inputs and targets should be equal")
for _input, _target in zip(inputs, targets):
# yield _input.encode('utf-8'), _target.encode('utf-8')
yield _input, _target
def _map_fn_train(img, target):
# 1. Randomly crop a [height, width] section of the image.
img = tf.image.random_crop(img, [24, 24, 3])
# 2. Randomly flip the image horizontally.
img = tf.image.random_flip_left_right(img)
# 3. Randomly change brightness.
img = tf.image.random_brightness(img, max_delta=63)
# 4. Randomly change contrast.
img = tf.image.random_contrast(img, lower=0.2, upper=1.8)
# 5. Subtract off the mean and divide by the variance of the pixels.
img = tf.image.per_image_standardization(img)
target = tf.reshape(target, ())
return img, target
def _map_fn_test(img, target):
# 1. Crop the central [height, width] of the image.
img = tf.image.resize_with_pad(img, 24, 24)
# 2. Subtract off the mean and divide by the variance of the pixels.
img = tf.image.per_image_standardization(img)
img = tf.reshape(img, (24, 24, 3))
target = tf.reshape(target, ())
return img, target
# dataset API and augmentation
train_ds = tf.data.Dataset.from_generator(
generator_train, output_types=(tf.float32, tf.int32)
) # , output_shapes=((24, 24, 3), (1)))
train_ds = train_ds.map(_map_fn_train,num_parallel_calls=multiprocessing.cpu_count())
# train_ds = train_ds.repeat(n_epoch)
train_ds = train_ds.shuffle(shuffle_buffer_size)
train_ds = train_ds.prefetch(buffer_size=4096)
train_ds = train_ds.batch(batch_size)
# value = train_ds.make_one_shot_iterator().get_next()
test_ds = tf.data.Dataset.from_generator(
generator_test, output_types=(tf.float32, tf.int32)
) # , output_shapes=((24, 24, 3), (1)))
# test_ds = test_ds.shuffle(shuffle_buffer_size)
test_ds = test_ds.map(_map_fn_test,num_parallel_calls=multiprocessing.cpu_count())
# test_ds = test_ds.repeat(n_epoch)
test_ds = test_ds.prefetch(buffer_size=4096)
test_ds = test_ds.batch(batch_size)
# value_test = test_ds.make_one_shot_iterator().get_next()
class WithLoss(tl.layers.Module):
def __init__(self, net, loss_fn):
super(WithLoss, self).__init__()
self._net = net
self._loss_fn = loss_fn
def forward(self, data, label):
out = self._net(data)
loss = self._loss_fn(out, label)
return loss
net_with_loss = WithLoss(net, loss_fn=tl.cost.softmax_cross_entropy_with_logits)
net_with_train = tl.models.TrainOneStep(net_with_loss, optimizer, train_weights)
for epoch in range(n_epoch):
start_time = time.time()
net.set_train()
train_loss, train_acc, n_iter = 0, 0, 0
for X_batch, y_batch in train_ds:
X_batch = tl.ops.convert_to_tensor(X_batch.numpy(), dtype=tl.float32)
y_batch = tl.ops.convert_to_tensor(y_batch.numpy(), dtype=tl.int64)
_loss_ce = net_with_train(X_batch, y_batch)
train_loss += _loss_ce
n_iter += 1
_logits = net(X_batch)
metrics.update(_logits, y_batch)
train_acc += metrics.result()
metrics.reset()
print("Epoch {} of {} took {}".format(epoch + 1, n_epoch, time.time() - start_time))
print(" train loss: {}".format(train_loss / n_iter))
print(" train acc: {}".format(train_acc / n_iter))

BIN
NI Multisim 14.0.lnk View File


BIN
VideoCap.exe View File


+ 0
- 293
______(2).ino View File

@@ -1,293 +0,0 @@
#include <Arduino.h>
#include <Wire.h>
#include <Servo.h>
double _ABVAR_1_i = 0.0 ;
int a = 0;
int b = 0;
Servo servo_pin_4;
//TCS230连接设置
const int s0 = A0;
const int s1 = A1;
const int s2 = A4;
const int s3 = A5;
const int out = 8; //10
const int led = 7;
// Variables
int red = 0;
int green = 0;
int blue = 0;
void trunleft();
void trunright();
void forward();
void forward1();
void forward2();//20
void stop1();
void color() ;
int color_see();
void zha_qi_qiu();
const int zuo=3;
const int you=17;
int c=0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;
void setup()
{
pinMode( zuo, INPUT);
pinMode( you, INPUT);
pinMode( 16, INPUT);
pinMode( 14, INPUT);
pinMode( 10, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 9, OUTPUT);
_ABVAR_1_i = 0.0 ;
servo_pin_4.attach(4);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);

}

void loop()
{
/* if(!(digitalRead(16)))
{
forward();
}
else*/
{if (( digitalRead(you) && digitalRead(zuo) ))
{
forward();
}
else
{
if (( !( digitalRead(you) ) && digitalRead(zuo) ))
{
trunright();
}
else
{
if (( digitalRead(you) && !( digitalRead(zuo) ) ))
{
trunleft();
}
else
{
if (( !( digitalRead(you) ) && !( digitalRead(zuo) ) ))
{
_ABVAR_1_i = ( _ABVAR_1_i + 1 ) ;
if (( ( _ABVAR_1_i ) == ( 1 ) ))
{
forward1();
delay( 3500 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 2 ) ))
{
forward1_1();
delay( 3700 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 3 ) ))
{
stop1();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
duo_ji();
/*int j;
stop1();
a =( color_see());
for( j=1;j<=3;j++)
{
forward2();
delay( 1000 );
stop1();
b = color_see();
if(a==b)
{ zha_qi_qiu() ;
forward();
delay(4000);
stop1();
delay(4000);}
}
//zha wan qi qiu */
}
}//three time
}//two time
}// one time
}
}
}
}
}

void forward()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 193);
analogWrite(6 , 0);
}

void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 120);
analogWrite(6 , 0);
}

void forward2()
{
analogWrite(9 , 100);
analogWrite(10 , 0);
analogWrite(5 , 110);
analogWrite(6 , 0);
}
void stop1()
{
analogWrite(9 , 0);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 0);
}

void forward1()
{
analogWrite(9 , 200);
analogWrite(10 , 0);
analogWrite(5 , 200);
analogWrite(6 , 0);
}
void forward1_1()
{
analogWrite(9 , 250);
analogWrite(10 , 0);
analogWrite(5 , 250);
analogWrite(6 , 0);
}

void trunright()
{
analogWrite(9 , 120);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 120);
}
/*int color_see()
{
delay(150);
digitalWrite(led, HIGH);
delay(150);
color();
if (red < blue && red < green)
{
return 1;
}
else if (blue < red && blue < green)
{
return 2;
}
else if (green < red && green < blue)
{
return 3;
}
}
*/
void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void duo_ji()
{
for(int i=0;i<3;i++)
{
servo_pin_4.write( 90 );
delay( 300 );
servo_pin_4.write( 180 );
delay( 600 );
servo_pin_4.write( 90 );
delay( 300 );
}
}
void pan_duan_yan_se()
{
forward();
delay(600);
stop1();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}
/*void zha_qi_qiu()
{
for(int i=0;i<3;i++)
{
servo_pin_4.write(90);
delay(1000);
servo_pin_4.write(150);
delay(1000);
servo_pin_4.write(90);
delay(1000);
}
}*/

BIN
balenaEtcher.lnk View File


+ 0
- 188
densenet View File

@@ -1,188 +0,0 @@
import tensorflow as tf
import tensorlayer as tl
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.compat.v1.Session(config=config)
class BottleNeck(tl.layers.Module):
def __init__(self, growth_rate, drop_rate):
super(BottleNeck, self).__init__()
self.bn1 = tl.layers.BatchNorm()
self.conv1 = tl.layers.Conv2d(n_filter=4 * growth_rate,
filter_size=(1, 1),
strides=(1,1),
padding="SAME")
self.bn2 = tl.layers.BatchNorm()
self.conv2 = tl.layers.Conv2d(n_filter=growth_rate,
filter_size=(3, 3),
strides=(1,1),
padding="SAME")
self.dropout = tl.layers.Dropout(keep=drop_rate)
self.listLayers = [self.bn1,
tl.layers.PRelu(channel_shared=True),
self.conv1,
self.bn2,
tl.layers.PRelu(channel_shared=True),
self.conv2,
self.dropout]
def forward(self, x):
y = x
for layer in self.listLayers:
y = layer(y)
y = tf.keras.layers.concatenate([x, y], axis=-1)
return y
# 构建密集块
class DenseBlock(tl.layers.Module):
def __init__(self, num_layers, growth_rate, drop_rate=0.5):
super(DenseBlock, self).__init__()
self.num_layers = num_layers
self.growth_rate = growth_rate
self.drop_rate = drop_rate
self.listLayers = []
for _ in range(num_layers):
self.listLayers.append(BottleNeck(growth_rate=self.growth_rate, drop_rate=self.drop_rate))
def forward(self, x):
for layer in self.listLayers:
x = layer(x)
return x
# 构建过渡层
class TransitionLayer(tl.layers.Module):
def __init__(self, out_channels):
super(TransitionLayer, self).__init__()
self.bn = tl.layers.BatchNorm()
self.conv = tl.layers.Conv2d(n_filter=out_channels,
filter_size=(1, 1),
strides=(1,1),
padding="same")
self.pool = tl.layers.MaxPool2d(filter_size=(2, 2),
strides=(2,2),
padding="SAME")
def forward(self, inputs):
x = self.bn(inputs)
x = tl.relu(x)
x = self.conv(x)
x = self.pool(x)
return x
# DenseNet-121,169,201,264模型
class DenseNet(tl.layers.Module):
def __init__(self, num_init_features, growth_rate, block_layers, compression_rate, drop_rate):
super(DenseNet, self).__init__()
self.conv = tl.layers.Conv2d(n_filter=num_init_features,
filter_size=(7, 7),
strides=(2,2),
padding="SAME")
self.bn = tl.layers.BatchNorm()
self.pool = tl.layers.MaxPool2d(filter_size=(3, 3),
strides=(2,2),
padding="SAME")
self.num_channels = num_init_features
self.dense_block_1 = DenseBlock(num_layers=block_layers[0], growth_rate=growth_rate, drop_rate=drop_rate)
self.num_channels += growth_rate * block_layers[0]
self.num_channels = compression_rate * self.num_channels
self.transition_1 = TransitionLayer(out_channels=int(self.num_channels))
self.dense_block_2 = DenseBlock(num_layers=block_layers[1], growth_rate=growth_rate, drop_rate=drop_rate)
self.num_channels += growth_rate * block_layers[1]
self.num_channels = compression_rate * self.num_channels
self.transition_2 = TransitionLayer(out_channels=int(self.num_channels))
self.dense_block_3 = DenseBlock(num_layers=block_layers[2], growth_rate=growth_rate, drop_rate=drop_rate)
self.num_channels += growth_rate * block_layers[2]
self.num_channels = compression_rate * self.num_channels
self.transition_3 = TransitionLayer(out_channels=int(self.num_channels))
self.dense_block_4 = DenseBlock(num_layers=block_layers[3], growth_rate=growth_rate, drop_rate=drop_rate)
self.avgpool = tl.layers.GlobalMeanPool2d()
self.fc = tl.layers.Dense(n_units=10,act=tl.softmax(logits=()))
def forward(self, inputs):
x = self.conv(inputs)
x = self.bn(x)
x = tl.relu(x)
x = self.pool(x)
x = self.dense_block_1(x)
x = self.transition_1(x)
x = self.dense_block_2(x)
x = self.transition_2(x)
x = self.dense_block_3(x)
x = self.transition_3(x,)
x = self.dense_block_4(x)
x = self.avgpool(x)
x = self.fc(x)
return x
# DenseNet-100模型
class DenseNet_100(tl.layers.Module):
def __init__(self, num_init_features, growth_rate, block_layers, compression_rate, drop_rate):
super(DenseNet_100, self).__init__()
self.conv = tl.layers.Conv2d(n_filter=num_init_features,
filter_size=(7, 7),
strides=(2,2),
padding="SAME")
self.bn = tl.layers.BatchNorm()
self.pool = tl.layers.MaxPool2d(filter_size=(3, 3),
strides=(2,2),
padding="SAME")
self.num_channels = num_init_features
self.dense_block_1 = DenseBlock(num_layers=block_layers[0], growth_rate=growth_rate, drop_rate=drop_rate)
self.num_channels += growth_rate * block_layers[0]
self.num_channels = compression_rate * self.num_channels
self.transition_1 = TransitionLayer(out_channels=int(self.num_channels))
self.dense_block_2 = DenseBlock(num_layers=block_layers[1], growth_rate=growth_rate, drop_rate=drop_rate)
self.num_channels += growth_rate * block_layers[1]
self.num_channels = compression_rate * self.num_channels
self.transition_2 = TransitionLayer(out_channels=int(self.num_channels))
self.dense_block_3 = DenseBlock(num_layers=block_layers[2], growth_rate=growth_rate, drop_rate=drop_rate)
self.num_channels += growth_rate * block_layers[2]
self.num_channels = compression_rate * self.num_channels
self.transition_3 = TransitionLayer(out_channels=int(self.num_channels))
self.avgpool = tl.layers.GlobalMeanPool2d()
self.fc = tl.layers.Dense(n_units=10,act=tl.softmax(logits=()))
def forward(self, inputs):
x = self.conv(inputs)
x = self.bn(x)
x = tl.relu(x)
x = self.pool(x)
x = self.dense_block_1(x)
x = self.transition_1(x)
x = self.dense_block_2(x)
x = self.transition_2(x)
x = self.dense_block_3(x)
x = self.transition_3(x,)
x = self.avgpool(x)
# x = tl.layers.Dense(n_units=10,act=tl.softmax(logits=x))
x = self.fc(x)
return x
def densenet(x):
if x == 'densenet-121':
return DenseNet(num_init_features=64, growth_rate=32, block_layers=[6, 12, 24, 16], compression_rate=0.5,
drop_rate=0.5)
elif x == 'densenet-169':
return DenseNet(num_init_features=64, growth_rate=32, block_layers=[6 , 12, 32, 32], compression_rate=0.5,
drop_rate=0.5)
elif x == 'densenet-201':
return DenseNet(num_init_features=64, growth_rate=32, block_layers=[6, 12, 48, 32], compression_rate=0.5,
drop_rate=0.5)
elif x == 'densenet-264':
return DenseNet(num_init_features=64, growth_rate=32, block_layers=[6, 12, 64, 48], compression_rate=0.5,
drop_rate=0.5)
elif x=='densenet-100':
return DenseNet_100(num_init_features=64, growth_rate=12, block_layers=[16, 16, 16], compression_rate=0.5,
drop_rate=0.5)

+ 0
- 142
face_con/PCA9685.py View File

@@ -1,142 +0,0 @@
Skip to content
Search or jump to…
Pull requests
Issues
Marketplace
Explore
@aigy0828
v-thiennp12
/
palt-tilt-cam
Public
3
64
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
palt-tilt-cam/PCA9685.py /
@v-thiennp12
v-thiennp12 Add files via upload
Latest commit 99c7114 on 10 Aug 2020
History
1 contributor
99 lines (84 sloc) 3.24 KB
#!/usr/bin/python

import time
import math
import smbus

# ============================================================================
# Raspi PCA9685 16-Channel PWM Servo Driver
# ============================================================================

class PCA9685:

# Registers/etc.
__SUBADR1 = 0x02
__SUBADR2 = 0x03
__SUBADR3 = 0x04
__MODE1 = 0x00
__MODE2 = 0x01
__PRESCALE = 0xFE
__LED0_ON_L = 0x06
__LED0_ON_H = 0x07
__LED0_OFF_L = 0x08
__LED0_OFF_H = 0x09
__ALLLED_ON_L = 0xFA
__ALLLED_ON_H = 0xFB
__ALLLED_OFF_L = 0xFC
__ALLLED_OFF_H = 0xFD


def __init__(self, address=0x40, debug=False):
self.bus = smbus.SMBus(1)
self.address = address
self.debug = debug
if (self.debug):
print("Reseting PCA9685")
self.write(self.__MODE1, 0x00)
def write(self, reg, value):
"Writes an 8-bit value to the specified register/address"
self.bus.write_byte_data(self.address, reg, value)
if (self.debug):
print("I2C: Write 0x%02X to register 0x%02X" % (value, reg))
def read(self, reg):
"Read an unsigned byte from the I2C device"
result = self.bus.read_byte_data(self.address, reg)
if (self.debug):
print("I2C: Device 0x%02X returned 0x%02X from reg 0x%02X" % (self.address, result & 0xFF, reg))
return result
def setPWMFreq(self, freq):
"Sets the PWM frequency"
prescaleval = 25000000.0 # 25MHz
prescaleval /= 4096.0 # 12-bit
prescaleval /= float(freq)
prescaleval -= 1.0
if (self.debug):
print("Setting PWM frequency to %d Hz" % freq)
print("Estimated pre-scale: %d" % prescaleval)
prescale = math.floor(prescaleval + 0.5)
if (self.debug):
print("Final pre-scale: %d" % prescale)

oldmode = self.read(self.__MODE1);
newmode = (oldmode & 0x7F) | 0x10 # sleep
self.write(self.__MODE1, newmode) # go to sleep
self.write(self.__PRESCALE, int(math.floor(prescale)))
self.write(self.__MODE1, oldmode)
time.sleep(0.005)
self.write(self.__MODE1, oldmode | 0x80)
self.write(self.__MODE2, 0x04)

def setPWM(self, channel, on, off):
"Sets a single PWM channel"
self.write(self.__LED0_ON_L+4*channel, on & 0xFF)
self.write(self.__LED0_ON_H+4*channel, on >> 8)
self.write(self.__LED0_OFF_L+4*channel, off & 0xFF)
self.write(self.__LED0_OFF_H+4*channel, off >> 8)
if (self.debug):
print("channel: %d LED_ON: %d LED_OFF: %d" % (channel,on,off))
def setServoPulse(self, channel, pulse):
"Sets the Servo Pulse,The PWM frequency must be 50HZ"
pulse = pulse*4096/20000 #PWM frequency is 50HZ,the period is 20000us
self.setPWM(channel, 0, int(pulse))
def setRotationAngle(self, channel, Angle):
if(Angle >= 0 and Angle <= 180):
temp = Angle * (2000 / 180) + 501
self.setServoPulse(channel, temp)
else:
print("Angle out of range")
def start_PCA9685(self):
self.write(self.__MODE2, 0x04)
#Just restore the stopped state that should be set for exit_PCA9685
def exit_PCA9685(self):
self.write(self.__MODE2, 0x00)#Please use initialization or __MODE2 =0x04
© 2021 GitHub, Inc.
Terms
Privacy
Security
Status
Docs
Contact GitHub
Pricing
API
Training
Blog
About
Loading complete

+ 0
- 10
face_con/bonjour.py View File

@@ -1,10 +0,0 @@
import numpy

class bonjour:
def __init__(self):
self.bonjour_text = ['bonjour x_x', 'salut !!!', 'ça va ?', 'vas-y ^^', 'chica', 'on your mark', 'hallo', 'another day in paradise !']
def saysomething(self):
x = numpy.random.randint(len(self.bonjour_text))
bonjour_rand = self.bonjour_text[x]
return bonjour_rand

+ 0
- 10
face_con/cachecache.py View File

@@ -1,10 +0,0 @@
import numpy

class cachecache:
def __init__(self):
self.alltext = ['je suis fatigué là ..', 'je me cache', '', 'approches-toi', 'bella ciao', 'allez, je décolle', 'j"ai faim', 'on fait une pause ?']
def saysomething(self):
x = numpy.random.randint(len(self.alltext))
text_rand = self.alltext[x]
return text_rand

+ 0
- 267
face_con/face.py View File

@@ -1,267 +0,0 @@
import numpy
import cv2
import os
import curses
import time
from PCA9685 import PCA9685
from bonjour import bonjour
from missing import missing
from cachecache import cachecache
# Load the cascade
# ========================================================================
# faceCascade = cv2.CascadeClassifier('data/haarcascade_frontalface_default.xml')
# faceCascade.load('data/haarcascade_frontalface_default.xml')

cascPath=os.path.dirname(cv2.__file__)+"/data/haarcascade_frontalface_default.xml"
#cascPath=os.path.dirname(cv2.__file__)+"/data/haarcascade_eye_tree_eyeglasses.xml"

faceCascade = cv2.CascadeClassifier(cascPath)
# Read the input image
print(cascPath)
# Start video capture
video_capture = cv2.VideoCapture(0)

# font
font = cv2.FONT_HERSHEY_SIMPLEX
# org
org = (50, 50)
# fontScale
fontScale = 1
# Blue color in BGR
color = (255, 0, 0)
# Line thickness of 2 px
thickness = 2

# ========================================================================
sync_freq = 0
# ========================================================================
# get the curses screen window
# screen = curses.initscr()
# # turn off input echoing
# curses.noecho()
# # respond to keys immediately (don't wait for enter)
# curses.cbreak()
# # map arrow keys to special values
# screen.keypad(True)

#setting start up serrvo positions
# ========================================================================
pwm = PCA9685()
pwm.setPWMFreq(50)

max_PAN = 180
max_TILT = 145
min_PAN = 0
min_TILT = 0

max_rate_TILT = 3
max_rate_PAN = 3
step_PAN = 1
step_TILT = 1
current_PAN = 90
current_TILT = 60
pwm.setRotationAngle(1, current_PAN) #PAN
pwm.setRotationAngle(0, current_TILT) #TILT

# pseudo-PID control
k_PAN = 0.015
k_TILT = -0.015

kd_PAN = 0.095
kd_TILT = -0.095

error_acceptance = 15
# ========================================================================
previous_x = 0
previous_y = 0

previous_h = 0
previous_w = 0

delta_x = 0
delta_y = 0

previous_delta_x = 0
previous_delta_y = 0

delta_x_dot = 0
delta_y_dot = 0

rectangle_found = 0

# make some fun
bonjour = bonjour()
missing = missing()
cachecache = cachecache()

bonjour_ind = 0
missing_ind = 0
cachecache_ind = 0

#
# main loop
# ========================================================================
# https://techvidvan.com/tutorials/face-recognition-project-python-opencv/

try:
while True:

# Try to reduce lagging issues
if sync_freq == 0:
# Capture frame-by-frame
ret, frame = video_capture.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gray,scaleFactor=1.2, minNeighbors=4, minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE)
if sync_freq < 0:
sync_freq += 1
# stopping blinking rectangle
# if rectangle_found > 0:
# cv2.rectangle(frame, (previous_x, previous_y), (x+previous_w, y+previous_h), (0, 255, 0), 2)
#
else:
sync_freq = 0
rectangle_found = 0
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
rectangle_found += 1
if rectangle_found == 1:
print(' x y previous ', previous_x, previous_y)
# ========================================================================================
# stay away from me !
# delta_x = previous_x - x
# delta_y = previous_y - y

# get in touch !
delta_x = 300 - x
delta_y = 200 - y
delta_x_dot = delta_x - previous_delta_x
delta_y_dot = delta_y - previous_delta_y
# ========================================================================================
# ignoring small error
if abs(delta_x) < error_acceptance:
delta_x = 0
delta_x_dot = 0
if abs(delta_y) < error_acceptance:
delta_y = 0
delta_y_dot = 0
# ========================================================================================
print(' x y new ', x, y)
previous_x = x
previous_y = y
previous_h = h
previous_w = w
previous_delta_x = delta_x
previous_delta_y = delta_y
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.putText(frame, str(x) + " " + str(y), (x, y), font, fontScale, (75, 75, 0), thickness, cv2.LINE_AA)
# wait for keypress
# ===========================================================
char = cv2.waitKey(20)
#print('key pressed', char)
if char == ord('q'):
break
if char == ord('p'):
#if p is pressed take a photo!
# camera.capture('image%s.jpg' % pic)
# pic = pic +1
# screen.addstr(0, 0, 'picture taken! ')
cv2.putText(frame, 'another day in paradise !', (50,50) , font, fontScale, color, thickness, cv2.LINE_AA)
elif char == 83:
current_PAN = max(min_PAN, current_PAN - step_PAN)
pwm.setRotationAngle(1, current_PAN) #PAN
#time.sleep(0.001)
cv2.putText(frame, 'right ', (20, 20), font, fontScale, (0, 255, 0), thickness, cv2.LINE_AA)
elif char == 81:
current_PAN = min(max_PAN, current_PAN + step_PAN)
pwm.setRotationAngle(1, current_PAN) #PAN
#time.sleep(0.001)
cv2.putText(frame, 'left ', (20, 20), font, fontScale, (0, 255, 0), thickness, cv2.LINE_AA)
elif char == 82:
current_TILT = max(min_TILT, current_TILT - step_TILT)
pwm.setRotationAngle(0, current_TILT) #TILT
#time.sleep(0.001)
cv2.putText(frame, 'up ', (20, 20), font, fontScale, (0, 255, 0), thickness, cv2.LINE_AA)
elif char == 84:
current_TILT = min(max_TILT, current_TILT + step_TILT)
pwm.setRotationAngle(0, current_TILT) #TILT
#time.sleep(0.001)
cv2.putText(frame, 'down ', (20, 20), font, fontScale, (0, 255, 0), thickness, cv2.LINE_AA)
elif rectangle_found > 0 and (abs(delta_x) < 500 and abs(delta_y) < 500) and char == -1:
# stay away
# k_PAN = -0.01
# k_TILT = +0.01
# get in touch
print('pan tilt -- current ', current_PAN, current_TILT)

# pseu-do PID
delta_TILT = k_TILT * delta_y + kd_TILT * delta_y_dot
# rate-limiter
delta_TILT = min(abs(delta_TILT), max_rate_TILT)*numpy.sign(delta_TILT)
# noise exclude
if abs(delta_TILT) < step_TILT:
delta_TILT = 0
# here we go
current_TILT = current_TILT + delta_TILT

if current_TILT > max_TILT:
current_TILT = max_TILT
if current_TILT < min_TILT:
current_TILT = min_TILT
print('delta tilt ', delta_TILT)
# pseu-do PID
delta_PAN = k_PAN * delta_x + kd_PAN * delta_x_dot
# rate-limiter
delta_PAN = min(abs(delta_PAN), max_rate_PAN)*numpy.sign(delta_PAN)
# noise exclude
if abs(delta_PAN) < step_PAN:
delta_PAN = 0
# here we go
current_PAN = current_PAN + delta_PAN
if current_PAN > max_PAN:
current_PAN = max_PAN
if current_PAN < min_PAN:
current_PAN = min_PAN
print('delta PAN ', delta_PAN)
print('delta_x delta_y ', delta_x, delta_y)
print('pan tilt -- new ', current_PAN, current_TILT)
pwm.setRotationAngle(1, current_PAN)
pwm.setRotationAngle(0, current_TILT)

elif char == -1:
cv2.putText(frame, 'on air !', (20, 20), font, fontScale, (0, 255, 0), thickness, cv2.LINE_AA)
#print('on air !')
# Display the resulting frame
cv2.imshow('face_tracking', frame)
#
finally:
# shut down cleanly
pwm.exit_PCA9685()
video_capture.release()
cv2.destroyAllWindows()

+ 0
- 89
face_con/get0.py View File

@@ -1,89 +0,0 @@
import curses
import os
import time
import picamera

#!/usr/bin/python
import RPi.GPIO as GPIO
from PCA9685 import PCA9685

#setting up camera
camera = picamera.PiCamera()
camera.resolution = (512, 384)
camera.start_preview()

#flipping the camera for so its not upside down
# camera.vflip = True
# camera.hflip = True

# get the curses screen window
screen = curses.initscr()

# turn off input echoing
curses.noecho()

# respond to keys immediately (don't wait for enter)
curses.cbreak()

# map arrow keys to special values
screen.keypad(True)

#setting start up serrvo positions

pwm = PCA9685()
pwm.setPWMFreq(50)

max_PAN = 180
max_TILT = 145
min_PAN = 0
min_TILT = 0
step_PAN = 10
step_TILT = 10
current_PAN = 90
current_TILT = 90
pwm.setRotationAngle(1, current_PAN) #PAN
pwm.setRotationAngle(0, current_TILT) #TILT

# print doesn't work with curses, use addstr instead
pic = 1
try:
while True:
char = screen.getch()
if char == ord('q'):
#if q is pressed quit
break
if char == ord('p'):
#if p is pressed take a photo!
camera.capture('image%s.jpg' % pic)
pic = pic +1
screen.addstr(0, 0, 'picture taken! ')
elif char == curses.KEY_RIGHT:
screen.addstr(0, 0, 'right ')
current_PAN = max(min_PAN, current_PAN - step_PAN)
pwm.setRotationAngle(1, current_PAN) #PAN
time.sleep(0.001)
elif char == curses.KEY_LEFT:
screen.addstr(0, 0, 'left ')
current_PAN = min(max_PAN, current_PAN + step_PAN)
pwm.setRotationAngle(1, current_PAN) #PAN
time.sleep(0.001)
elif char == curses.KEY_UP:
screen.addstr(0, 0, 'up ')
current_TILT = max(min_TILT, current_TILT - step_TILT)
pwm.setRotationAngle(0, current_TILT) #TILT
time.sleep(0.001)
elif char == curses.KEY_DOWN:
screen.addstr(0, 0, 'up ')
current_TILT = min(max_TILT, current_TILT + step_TILT)
pwm.setRotationAngle(0, current_TILT) #TILT
time.sleep(0.001)
finally:
# shut down cleanly
pwm.exit_PCA9685()
curses.nocbreak(); screen.keypad(0); curses.echo()
curses.endwin()

+ 0
- 10
face_con/missing.py View File

@@ -1,10 +0,0 @@
import numpy

class missing:
def __init__(self):
self.alltext = ['ne pars pas', 'what do you mean ?', 'on est en agile là !', 'approches-toi ^ ^', 'un café ?', 'qu"est-ce qu"il fait beau aujourd"hui !', 'il est trop froid ?']
def saysomething(self):
x = numpy.random.randint(len(self.alltext))
text_rand = self.alltext[x]
return text_rand

BIN
ok.pkt View File


+ 0
- 16
ok.py View File

@@ -1,16 +0,0 @@
import time
import Adafruit_PCA9685 # 调用PCA9685模块

pwm = Adafruit_PCA9685.PCA9685()
# 设置最大最小脉冲长度
servo_min = 90 # 4096的最小脉冲长度
servo_max = 640 # 4096的最大脉冲长度
servo_mid = 365 # 4096的中间脉冲长度
# 设置频率为60
pwm.set_pwm_freq(60)
print('Moving servo on, press Ctrl-C to quit...')
while True:
pwm.set_pwm(0, 0, servo_min)
time.sleep(1)
pwm.set_pwm(0, 0, servo_max)
time.sleep(1)

+ 0
- 302
sketch_oct24a/sketch_oct24a.ino View File

@@ -1,302 +0,0 @@
#include <Servo.h>
#include"LedControl.h"
LedControl lc=LedControl(12,11,13,1);
double _ABVAR_1_i = 0 ;
Servo servo_pin_4;
const int s0 = A3;
const int s1 = A4;
const int s2 = A1;
const int s3 = A5;
const int out = 8;
const int led = 7;
int red = 0;
int green = 0;
int blue = 0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;
void trunright();
void trunleft();
void stop();
void duo_ji();
void forwoard_drop();
void forwoard_rise();
void back();
void forwoard();
void color();
void pan_duan_yan_se();
void led_left();
void led_right();
void led_forword();

void setup()
{
pinMode(16 , INPUT);
pinMode(14, INPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
servo_pin_4.attach(4);
_ABVAR_1_i = 0 ;
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
lc.shutdown(0,false);
lc.setIntensity(0,8);
lc.clearDisplay(0);
lc.setRow(0,0,0xff);
lc.setRow(0,1,0xff);
lc.setRow(0,2,0xff);
lc.setRow(0,3,0xff);
lc.setRow(0,4,0xff);
lc.setRow(0,5,0xff);
lc.setRow(0,6,0xff);
lc.setRow(0,7,0xff);
}

void loop()
{
if (( digitalRead(14) && digitalRead(16) ))
{
forwoard();
}
else
{
if (( !( digitalRead(14) ) && digitalRead(16) ))
{
trunright();
}
else
{
if (( digitalRead(14) && !( digitalRead(16) ) ))
{
trunleft();
}
else
{
if (( !( digitalRead(14) ) && !( digitalRead(16) ) ))
{
_ABVAR_1_i = ( _ABVAR_1_i + 1 ) ;
if (( ( _ABVAR_1_i ) == ( 1 ) ))
{
forwoard_rise();
delay( 3000 );
forwoard();
delay( 1700 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 2 ) ))
{
forwoard_rise();
delay(3000);
forwoard();
delay( 500 );
}
if (( ( _ABVAR_1_i ) == ( 3 ) ))
{
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
duo_ji();
}
}
}
}
}
}
}

void trunright()
{
led_right();
analogWrite(9 , 200);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 200);
}

void stop()
{
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
}

void forwoard_drop()
{
analogWrite(9 , 100);
analogWrite(10 , 0);
analogWrite(5 , 100);
analogWrite(6 , 0);
led_forword();
}

void duo_ji()
{
servo_pin_4.write( 90 );
delay( 300 );
servo_pin_4.write(360 );
delay( 600 );
servo_pin_4.write( 0 );
delay( 300 );
}

void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 200);
analogWrite(5 , 200);
analogWrite(6 , 0);
led_left();
}

void forwoard()
{
analogWrite(9 , 200);
analogWrite(10 , 0);
analogWrite(5 , 200);
analogWrite(6 , 0);
led_forword();
}

void back()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 0);
analogWrite(6 , 120);
}

void forwoard_rise()
{
analogWrite(9 , 255);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
led_forword();
}

void forwoard_rise1()
{
analogWrite(9 , 210);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
led_forword();
}

void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
//count OUT, pRed, RED
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//count OUT, pBLUE, BLUE
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//count OUT, pGreen, GREEN
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void pan_duan_yan_se()
{
forwoard();
delay(600);
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}
void led_right()
{

lc.setRow(0,0,0x00);
lc.setRow(0,1,0x08);
lc.setRow(0,2,0x04);
lc.setRow(0,3,0x02);
lc.setRow(0,4,0x8f);
lc.setRow(0,5,0x02);
lc.setRow(0,6,0x04);
lc.setRow(0,7,0x08);

}
void led_left()
{

lc.setRow(0,0,0x00);
lc.setRow(0,1,0x10);
lc.setRow(0,2,0x20);
lc.setRow(0,3,0x40);
lc.setRow(0,4,0xfe);
lc.setRow(0,5,0x40);
lc.setRow(0,6,0x20);
lc.setRow(0,7,0x10);
}
void led_forword()
{
lc.setRow(0,0,0x08);
lc.setRow(0,1,0x1c);
lc.setRow(0,2,0x2a);
lc.setRow(0,3,0x49);
lc.setRow(0,4,0x08);
lc.setRow(0,5,0x08);
lc.setRow(0,6,0x08);
lc.setRow(0,7,0x08);

}


+ 0
- 259
sketch_oct27a/sketch_oct27a.ino View File

@@ -1,259 +0,0 @@
#include <Servo.h>

int _ABVAR_1_i = 0 ;
Servo servo_pin_4;
const int s0 = A3;
const int s1 = A4;
const int s2 = A1;
const int s3 = A5;
const int out = 8;
const int led = 7;
const int xun_ji1 = A2;
const int xun_ji2 = 3;
const int xun_ji3 = A0;
int red = 0;
int green = 0;
int blue = 0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;

void trunright();
void trunleft();
void stop();
void duo_ji();
void forwoard_drop();
void forwoard_rise();
void back();
void forwoard();
void color();
void pan_duan_yan_se();

void setup()
{
pinMode(xun_ji1 , INPUT);
pinMode( xun_ji2, INPUT);
pinMode( xun_ji3, INPUT);
pinMode( 10, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 9, OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
servo_pin_4.attach(4);
_ABVAR_1_i = 0 ;
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
}

void loop()
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && digitalRead(xun_ji2) ))
{
back();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ))
{
trunleft();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && !( digitalRead(xun_ji2) ) ))
{
forwoard();
}
else
{
if (( digitalRead(xun_ji3) && ( !( digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ) ))
{
trunleft();
}
else
{
if (( !( digitalRead(xun_ji3) ) && ( digitalRead(xun_ji2) && digitalRead(xun_ji1) ) ))
{
trunright();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && digitalRead(xun_ji1) ))
{
trunright();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && !( digitalRead(xun_ji1) ) ))
{
_ABVAR_1_i = ( _ABVAR_1_i + 1 ) ;
if (( ( _ABVAR_1_i ) == ( 1 ) ))
{
forwoard();
delay( 7000 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 2 ) ))
{
forwoard_rise();
delay( 3000 );
forwoard();
delay( 500 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 3 ) ))
{
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
duo_ji();
}
}
}
}
}
}
}
}
}
}
}
void trunright()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 180);
}

void stop()
{
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
}

void forwoard_drop()
{
analogWrite(9 , 80);
analogWrite(10 , 0);
analogWrite(5 , 80);
analogWrite(6 , 0);
}

void duo_ji()
{
servo_pin_4.write( 90 );
delay( 300 );
servo_pin_4.write( 180 );
delay( 600 );
servo_pin_4.write( 90 );
delay( 300 );
}

void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 180);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void forwoard()
{
analogWrite(9 , 200);
analogWrite(10 , 0);
analogWrite(5 , 200);
analogWrite(6 , 0);
}

void back()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 0);
analogWrite(6 , 120);
}

void forwoard_rise()
{
analogWrite(9 , 255);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
}

void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
//count OUT, pRed, RED
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//count OUT, pBLUE, BLUE
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//count OUT, pGreen, GREEN
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void pan_duan_yan_se()
{
forwoard();
delay(600);
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}


+ 0
- 15
wpa_supplicant.conf View File

@@ -1,15 +0,0 @@
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="CMCC-vEuN"
psk="Wa2YUnYS"
priority=2
}
network={
ssid="HONOR20PRO"
psk="123456789"
priority=1
}

BIN
~$$绘图4 - 副本.~vsdx View File


BIN
~$$绘图4.~vsdx View File


BIN
~$19-1 08 郭洋 - 副本.docx View File


BIN
~$19-1实验报告08+郭洋.docx View File


BIN
~$2.1.pptx View File


BIN
~$学习课设 郭洋 08.docx View File


BIN
与学习相关的技巧 ProcessOn Mind.pdf View File


BIN
云计算 智能19-1实验报告08 郭洋.docx View File


BIN
云计算实验报告/云计算 智能19-1实验报告08 郭洋 - 副本.docx View File


BIN
云计算实验报告/云计算 智能19-1实验报告08 郭洋.docx View File


BIN
云计算实验报告/智能19-1实验报告08+郭洋.docx View File


BIN
代码.rar View File


+ 0
- 50
代码/css.txt View File

@@ -1,50 +0,0 @@
#capture{
position: absolute;
right: 190px;
bottom: -40px;

}

#video{
position: absolute;
right: 0;
top: 0;
width: 480px;
height: 320px;
autoplay:ture;
}

#img{
position: absolute;
left: 0;
top: 0;
width: 480px;
height: 320px;
}

.auto{
position: absolute;
left: 50%;
top: 50%;
height: 320px;
margin-top: -160px;
}

#sure{
position: absolute;
left: 210px;
bottom: -40px;
}

button{
cursor: pointer;
margin: 0 auto;
border: 1px solid #f0f0f0;
background: #5CACEE;
color: #FFF;
width: 100px;
height: 36px;
line-height: 36px;
border-radius: 8px;
text-align: center;
}

+ 0
- 39
代码/mask_face.py View File

@@ -1,39 +0,0 @@
# 导入必要的库
import cv2
import paddlehub as hub

# 加载Paddlehub人脸检测模型
mask_detector = hub.Module(name="pyramidbox_lite_mobile_mask")
face_detector = hub.Module(name="pyramidbox_lite_mobile")

cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)
while True:
# 从摄像头读取图片
sucess, img = cap.read()
# os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3"
result_1 = mask_detector.face_detection(images=[img])
result_2 = face_detector.face_detection(images=[img])
print(result_1)
# 遍历结果并绘制矩形框
if result_2[0]['data'] != [] and result_1[0]['data'][0]['label'] == 'MASK':
for face_1 in result_1[0]['data']:
# 将Dict形式的key-value对转换成变量形式
locals().update(face_1)
print('bbox:', [left, top, right, bottom])
cv2.rectangle(img, tuple([left, top]), tuple([right, bottom]), (0, 255, 127), 2)
else:
for face_2 in result_2[0]['data']:
locals().update(face_2)
cv2.rectangle(img, tuple([left, top]), tuple([right, bottom]), (0, 0,205), 2)

# 显示图像
cv2.imshow("img", img)
# 保持画面的持续。
k = cv2.waitKey(1)
if k == 27:
# 通过esc键退出摄像
cv2.destroyAllWindows()
break

# 关闭摄像头
cap.release()

+ 0
- 89
代码/web.html View File

@@ -1,89 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>网页调取摄像头</title>
<link rel="stylesheet" href="video%20pro.css">
</head>

<body>
<div class="auto">
<video id="video" autoplay></video>
<canvas id="canvas" width="480" height="320" style="display: none;"></canvas>
<img src="./body_default.png" id="img" style="margin-left: 20px;">
<div>
<button id="capture" title="点击进行拍照">拍照</button>
</div>
<div>
<button id="sure" title="是否用这张图片进行验证">确认</button>
</div>
</div>


<script>
var file ,stream;
//访问用户媒体设备的兼容方法
function getUserMedia(constraints, success, error) {
if (navigator.mediaDevices.getUserMedia) {
//最新的标准API
navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);
} else if (navigator.getUserMedia) {
//旧版API
navigator.getUserMedia(constraints, success, error);
}
}

let video = document.getElementById('video');
let canvas = document.getElementById('canvas');
let context = canvas.getContext('2d');

function success(stream) {
//兼容webkit核心浏览器
let CompatibleURL = window.URL || window.webkitURL;
//将视频流设置为video元素的源
console.log(stream);
stream = stream;
//video.src = CompatibleURL.createObjectURL(stream);
video.srcObject = stream;
video.play();
}

function error(error) {
console.log(`访问用户媒体设备失败${error.name}, ${error.message}`);
}

if (navigator.mediaDevices.getUserMedia || navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia) {
//调用用户媒体设备, 访问摄像头
getUserMedia({video : {width: 480, height: 320}}, success, error);
} else {
alert('不支持访问用户媒体');
}
// base64转文件

document.getElementById('capture').addEventListener('click', function () {
context.drawImage(video, 0, 0, 480, 320);
// 获取图片base64链接
var image = canvas.toDataURL('image/png');
// 定义一个img
var img = document.getElementById("img");
//设置属性和src
//img.id = "imgBoxxx";
img.src = image;
//将图片添加到页面中
//document.body.appendChild(img);
function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
file = new File([u8arr], filename, {type: mime});
return new File([u8arr], filename, {type: mime});
}
console.log(dataURLtoFile(image, 'aa.png'));
})
</script>
</body>
</html>


+ 0
- 89
代码/web.txt View File

@@ -1,89 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>网页调取摄像头</title>
<link rel="stylesheet" href="video%20pro.css">
</head>

<body>
<div class="auto">
<video id="video" autoplay></video>
<canvas id="canvas" width="480" height="320" style="display: none;"></canvas>
<img src="./body_default.png" id="img" style="margin-left: 20px;">
<div>
<button id="capture" title="点击进行拍照">拍照</button>
</div>
<div>
<button id="sure" title="是否用这张图片进行验证">确认</button>
</div>
</div>


<script>
var file ,stream;
//访问用户媒体设备的兼容方法
function getUserMedia(constraints, success, error) {
if (navigator.mediaDevices.getUserMedia) {
//最新的标准API
navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);
} else if (navigator.getUserMedia) {
//旧版API
navigator.getUserMedia(constraints, success, error);
}
}

let video = document.getElementById('video');
let canvas = document.getElementById('canvas');
let context = canvas.getContext('2d');

function success(stream) {
//兼容webkit核心浏览器
let CompatibleURL = window.URL || window.webkitURL;
//将视频流设置为video元素的源
console.log(stream);
stream = stream;
//video.src = CompatibleURL.createObjectURL(stream);
video.srcObject = stream;
video.play();
}

function error(error) {
console.log(`访问用户媒体设备失败${error.name}, ${error.message}`);
}

if (navigator.mediaDevices.getUserMedia || navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia) {
//调用用户媒体设备, 访问摄像头
getUserMedia({video : {width: 480, height: 320}}, success, error);
} else {
alert('不支持访问用户媒体');
}
// base64转文件

document.getElementById('capture').addEventListener('click', function () {
context.drawImage(video, 0, 0, 480, 320);
// 获取图片base64链接
var image = canvas.toDataURL('image/png');
// 定义一个img
var img = document.getElementById("img");
//设置属性和src
//img.id = "imgBoxxx";
img.src = image;
//将图片添加到页面中
//document.body.appendChild(img);
function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
file = new File([u8arr], filename, {type: mime});
return new File([u8arr], filename, {type: mime});
}
console.log(dataURLtoFile(image, 'aa.png'));
})
</script>
</body>
</html>


BIN
党史学习/智能19-1郭洋.docx View File


BIN
发票/Screenshot_20211130_095710_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 195 kB

BIN
发票/Screenshot_20211130_095805_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 221 kB

BIN
发票/Screenshot_20211130_095838_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 208 kB

BIN
发票/Screenshot_20211130_095848_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 221 kB

BIN
发票/Screenshot_20211130_095916_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 209 kB

BIN
发票/Screenshot_20211130_095920_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 202 kB

BIN
发票/Screenshot_20211130_095927_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 221 kB

BIN
发票/Screenshot_20211130_095931_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 222 kB

BIN
发票/Screenshot_20211130_095935_com.android.bankabc.jpg View File

Before After
Width: 1080  |  Height: 2340  |  Size: 198 kB

BIN
发票/书1.pdf View File


BIN
发票/住宿.pdf View File


BIN
发票/住宿2.pdf View File


BIN
发票/口罩.pdf View File


BIN
发票/摄像头.pdf View File


BIN
发票/硬件设备.pdf View File


BIN
发票/笔.pdf View File


BIN
发票/键盘.pdf View File


BIN
发票/鼠标.pdf View File


BIN
国际青年人工智能大赛/QQ视频20211027165446.mp4 View File


BIN
国际青年人工智能大赛/应用类:探索者全地形小车—全地形小车—太原学院.docx View File


BIN
国际青年人工智能大赛/微信图片_20211026201406.jpg View File

Before After
Width: 3300  |  Height: 2550  |  Size: 266 kB

BIN
国际青年人工智能大赛/微信图片_20211026211741.jpg View File

Before After
Width: 1080  |  Height: 1398  |  Size: 44 kB

BIN
国际青年人工智能大赛/探索者机器人--太原学院.docx View File


BIN
国际青年人工智能大赛/探索者机器人--太原学院.mp4 View File


BIN
国际青年人工智能大赛/探索者机器人--太原学院.pptx View File


BIN
国际青年人工智能大赛/探索者机器人--太原学院.rar View File


BIN
国际青年人工智能大赛/探索者机器人--太原学院1.mp4 View File


BIN
国际青年人工智能大赛/探索者机器人--太原学院3.mp4 View File


+ 0
- 302
国际青年人工智能大赛/新建文本文档 (2).txt View File

@@ -1,302 +0,0 @@
#include <Servo.h>
#include"LedControl.h"
LedControl lc=LedControl(12,11,13,1);
double _ABVAR_1_i = 0 ;
Servo servo_pin_4;
const int s0 = A3;
const int s1 = A4;
const int s2 = A1;
const int s3 = A5;
const int out = 8;
const int led = 7;
int red = 0;
int green = 0;
int blue = 0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;
void trunright();
void trunleft();
void stop();
void duo_ji();
void forwoard_drop();
void forwoard_rise();
void back();
void forwoard();
void color();
void pan_duan_yan_se();
void led_left();
void led_right();
void led_forword();

void setup()
{
pinMode(16 , INPUT);
pinMode(14, INPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
servo_pin_4.attach(4);
_ABVAR_1_i = 0 ;
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
lc.shutdown(0,false);
lc.setIntensity(0,8);
lc.clearDisplay(0);
lc.setRow(0,0,0xff);
lc.setRow(0,1,0xff);
lc.setRow(0,2,0xff);
lc.setRow(0,3,0xff);
lc.setRow(0,4,0xff);
lc.setRow(0,5,0xff);
lc.setRow(0,6,0xff);
lc.setRow(0,7,0xff);
}

void loop()
{
if (( digitalRead(14) && digitalRead(16) ))
{
forwoard();
}
else
{
if (( !( digitalRead(14) ) && digitalRead(16) ))
{
trunright();
}
else
{
if (( digitalRead(14) && !( digitalRead(16) ) ))
{
trunleft();
}
else
{
if (( !( digitalRead(14) ) && !( digitalRead(16) ) ))
{
_ABVAR_1_i = ( _ABVAR_1_i + 1 ) ;
if (( ( _ABVAR_1_i ) == ( 1 ) ))
{
forwoard_rise();
delay( 3000 );
forwoard();
delay( 1700 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 2 ) ))
{
forwoard_rise();
delay(3000);
forwoard();
delay( 500 );
}
if (( ( _ABVAR_1_i ) == ( 3 ) ))
{
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
duo_ji();
}
}
}
}
}
}
}

void trunright()
{
led_right();
analogWrite(9 , 200);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 200);
}

void stop()
{
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
}

void forwoard_drop()
{
analogWrite(9 , 100);
analogWrite(10 , 0);
analogWrite(5 , 100);
analogWrite(6 , 0);
led_forword();
}

void duo_ji()
{
servo_pin_4.write( 90 );
delay( 300 );
servo_pin_4.write(360 );
delay( 600 );
servo_pin_4.write( 0 );
delay( 300 );
}

void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 200);
analogWrite(5 , 200);
analogWrite(6 , 0);
led_left();
}

void forwoard()
{
analogWrite(9 , 200);
analogWrite(10 , 0);
analogWrite(5 , 200);
analogWrite(6 , 0);
led_forword();
}

void back()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 0);
analogWrite(6 , 120);
}

void forwoard_rise()
{
analogWrite(9 , 255);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
led_forword();
}

void forwoard_rise1()
{
analogWrite(9 , 210);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
led_forword();
}

void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
//count OUT, pRed, RED
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//count OUT, pBLUE, BLUE
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//count OUT, pGreen, GREEN
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void pan_duan_yan_se()
{
forwoard();
delay(600);
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}
void led_right()
{

lc.setRow(0,0,0x00);
lc.setRow(0,1,0x08);
lc.setRow(0,2,0x04);
lc.setRow(0,3,0x02);
lc.setRow(0,4,0x8f);
lc.setRow(0,5,0x02);
lc.setRow(0,6,0x04);
lc.setRow(0,7,0x08);

}
void led_left()
{

lc.setRow(0,0,0x00);
lc.setRow(0,1,0x10);
lc.setRow(0,2,0x20);
lc.setRow(0,3,0x40);
lc.setRow(0,4,0xfe);
lc.setRow(0,5,0x40);
lc.setRow(0,6,0x20);
lc.setRow(0,7,0x10);
}
void led_forword()
{
lc.setRow(0,0,0x08);
lc.setRow(0,1,0x1c);
lc.setRow(0,2,0x2a);
lc.setRow(0,3,0x49);
lc.setRow(0,4,0x08);
lc.setRow(0,5,0x08);
lc.setRow(0,6,0x08);
lc.setRow(0,7,0x08);

}


BIN
实验报告/QQ截图20211029152835.png View File

Before After
Width: 1329  |  Height: 675  |  Size: 54 kB

BIN
实验报告/QQ截图20211029152910.png View File

Before After
Width: 1920  |  Height: 1042  |  Size: 144 kB

BIN
实验报告/QQ截图20211029205713.png View File

Before After
Width: 639  |  Height: 575  |  Size: 30 kB

BIN
实验报告/QQ截图20211029210417.png View File

Before After
Width: 639  |  Height: 575  |  Size: 38 kB

BIN
实验报告/QQ截图20211029211307.png View File

Before After
Width: 639  |  Height: 575  |  Size: 39 kB

BIN
实验报告/QQ截图20211029211708.png View File

Before After
Width: 639  |  Height: 575  |  Size: 21 kB

BIN
实验报告/QQ截图20211029211901.png View File

Before After
Width: 639  |  Height: 575  |  Size: 33 kB

BIN
实验报告/QQ截图20211029212003.png View File

Before After
Width: 639  |  Height: 575  |  Size: 37 kB

BIN
实验报告/QQ截图20211029212132.png View File

Before After
Width: 639  |  Height: 575  |  Size: 36 kB

BIN
实验报告/QQ截图20211029212320.png View File

Before After
Width: 595  |  Height: 238  |  Size: 17 kB

BIN
实验报告/QQ截图20211029212330.png View File

Before After
Width: 509  |  Height: 226  |  Size: 14 kB

BIN
实验报告/QQ截图20211029212405.png View File

Before After
Width: 546  |  Height: 233  |  Size: 15 kB

BIN
实验报告/QQ截图20211113101119.png View File

Before After
Width: 1920  |  Height: 1042  |  Size: 134 kB

BIN
实验报告/QQ截图20211113101406.png View File

Before After
Width: 639  |  Height: 575  |  Size: 46 kB

BIN
实验报告/QQ截图20211113101549.png View File

Before After
Width: 639  |  Height: 575  |  Size: 37 kB

BIN
实验报告/三层交换机.pkt View File


BIN
实验报告/三层路由.pkt View File


BIN
实验报告/三路由.pkt View File


BIN
实验报告/二层交换机.png View File

Before After
Width: 639  |  Height: 575  |  Size: 26 kB

BIN
山西省大学生创新创业训练计划平台.pdf View File


BIN
探索者机器人--太原学院/QQ视频20211027165446.mp4 View File


BIN
探索者机器人--太原学院/探索者机器人--太原学院.docx View File


+ 0
- 223
探索者机器人--太原学院/源程序.txt View File

@@ -1,223 +0,0 @@
#include <Servo.h>
int _ABVAR_1_i = 0 ;
Servo servo_pin_4;
const int s0 = A0;
const int s1 = A1;
const int s2 = A4;
const int s3 = A5;
const int out = 8;
const int led = 7;
const int xun_ji1 = 3;
const int xun_ji2 = A3;
const int xun_ji3 = A2;
int red = 0;
int green = 0;
int blue = 0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;
void trunright();
void trunleft();
void stop();
void duo_ji();
void forwoard_drop();
void forwoard_rise();
void back();
void forwoard();
void color();
void pan_duan_yan_se();

void setup()
{
pinMode(xun_ji1 , INPUT);
pinMode( xun_ji2, INPUT);
pinMode( xun_ji3, INPUT);
pinMode( 10, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 9, OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
servo_pin_4.attach(4);
_ABVAR_1_i = 0 ;
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
}

void loop()
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && digitalRead(xun_ji2) ))
{
back();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ))
{
trunright();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && !( digitalRead(xun_ji2) ) ))
{
forwoard();
}
else
{
if (( digitalRead(xun_ji3) && ( !( digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ) ))
{
trunright();
}
else
{
if (( !( digitalRead(xun_ji3) ) && ( digitalRead(xun_ji2) && digitalRead(xun_ji1) ) ))
{
trunleft();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && digitalRead(xun_ji1) ))
{
trunleft();
}
else
{
if (( ( _ABVAR_1_i ) == ( 1 ) ))//小车开始识别色牌
{
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
stop();
}
}
}
}
}
}
}
}
void trunright()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 0);
}

void stop()
{
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
}

void forwoard_drop()
{
analogWrite(9 , 80);
analogWrite(10 , 0);
analogWrite(5 , 80);
analogWrite(6 , 0);
}
void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 0);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void forwoard()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void back()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 0);
analogWrite(6 , 120);
}

void forwoard_rise()
{
analogWrite(9 , 255);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
}

void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
//count OUT, pRed, RED
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//count OUT, pBLUE, BLUE
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//count OUT, pGreen, GREEN
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void pan_duan_yan_se()
{
forwoard();
delay(600);
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}

+ 0
- 12
新建文本文档 (2).txt View File

@@ -1,12 +0,0 @@
项目进展情况:
1.通过查找获取了两套数据集:

(1)武汉大学开源的口罩遮挡人脸数据集:Real-World Masked Face Dataset,简称 RMFD。

(2)亚洲人脸数据集

该两套数据集都提供了人脸图片集和对应带口罩的数据集,与该项目的训练所需的数据相关。

2.选用百度飞桨开源的PaddlePaddle深度学习框架进行模型搭建,PaddlePaddle 是一个​易用、高效、灵活、可扩展的深度学习框架。并且有很多成熟的预训练模型。

3.通过走访人员聚集场所,结合当下疫情形式,

+ 0
- 261
新建文本文档 (3).txt View File

@@ -1,261 +0,0 @@
#include <Servo.h>

int _ABVAR_1_i = 0 ;
Servo servo_pin_4;
const int s0 = A3;
const int s1 = A4;
const int s2 = A1;
const int s3 = A5;
const int out = 8;
const int led = 7;
const int xun_ji1 = A2;
const int xun_ji2 = 3;
const int xun_ji3 = A0;
int red = 0;
int green = 0;
int blue = 0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;

void trunright();
void trunleft();
void stop();
void duo_ji();
void forwoard_drop();
void forwoard_rise();
void back();
void forwoard();
void color();
void pan_duan_yan_se();

void setup()
{
pinMode(xun_ji1 , INPUT);
pinMode( xun_ji2, INPUT);
pinMode( xun_ji3, INPUT);
pinMode( 10, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 9, OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
servo_pin_4.attach(4);
_ABVAR_1_i = 0 ;
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
}

void loop()
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && digitalRead(xun_ji2) ))
{
back();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ))
{
trunleft();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && !( digitalRead(xun_ji2) ) ))
{
forwoard();
}
else
{
if (( digitalRead(xun_ji3) && ( !( digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ) ))
{
trunleft();
}
else
{
if (( !( digitalRead(xun_ji3) ) && ( digitalRead(xun_ji2) && digitalRead(xun_ji1) ) ))
{
trunright();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && digitalRead(xun_ji1) ))
{
trunright();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && !( digitalRead(xun_ji1) ) ))
{
_ABVAR_1_i = ( _ABVAR_1_i + 1 ) ;
if (( ( _ABVAR_1_i ) == ( 1 ) ))
{
forwoard_rise();
delay( 1500 );
forwoard();
delay( 5000 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 2 ) ))
{
forwoard_rise();
delay( 3000 );
forwoard();
delay( 500 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 3 ) ))
{
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
duo_ji();
}
}
}
}
}
}
}
}
}
}
}
void trunright()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 0);
}

void stop()
{
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
}

void forwoard_drop()
{
analogWrite(9 , 80);
analogWrite(10 , 0);
analogWrite(5 , 80);
analogWrite(6 , 0);
}

void duo_ji()
{
servo_pin_4.write( 90 );
delay( 300 );
servo_pin_4.write( 180 );
delay( 600 );
servo_pin_4.write( 90 );
delay( 300 );
}

void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 0);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void forwoard()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void back()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 0);
analogWrite(6 , 120);
}

void forwoard_rise()
{
analogWrite(9 , 255);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
}

void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
//count OUT, pRed, RED
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//count OUT, pBLUE, BLUE
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//count OUT, pGreen, GREEN
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void pan_duan_yan_se()
{
forwoard();
delay(600);
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}


+ 0
- 185
新建文本文档 (4).txt View File

@@ -1,185 +0,0 @@
C3560 Boot Loader (C3560-HBOOT-M) Version 12.2(25r)SEC, RELEASE SOFTWARE (fc4)
cisco WS-C3560-24PS (PowerPC405) processor (revision P0) with 122880K/8184K bytes of memory.
3560-24PS starting...
Base ethernet MAC Address: 000C.851A.E348
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 3 files, 0 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 64016384
flashfs[0]: Bytes used: 8918011
flashfs[0]: Bytes available: 55098373
flashfs[0]: flashfs fsck took 1 seconds.
...done Initializing Flash.

Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4


Loading "flash:/c3560-advipservicesk9-mz.122-37.SE1.bin"...
########################################################################## [OK]
Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706




Cisco IOS Software, C3560 Software (C3560-ADVIPSERVICESK9-M), Version 12.2(37)SE1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 05-Jul-07 22:22 by pt_team
Image text-base: 0x00003000, data-base: 0x01500000



POST: CPU MIC register Tests : Begin
POST: CPU MIC register Tests : End, Status Passed

POST: PortASIC Memory Tests : Begin
POST: PortASIC Memory Tests : End, Status Passed

POST: CPU MIC interface Loopback Tests : Begin
POST: CPU MIC interface Loopback Tests : End, Status Passed

POST: PortASIC RingLoopback Tests : Begin
POST: PortASIC RingLoopback Tests : End, Status Passed

POST: Inline Power Controller Tests : Begin
POST: Inline Power Controller Tests : End, Status Passed

POST: PortASIC CAM Subsystem Tests : Begin
POST: PortASIC CAM Subsystem Tests : End, Status Passed

POST: PortASIC Port Loopback Tests : Begin
POST: PortASIC Port Loopback Tests : End, Status Passed

Waiting for Port download...Complete
--More--
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.


cisco WS-C3560-24PS (PowerPC405) processor (revision P0) with 122880K/8184K bytes of memory.
Processor board ID CAT1037RJF7
24 FastEthernet/IEEE 802.3 interface(s)
2 Gigabit Ethernet/IEEE 802.3 interface(s)

63488K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address : 000C.851A.E348
Motherboard assembly number : 73-9673-09
Power supply part number : 341-0029-05
Motherboard serial number : CAT103758VY
Power supply serial number : DTH1036C7UB
Model revision number : P0
Motherboard revision number : A0
Model number : WS-C3560-24PS-E
System serial number : CAT1037RJF7
Top Assembly Part Number : 800-26380-04
Top Assembly Revision Number : B0
Version ID : V06
CLEI Code Number : COM1100ARC
Hardware Board Revision Number : 0x01


Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 26 WS-C3560-24PS 12.2(37)SE1 C3560-ADVIPSERVICESK

Cisco IOS Software, C3560 Software (C3560-ADVIPSERVICESK9-M), Version 12.2(37)SE1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 05-Jul-07 22:22 by pt_team

Press RETURN to get started!


%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int f0/1
Switch(config-if)#switch trunk encap dot1q
Switch(config-if)#switch mode trunk
Switch(config-if)#exit
Switch(config)#exit
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#vlan 30
Switch(config-vlan)#eixt
^
% Invalid input detected at '^' marker.
Switch(config-vlan)#ex
Switch(config)#int vlan 10
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan10, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up

Switch(config-if)#ip address 192.168.10.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#int vlan 20
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan20, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan20, changed state to up

Switch(config-if)#ip address 192.168.20.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#int vlan 30
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan30, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan30, changed state to up

Switch(config-if)#ip address 192.168.30.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#ip routing
Switch(config)#int f0/2
Switch(config-if)#no switch
Switch(config-if)#ip address 10.1.1.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#router rip
Switch(config-router)#no auto-summary
Switch(config-router)#network 192.168.10.0
Switch(config-router)#network 192.168.20.0
Switch(config-router)#network 192.168.30.0
Switch(config-router)#network 10.1.1.0
Switch(config-router)#
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#

+ 0
- 41
新建文本文档 .txt View File

@@ -1,41 +0,0 @@
sudo apt-get update && sudo apt-get upgrade

sudo apt-get install build-essential cmake pkg-config

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev

sudo apt-get install libfontconfig1-dev libcairo2-dev
sudo apt-get install libgdk-pixbuf2.0 -dev libpango1.0 -dev
sudo apt-get install libgtk2.0 -dev libgtk- 3 -dev
sudo apt-get install libatlas-base-dev gfortran

sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

sudo apt-get install python3-dev

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip

sudo pip install virtualenv virtualenvwrapper

nano ~/.bashrc

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

source ~/.bashrc

mkvirtualenv cv -p python3

pip install "picamera[array]"

pip install opencv-contrib-python

+ 0
- 261
新建文本文档.txt View File

@@ -1,261 +0,0 @@
#include <Servo.h>

int _ABVAR_1_i = 0 ;
Servo servo_pin_4;
const int s0 = A3;
const int s1 = A4;
const int s2 = A1;
const int s3 = A5;
const int out = 8;
const int led = 7;
const int xun_ji1 = A2;
const int xun_ji2 = 3;
const int xun_ji3 = A0;
int red = 0;
int green = 0;
int blue = 0;
int _ABVAR_2_a = 0;
int _ABVAR_3_b = 0;

void trunright();
void trunleft();
void stop();
void duo_ji();
void forwoard_drop();
void forwoard_rise();
void back();
void forwoard();
void color();
void pan_duan_yan_se();

void setup()
{
pinMode(xun_ji1 , INPUT);
pinMode( xun_ji2, INPUT);
pinMode( xun_ji3, INPUT);
pinMode( 10, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 9, OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
servo_pin_4.attach(4);
_ABVAR_1_i = 0 ;
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(led, OUTPUT);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
}

void loop()
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && digitalRead(xun_ji2) ))
{
back();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ))
{
trunleft();
}
else
{
if (( ( digitalRead(xun_ji3) && digitalRead(xun_ji1) ) && !( digitalRead(xun_ji2) ) ))
{
forwoard();
}
else
{
if (( digitalRead(xun_ji3) && ( !( digitalRead(xun_ji2) ) && !( digitalRead(xun_ji1) ) ) ))
{
trunleft();
}
else
{
if (( !( digitalRead(xun_ji3) ) && ( digitalRead(xun_ji2) && digitalRead(xun_ji1) ) ))
{
trunright();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && digitalRead(xun_ji1) ))
{
trunright();
}
else
{
if (( ( !( digitalRead(xun_ji3) ) && !( digitalRead(xun_ji2) ) ) && !( digitalRead(xun_ji1) ) ))
{
_ABVAR_1_i = ( _ABVAR_1_i + 1 ) ;
if (( ( _ABVAR_1_i ) == ( 1 ) ))
{
forwoard_rise();
delay( 1500 );
forwoard();
delay( 5000 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 2 ) ))
{
forwoard_rise();
delay( 3000 );
forwoard();
delay( 500 );
}
else
{
if (( ( _ABVAR_1_i ) == ( 3 ) ))
{
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_2_a = 1;
//LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_2_a = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_2_a = 3;
// LcdDisplay(" - (Green Color)");
}
while(((_ABVAR_2_a)!= (_ABVAR_3_b)))
{
pan_duan_yan_se();
}
duo_ji();
}
}
}
}
}
}
}
}
}
}
}
void trunright()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 0);
analogWrite(6 , 0);
}

void stop()
{
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
}

void forwoard_drop()
{
analogWrite(9 , 80);
analogWrite(10 , 0);
analogWrite(5 , 80);
analogWrite(6 , 0);
}

void duo_ji()
{
servo_pin_4.write( 90 );
delay( 300 );
servo_pin_4.write( 180 );
delay( 600 );
servo_pin_4.write( 90 );
delay( 300 );
}

void trunleft()
{
analogWrite(9 , 0);
analogWrite(10 , 0);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void forwoard()
{
analogWrite(9 , 180);
analogWrite(10 , 0);
analogWrite(5 , 180);
analogWrite(6 , 0);
}

void back()
{
analogWrite(9 , 0);
analogWrite(10 , 120);
analogWrite(5 , 0);
analogWrite(6 , 120);
}

void forwoard_rise()
{
analogWrite(9 , 255);
analogWrite(10 , 0);
analogWrite(5 , 255);
analogWrite(6 , 0);
}

void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
//count OUT, pRed, RED
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//count OUT, pBLUE, BLUE
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//count OUT, pGreen, GREEN
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
void pan_duan_yan_se()
{
forwoard();
delay(600);
stop();
digitalWrite(led, HIGH);
delay(500);
color();
digitalWrite(led, LOW);
if (red < blue && red < green)
{
_ABVAR_3_b = 1;
// LcdDisplay(" - (Red Color)");
}
else if (blue < red && blue < green)
{
_ABVAR_3_b = 2;
// LcdDisplay(" - (Blue Color)");
}
else if (green < red && green < blue)
{
_ABVAR_3_b = 3;
// LcdDisplay(" - (Green Color)");
}
}


BIN
智能19-1 郭洋 (4201910903108).doc View File


BIN
智能19-1 郭洋.docx View File


BIN
智能19-1实验报告08+郭洋.docx View File


BIN
语雀.lnk View File


BIN
质量评价汇总表.docx View File


+ 0
- 2
镜像说明.txt View File

@@ -1,2 +0,0 @@
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

BIN
附件.rar View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save