在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何制作水族館管理系統

454398 ? 來源:工程師吳畏 ? 2019-08-14 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:組件

如何制作水族館管理系統

這里我們將列出該項目所需的所有組件。

Arduino Uno

超聲波傳感器

LCD(16x2)

電位計(10k)

伺服電機

5V 2通道繼電器

水溫傳感器

跳線電纜

光敏電阻

水泵水平型

1x 2.2k歐姆,1x220歐姆,1x1k歐姆,1x 4.7歐姆電阻器

6V可充電電池

有機玻璃中的4x白色LED二極管

2x Led二極管

Arduino Box

水泵軟管

CSA電纜組件LL83498 AWM色帶連接器

DS電纜LIYCY 8x0.5 mm2阻燃劑

RVVB 2x1.5 mm2

KCD11-101開/關開關

鎂片盒

晶體管7805

水族箱

Bi g 10 Litters Water Bottle

金屬盒(用于超聲波,伺服)

步驟2:使用光敏電阻和開關進行盒切割和LCD安裝

首先,我們測量LCD的長度,在我們的情況下為7x2.5厘米,因此它可以放在盒子的正面。稍后我們測量開關按鈕(2x1.3 cm)和光敏電阻,我們將它們添加到盒子的正面。

然后,在盒子的一側,我們鉆了幾個孔,2個用于Arduino,1個用于水溫傳感器,1個用于水泵,1個用于DS電纜。這些電纜后來連接在水族箱上方的金屬盒中。另一方面,我們鉆了2個孔,一個用于電位器,一個用于電源

接下來,我們從兩側切割帶狀連接器,如普通電線,以便將它們與Arduino連接另一邊和LCD,光敏電阻和電位計在另一邊。從功能區到Arduino的接線如下:

帶有VSS的1-s導線,帶有VSS的LCD和帶Arduino的GND

帶狀的2-wire導線在LCD上使用VDD,在Arduino上使用VCC(5v)

帶有R0的3線電纜和LCD電位器(中間引腳)

帶有RS的帶狀線的第4根電線在Arduino上的LCD和數字引腳5上

帶有LED的第5條線,LCD上的RW和Arduino上的GND

帶有數字引腳4的LCD上帶有E的帶的第6條線在Arduino上

帶有D4的7號線在LCD上帶有模擬引腳2在Arduino

第8條線從帶有D5的LCD上帶有模擬引腳3在Arduino上

第9條導線,帶有D6的LCD,帶有模擬引腳4,位于Arduino

第10根導線,帶有D7的LCD,帶有模擬引腳5,位于Arduino上

帶有A的第11條導線,帶有A的LCD + 2.2k電阻,帶有VCC(5v)的Arduino

第12根導線來自帶狀,帶有K的LCD,帶有GND的Arduino

帶有VCC光纖的帶狀第13條線在Arduino上使用VCC進行電壓調整

帶光纖電阻器上帶有GND的第14根導線,帶有1.1k電阻+ GND和Arduino上的模擬引腳1(來自Arduino的GND線和引腳線與電阻器焊接在一起)與帶狀導線連接)

盒子前面的所有元件都用膠槍粘合。

注意:全部所有模塊的VCC線焊接在Arduino上VCC引腳的一根導線上。所有模塊的GND線也一樣。

步驟3:將Arduino與繼電器屏蔽,泵和LED連接

首先,我們需要將繼電器與Arduino連接起來。繼電器的VCC到Arduino的VCC,繼電器的GND到Arduino的GND,繼電器的IN1引腳,Arduino的數字引腳10和Arduino的數字2的IN2。

接下來我們要連接水泵通過開關連接到第一個繼電器,并將溫度信號指示燈發送到第二個繼電器。

開關的第一個引腳連接到電源插孔上的VCC引腳,而另一個引腳則連接到電源插孔上。引腳連接到晶體管的輸入引腳。電源插孔的GND引腳,晶體管的GND引腳和泵的GND引線焊接在一起。泵的VCC線與第一個繼電器的NO引腳連接,而晶體管的輸出引腳連接到繼電器的COM引腳。

由于LED位于水族箱內部,而Arduino位于水族箱內,因此我們需要使用長線連接它們。這就是DS Cable LIYCY 8x0.5 mm2阻燃劑的用武之地。該電纜中有8根電線,因此我們將其中的2根分別與LED的陽極連接。這些導線必須連接到第二繼電器,因此與綠色LED連接的導線連接在第二繼電器的NC引腳上,而來自紅色LED的導線與來自第二繼電器的NO引腳連接。 LED陰極與220歐姆電阻和1線(GND)焊接在一起,并與Arduino的GND連接在一起。在第二個繼電器上的COM引腳來自Arduino的VCC。

步驟4:連接其他傳感器

從圖片中我們可以看到,我們有一個帶孔的紅色塑料板,它是金屬盒的一部分在水族館上方。在那個洞里,帶有伺服系統的Magnesium Tablet Box會不時地旋轉以喂魚。有機玻璃中的LED二極管粘在電路板上,所以當它變暗時,它會通過光敏電阻激活。電路板上的另一個傳感器是超聲波傳感器,通過電路板的孔,水溫傳感器將進入水中。

