
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:52


Бул долбоор сынган чырактан жана nodeMCUдан жасалган. Бул кооздук чыракты каалаган жакка туураласа болот & магниттик материалдарга тиркелет же столго койсо болот. Аны төмөнкүдөй эки режимде башкарса болот:
- Зымсыз башкаруу режими, төмөнкү YouTube шилтемеси катары:
- Интерактивдүү башкаруу режими, төмөнкү YouTube шилтемеси катары:
1 -кадам: БИЛЛИН МАТЕРИАЛДАР
B. O. M тизмеси:

Интерактивдүү режим үчүн мен MPU6050 колдонуп, лампанын түсүн көзөмөлдөө үчүн NodeMCUдан гиро маалыматтарды алам.
Бул долбоордун материалдык сүрөтү:

2 -кадам: CIRCUIT

Бул өтө жөнөкөй схема, Fritzing схемасы боюнча, 1 RGB Led жалпы аноддук түрү, үч чеги учурдагы R100 & MPU6050 каршылыгы.
Рефлектор ар кандай сынган лампалардан колдонулат жана nodeMCU базасына 2 болт менен туташтырылат же аларды күчтүү клей менен жабыштырат.
Орнотуу иштери:


Төмөндөгү схема:

3 -кадам: магниттик база - ийкемдүү колтук

Ийкемдүү колду сынган ийкемдүү суу крандарынан кайра колдонсо болот. Ушуга окшош нерсе:

Кээ бир кеңештер менен, биз аларды ийкемдүү колдун түбүндөгү туруктуу магнит базасына туташтырууга аракет кылабыз. Үстүндө биз схемага жана күн батареясына туташтыруу үчүн бургулоочу тешик жасадык. Бул база менен биз үстөлгө, полдорго окшогон лампаларды койсок болот …..; же болоттон жасалган мамы, болот конструкциясы сыяктуу магниттик материалдарга тиркелиши мүмкүн.
4 -кадам: КҮН - батареяны кубаттоочу

Бул бузулган кубаттоочу лампадан келген. Мен nodeMCUго күйгүзүү/өчүрүү жана электр зымдарын коштум. Ошондой эле, бир USB портунун розеткасы жана батарейканын кубаттагычынын бир сайгычы бар.
5 -кадам: БАРДЫГЫН БИРГЕ КОШУҢУЗ

Бардык бөлүктөрдү туташтыруу: NodeMCU & чагылдыргыч, күн жана батарея клеткалары, ийкемдүү кол.
БҮТҮРҮҮ

Кубаттоо режими

6 -кадам: ИНТЕРАКТИВДҮҮ БАШКАРУУ ПРОГРАММАСЫ
Биз ийкемдүү колду тууралаганда же чыракты айландырганда түсү өзгөрөт.
Интерактивдүү чырак
#кошуу |
// MPU6050 Slave Device Address |
const uint8_t MPU6050SlaveAddress = 0x68; |
// I2C байланышы үчүн SDA жана SCL казыктарын тандаңыз - WIDRE LIBRARYде демейки PIN: SCL - D1 & SDA - D2 NODEMCU боюнча |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 бир нече конфигурация реестринин даректери |
const uint8_t MPU6050_REGISTER_SMPLRT_DIV = 0x19; |
const uint8_t MPU6050_REGISTER_USER_CTRL = 0x6A; |
const uint8_t MPU6050_REGISTER_PWR_MGMT_1 = 0x6B; |
const uint8_t MPU6050_REGISTER_PWR_MGMT_2 = 0x6C; |
const uint8_t MPU6050_REGISTER_CONFIG = 0x1A; |
const uint8_t MPU6050_REGISTER_GYRO_CONFIG = 0x1B; |
const uint8_t MPU6050_REGISTER_ACCEL_CONFIG = 0x1C; |
const uint8_t MPU6050_REGISTER_FIFO_EN = 0x23; |
const uint8_t MPU6050_REGISTER_INT_ENABLE = 0x38; |
const uint8_t MPU6050_REGISTER_ACCEL_XOUT_H = 0x3B; |
const uint8_t MPU6050_REGISTER_SIGNAL_PATH_RESET = 0x68; |
int16_t AccelX, AccelY, AccelZ, Температура, GyroX, GyroY, GyroZ; |
жараксыз орнотуу () { |
pinMode (R, OUTPUT); |
pinMode (G, OUTPUT); |
pinMode (B, OUTPUT); |
//Serial.begin(9600); |
Wire.begin (SDA, SCL); |
MPU6050_Init (); |
} |
void loop () { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Кызыл, Жашыл, Көк; |
Read_RawValue (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Абсолюттук маанини алыңыз |
Ax = myAbs (AccelX); |
Ay = myAbs (AccelY); |
Az = myAbs (AccelZ); |
// Диапазондо масштаб |
Кызыл = карта (Ax, 0, 16384, 0, 1023); |
Жашыл = карта (Ай, 0, 16384, 0, 1023); |
Көк = карта (Az, 0, 16384, 0, 1023); |
// Текшерүү үчүн сериялык басып чыгаруу |
//Serial.print("Кызыл: "); Serial.print (Кызыл); |
//Serial.print("Green: "); Serial.print (Жашыл); |
//Serial.print("Көк: "); Serial.print (Blue); |
// LEDге аналог жазыңыз |
analogWrite (R, Red); // Р |
analogWrite (G, Green); // Г. |
analogWrite (B, Көк); // Б. |
кечигүү (200); |
} |
жараксыз I2C_Write (uint8_t deviceAddress, uint8_t regAddress, uint8_t маалыматтар) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.write (маалыматтар); |
Wire.endTransmission (); |
} |
// Бардык 14 реестрди окуу |
жараксыз Read_RawValue (uint8_t deviceAddress, uint8_t regAddress) { |
Wire.beginTransmission (deviceAddress); |
Wire.write (regAddress); |
Wire.endTransmission (); |
Wire.requestFrom (deviceAddress, (uint8_t) 14); |
AccelX = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
AccelY = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
AccelZ = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
Температура = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroX = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroY = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
GyroZ = ((((int16_t) Wire.read () << 8) | Wire.read ()); |
} |
// MPU6050ди конфигурациялоо |
жараксыз MPU6050_Init () { |
кечиктирүү (150); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_SMPLRT_DIV, 0x07); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_PWR_MGMT_1, 0x01); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_PWR_MGMT_2, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_CONFIG, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_GYRO_CONFIG, 0x00); // коюлган +/- 250 градус/экинчи толук масштаб |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00); // толук масштаб +/- 2г |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_FIFO_EN, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_INT_ENABLE, 0x01); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_SIGNAL_PATH_RESET, 0x00); |
I2C_Write (MPU6050SlaveAddress, MPU6050_REGISTER_USER_CTRL, 0x00); |
} |
// Абсолюттук баалуулук |
float myAbs (сүзүү) { |
return (in)> 0? (in):-(in); |
} |
GitHub тарабынан ❤ менен уюштурулган rawINTERACTIVE LAMP PROGRAMын караңыз
7 -кадам: Зымсыз көзөмөлдөө программасы жана андроид колдонмосу

