Контролери > Ардуино (Arduino)
Проект с Arduino Uno и HC-05
(1/1)
bascho:
Здравейте на всички :) . Първо да кажа , че не съм програмист но имам елементарни познания . Обичам да се заигравам с различни проекти :) . Последния който ми хвана окото бе провокиран от следния клип https://www.youtube.com/watch?v=486T8rCk4mU&t=11s&index=1&list=LLfdN_1UoR3nNjl7DMrMaPMQ . Сега ми се прииска да опитам да го реализирам и аз . За целта поръчах един модул Arduino Uno и един HC-05 .
С помоща на MIT App Inventor си изработих едно приложение http://
Написах и един скеч в който ще не съм сигурен дали работи понеже си чакам Arduino Uno-то но идеята следната при натискане на бутоза за отключване да изпраща 1-ца до Ардуиното при , при което да се задейства реле 1, при пускане на бутона да се изпраща 2-ка и релето да се затваря. Аналогично при заключване да се командва реле 2 с 3-ка и 4-ка, а при старт стоп реле 3 с 5-ца и 6-ца. Отделно ще има 4-то релекоето при подаване на 1-ца ще се задейства и ще остане отворено а при 4-ка ще се изключва. Ето и скеча :
#define Relay1 7
#define Relay2 9
#define Relay3 11
#define Relay4 13
void setup()
{
Serial.begin(9600);
digitalWrite(Relay1, HIGH);
digitalWrite(Relay2, HIGH);
digitalWrite(Relay3, HIGH);
digitalWrite(Relay4, HIGH);
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
pinMode(Relay3, OUTPUT);
pinMode(Relay4, OUTPUT);
}
void loop()
{
int incomingByte = 0;
if (Serial.available() > 0) {
incomingByte = Serial.parseInt();
}
if (incomingByte == 1) {
digitalWrite(Relay1, HIGH);
digitalWrite(Relay4, HIGH);
}
if (incomingByte == 2) {
digitalWrite(Relay1, LOW);
}
if (incomingByte == 3) {
digitalWrite(Relay2, HIGH);
digitalWrite(Relay4, LOW);
}
if (incomingByte == 4) {
digitalWrite(Relay2, LOW);
}
if (incomingByte == 5) {
digitalWrite(Relay3, HIGH);
}
if (incomingByte == 6) {
digitalWrite(Relay3, LOW);
}
}
Искам да добавя и опция за още едно реле което при подаване на 5-ца да се задейства и да остане отворен 30секунди след което да се изключи, възможно ли е това ?
bascho:
Хайде де никой ли няма да се включи. Вярно , че е форум с малко аудитория, но чак пък толкова.
bascho:
И против на цялата несговорчивост на всички тук. А съм сигурен , че има много хора които можеха да отделят няколко минути за да ме упътят крайния резултат е на лице.
С малко помощ от колега от offroad-bulgaria успях да докарам всичко да работи.
Направих и някой промени по приложението за телефона:
А кода , който качих в Arduino Uno модула е следния :
void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
if(Serial.available()>0)
{
char data= Serial.read();
switch(data)
{
case '1': digitalWrite(8, HIGH);
delay(750);
digitalWrite(8, LOW);
digitalWrite(10, HIGH);
break;
case '2': digitalWrite(10, LOW);
delay(750);
digitalWrite(9, HIGH);
delay(750);
digitalWrite(9, LOW);
break;
case '3': digitalWrite(12, HIGH);
delay(750);
digitalWrite(11, HIGH);
delay(750);
digitalWrite(11, LOW);
delay(30000);
digitalWrite(12, LOW);
break;
default : break;
}
Serial.println(data);
}
delay(50);
}
В резултат всичко работи. Изключително съм "БЛАГОДАРЕН" на всички така "ОТЗИВЧИВИ" участници в този форум
Навигация
[0] Списък на темите
Премини на пълна версия