首先,我們將開始將水溫傳感器與Arduino連接。由于我們在Arduino的盒子上鉆了一個洞(查看以前部件的圖片),我們不需要額外的電線來連接。來自傳感器的GND線連接到Arduino上的GND引腳,來自傳感器的VCC線連接到VCC引腳,來自傳感器的數據線連接到Arduino上的數字引腳8。然而,數據線也與來自傳感器的VCC線連接,與4.7k歐姆電阻焊接在一起。

接下來是超聲波傳感器。該傳感器通過DS電纜的4根線連接(請參閱前一部分)。 VCC線與Arduino的VCC和傳感器的VCC引腳相連。 GND線連接Arduino的GND和傳感器的GND。其余2根線用于傳感器的Echo和Trigger引腳。 Echo引腳連接在Arduino上的數字引腳7上,觸發引腳分別通過導線連接到Arduino上的數字引腳6上。但是,我們需要鉆兩個孔,這樣超聲波的“眼睛”就會指向水面。

之后是伺服電機。我們將取出伺服的旋轉蓋,我們將用鎂盒蓋替換它。伺服的連接很簡單。 DS電纜的VCC線與伺服的VCC線連接,電纜的GND線與伺服的GND線連接,伺服的數據線通過Arduino上的數字引腳9連接。電線離開了。

最后它出現了有機玻璃中的LED二極管。從技術上講,有機玻璃中有4個LED。但在這里我們不需要電阻器。在這里,來自LED的陽極與DS電纜的剩余電線之一焊接在一起,其末端連接到數字引腳12.Kathodes與GND電線焊接在一起,并與GND連接Arduino上的pin。

第5步:結論

代碼:

#include

#include

#include

#include

//digital pin 8 for data for DS18B20 water temperature sensor

#define ONE_WIRE_BUS 8

//digital pin 10 for relay1

#define RELAY1 10

//digital pin 2 for relay2

#define RELAY2 2

OneWire oneWire(ONE_WIRE_BUS);

// initialize the library by associating any needed LCD interface pin

// with the arduino pin number it is connected to

const byte rs = 5, en = 4, d4 = 16, d5 = 17, d6 = 18, d7 = 19;

byte trigPin = 6; // Trigger

byte echoPin = 7; // Echo

byte servoPin = 9; // Servo

byte light = 12; // Light

byte photocellPin = 1; //Photoresistor (analog pin 1)

Servo servo;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

DallasTemperature sensors(&oneWire);

int i=0;

int val = 0; //analog value from photoresistor

int cm; //water level distance in cm

float Celsius = 0; // Water temperature

int servoAngle = 0; // Servo angle

unsigned long lastOccur = 0; // last time the servo was called (in milliseconds)

unsigned long current; // keep track of current time (in milliseconds)

void setup(){

Serial.begin(9600);

// set up the LCD‘s number of columns and rows:

lcd.begin(16,2);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

servo.attach(servoPin);

pinMode(RELAY1, OUTPUT);

digitalWrite(RELAY1, HIGH);

pinMode(RELAY2, OUTPUT);

digitalWrite(RELAY2, HIGH);

pinMode(light, OUTPUT);

}

void loop(){

//Check time (used as timer for the servo)

current = millis();

//Read the value from the analog pin from the photoresistor

val = analogRead(photocellPin);

//Calculate the temperature in celsius

Celsius = calcTemp();

// Convert the time into a distance

cm = ultrasonic_distance();

// Print the temperature and water level

printLCD(cm,Celsius);

//Activate pump if water level is less than 18 cm

if(cm 》 18){

pump();

}

// Activate heater if temperature is below 22 degrees celsius

if(Celsius 《 22){

heat();

}

// Activate light

if(val 《= 412){

digitalWrite(light, HIGH);

}

else{

digitalWrite(light, LOW);

}

//timer 30s

if(current - lastOccur 》= 30000){

callServo();

lastOccur=millis();

}

}

float calcTemp() {

sensors.requestTemperatures();

// returns the temperature in celsius

return sensors.getTempCByIndex(0);

}

int ultrasonic_distance(){

// Clears the trigPin

digitalWrite(trigPin, LOW);

delay(0.002);

//Sets the trigPin on HIGH state for 10 micro seconds

digitalWrite(trigPin, HIGH);

delay(0.01);

digitalWrite(trigPin,LOW);

return calcDistanceInCm(pulseIn(echoPin, HIGH));

}

int calcDistanceInCm(long dur){

//divide by 29.1 or multiply by 0.0343

return (dur/2)*0.0343;

}

void heat(){

delay(1000); // wait 1 second

digitalWrite(RELAY2, LOW); // turn on relay2

delay(5000); //wait for 5 seconds

digitalWrite(RELAY2, HIGH); // turn off relay2

delay(1000); // wait 1 second

}