Башка жол, биз WiFi тармагындагы Android менен RGB LEDди башкаруу үчүн Android колдонмосун колдоно алабыз. Android колдонмосуна шилтеме: NODEMCU башкаруу RGB LED APP
Arduino программасы үчүн, сиз кайрылсаңыз болот:
microcontrollerkits.blogspot.com/2016/05/es…
Программаны NodeMCUго жүктөгөндөн кийин, биринчи иштетүү бизге NodeMCUнун IP дарегин сериялык басып чыгарууда берет. Менин учурда, бул: 192.164.1.39 порт 80.

Эми биз зымсыз лампаны ноутбук/ планшет/ уюлдук телефон менен жогорудагы даректи Internet Explorerге киргизип башкара алабыз.

Же Android колдонмосун колдонуу:

8 -кадам: КЭЭР СУРОТТОР
Сунушталууда:
Кармагы бар робот колу: 9 кадам (сүрөттөр менен)

Кармагы бар роботтук кол: Лимон дарактарын жыйноо дарактардын чоңдугуна жана лимон дарактары отургузулган аймактардын ысык климатына байланыштуу оор жумуш болуп эсептелет. Мына ошондуктан бизге айыл чарба кызматкерлерине жумуштарын аягына чыгарууга жардам берүү үчүн дагы бир нерсе керек
FLEXBALL - WiFi менен жүз пикселдик ийкемдүү PCB шары: 6 кадам (сүрөттөр менен)

FLEXBALL - Wi -Fi менен жүз пикселдик ийкемдүү PCB шары: Саламатсызбы жаратуучулар, ал moekoe жаратуучусу! Flexball ийкемдүү ПКБга негизделген, ал 100 WS2812 2020 даректүү LED менен жабдылган. Бул ESP8285-01f тарабынан көзөмөлдөнөт - Espressif тарабынан эң кичине ESP негизделген модуль. Андан тышкары, ADXL345 акселерометрине ээ
HC12 зымсыз модулун колдонуу менен зымсыз Arduino роботу: 7 кадам

HC12 зымсыз модулун колдонуу менен зымсыз Arduino роботу: Эй балдар, кайра кош келиңиздер. Мурунку постумда, мен H Bridge Circuit деген эмне экенин түшүндүрдүм, L293D мотор айдоочусу IC, piggybacking L293D мотор айдоочусу IC, учурдагы мотор драйверлерин айдоо үчүн жана өзүңүздүн L293D мотор айдоочулар тактаңызды кантип иштеп чыгууга болот
Магниттик камера колу: 5 кадам (сүрөттөр менен)

Магниттик камера колу: Мен бул магниттик камераны Youtube видеолорумду жасоого жардам берүү үчүн жасадым. Бул аягына чыгаруу үчүн жеңил долбоор. Бардык бөлүктөрдү Amazonдон жана жергиликтүү аппараттык дүкөндөн оңой эле табууга болот
Жаңсоо жана үн менен башкарылган зымсыз робот колу: 7 кадам (сүрөттөр менен)

Жаңсоо жана үн менен башкарылган зымсыз робот колу: Негизи бул биздин колледждин долбоору болчу жана бул долбоорду тапшырууга убакыттын тардыгынан улам кээ бир кадамдарды сүрөткө тартууну унутуп калдык. Биз дагы кодду иштеп чыктык, анын жардамы менен бул робот колун бир убакта жаңсоону жана үндү башкарууга болот, бирок улам