void pump(){

delay(1000); //wait 1 second

digitalWrite(RELAY1, LOW); // turn on relay1

delay(20000); // wait 20 seconds

digitalWrite(RELAY1, HIGH); // turn off relay1

delay(1000); // wait 1 second

}

void printLCD(int cm, float temp){

lcd.clear();

// set the cursor to column 0, line 0

// (note: line 0 is the first row, since counting begins with 0):

lcd.setCursor(0, 0);

lcd.print(“Distance: ”);

//print the water level in cm

lcd.print(cm);

lcd.print(“cm”);

lcd.setCursor(0, 1);

lcd.print(“Temperature:”);

//print the temperature in celsius

lcd.print((int)temp);

lcd.print((char)223);

lcd.print(“C”);

delay(1000)

}

void callServo(){

for(i=0;i《2;i++){

for(servoAngle = 0; servoAngle 《 180; servoAngle++){ // move the micro servo from 0 degrees to 180 degrees

servo.write(servoAngle);

delay(7); // servo start speed (faster)

}

delay(2000);

for(servoAngle = 180; servoAngle 》 0; servoAngle--){ // now move back the servo to 0 degrees

servo.write(servoAngle);

delay(10); //servo back speed (slower)

}

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 繼電器
    +關注

    關注

    133

    文章

    5431

    瀏覽量

    151178
  • 超聲波傳感器

    關注

    18

    文章

    606

    瀏覽量

    36791
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    部隊物資倉庫管理系統

    管理系統
    北京華盛恒輝科技
    發布于 :2025年05月08日 22:32:09

    部隊裝備管理系統:轉變信息化管理

    管理系統
    北京華盛恒輝科技
    發布于 :2025年05月08日 22:29:31

    游泳智能照明系統:動態光譜調節,重塑游泳體驗

    、安全的體驗。 傳統的游泳照明系統往往采用固定亮度的燈具,無法根據實際需求進行靈活調整,不僅造成能源浪費,還可能影響游泳者的體驗。而智能照明系統則通過傳感器、控制器和網絡技術的結合,實現照明的智能化
    的頭像 發表于 05-07 15:09 ?201次閱讀

    博物溫濕度監控系統

    ,若任其自然變化,則可能對文物造成意想不到的損害。為此,博物溫濕度監控系統應運而生,其具備多種功能,以確保文物環境的穩定與安全。 博物溫濕度監控系統,采集各庫房的溫濕度數據,通過
    的頭像 發表于 12-20 16:42 ?857次閱讀

    智慧體育:實時監控與智能管理的完美結合

    智慧體育可視化技術的應用正在為體育產業帶來一場革命性的轉變。結合實時監控和智能管理,智慧體育可視化系統不僅提供了更高效、安全的管理手段,
    的頭像 發表于 10-11 15:35 ?665次閱讀

    某市科技項目智慧空開的案例分享

    網的智能監控和安全用電問題的研究,顯得極為重要,并且正逐漸受到國家和企業的高度關注。然而,根據目前對科技用電狀況的觀察,現有的監控管理措施尚不完善,存在諸多問題。 ? 1科技存在的安全隱患 1.1展區分散,基礎
    的頭像 發表于 09-23 15:16 ?709次閱讀
    某市科技<b class='flag-5'>館</b>項目智慧空開的案例分享

    東識民兵檔案管理系統

    管理系統
    jf_72884372
    發布于 :2024年08月16日 09:44:10

    武裝部戰備器材管理系統實現裝備倉庫管理“四化”新模式

    管理系統
    jf_72884372
    發布于 :2024年08月14日 15:44:09
    主站蜘蛛池模板: 国产在线小视频 | 久精品在线观看 | 艹逼视频免费看 | 日本精品高清一区二区2021 | 一级不卡毛片 | 国模小丫大尺度啪啪人体 | 女同毛片 | 色视频网站免费 | 欧美黑人粗暴另类多交 | 性欧美日韩 | 久久久亚洲欧美综合 | 成人欧美网站 | 欧美爱爱网址 | 天天操天天摸天天干 | 久久狠色噜噜狠狠狠狠97 | 永久在线 | 成年人的毛片 | 免费看黄的视频软件 | 色噜噜狠狠色综合欧洲selulu | 国产高清成人mv在线观看 | 97在线亚洲 | 欧美天堂在线观看 | 欧美一级在线观看视频 | 欧美性猛片xxxxⅹ免费 | 天天爱夜夜爱 | 久久国产精品免费观看 | 免费看h的网站 | 亚洲黄色小视频 | 国产精品毛片久久久久久久 | 天天在线影院 | 男男憋尿play按小腹 | avtt香蕉 | 色内内免费视频播放 | 91av免费在线观看 | 台湾佬自偷自拍情侣在线 | 国产精品久久久久aaaa | 亚洲合集综合久久性色 | 欧美黑人5o厘米全进去 | 亚洲成人在线电影 | 中文字幕一区二区三区在线观看 | 中文字幕在线看视频一区二区三区 |