Skip to content

Commit

Permalink
Creating a usage page for the Rolica Motion Camera System
Browse files Browse the repository at this point in the history
Creating a usage page for the Rolica Motion Camera System
  • Loading branch information
srnhanife committed Apr 20, 2024
1 parent 620bdeb commit a41bdb1
Show file tree
Hide file tree
Showing 8 changed files with 223 additions and 62 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 17 additions & 14 deletions docs/kameralar/rolica-kamera-hareket-sistemi/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,30 @@ import DocCardList from '@theme/DocCardList';

# Ürün Hakkında

Sade ve özgür bir deneyim için Rolica Hareketli Kamera Sistemi, 180 derece dönüş açısı ile sizin kontrolünüzde! Degz bünyesindeki tüm kamera modülleri ile uyumlu, standart PWM sinyalleriyle kameranızı kolayca hareket ettirebilirsiniz.

![Rolica Hareket Sistemi](./image/rolica-12.jpg)

:::info
Bu ürün güncellenmektedir. Kamera modül fiyatı ürün fiyatına dahil değildir, harici olarak seçebilirsiniz.
:::
Rolica Hareketli Kamera Sistemi, 180 derece serbest dönüş açısı ve 1000lm aydınlatma şiddeti ile karanlık ortamlarda bile üstün görüntüleme sağlar. Standart PWM sinyalleriyle çalışan bu sistem, Degz bünyesindeki tüm kamera modülleri ile uyumlu olup, kullanıcıların kamera yönünü kolayca ayarlamalarını mümkün kılar. 12V çalışma voltajı ve 150 metre maksimum derinlik kapasitesi ile Rolica, esnek ve genişletilebilir bir çözüm sunar. Sistem, kamera içermez ve isteğe bağlı olarak ek kamera modülleriyle kişiselleştirilebilir.

![Rolica Hareket Sistemi](./image/rolica-7.jpg)

Dahili yönlendirilebilir aydınlatması, karanlık ortamlarda bile sorunsuz çalışmanızı sağlar. Roli Kamera ile dünyayı 180 dereceyle keşfedin!

- Sade ve özgür, Rolica ile 180 dereceye hakim olun!

- Degz bünyesindeki tüm kamera modülleri ile uyumludur.

- Standart pwm sinyalleri ile kameranızı 180 derece hareket ettirebilirsiniz.

- Dahili yönlendirilebilir aydınlatması sayesinde karanlıklar çalışmanızı engelleyemez!
## Ürünün Teknik Özellikleri

![Rolica Hareket Sistemi](./image/rolica-14.jpg)
| Özellikler | Açıklama |
|--------------------------|-----------------------|
|Çalışma Voltajı| 12V|
|Kamera Dönüş Açısı |180 Derece Serbest|
|Aydınlatma Şiddeti| 1000lm|
|Aydınlatma Dönüş Açısı |Kameraya sabit - 180 derece|
|Azami Derinlik| 150 metre|
|1500 ms PWM| Sabit|
|2000 ms PWM'ye kadar| Saat Yönü|
|1000 ms PWM'ye kadar |Saat Yönü Tersi|


## Ürünün Pin Diyagramı

![Rolica Hareket Sistemi](./image/rolika-sematic.png)


**Soru ve önerileriniz için bize [forumdan](https://forum.degzrobotics.com/) ulaşabilirsiniz .**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,106 @@
sidebar_position : 2
---

# Ürünün Teknik Özellikleri

## Ürünün Bağlantı Şeması

Çalışma Voltajı – 12V
Kamera Dönüş Açısı – 180 Derece Serbest
Aydınlatma Şiddeti – 1000lm
Aydınlatma Dönüş Açısı – Kameraya sabit- 180 derece
Azami Derinlik – 150 metre
1500 ms pwm – Sabit

2000 ms pwm’e kadar – Saat Yönü

1000 ms pwm’e kadar – Saat Yönü Tersi
![Rolica Hareket Sistemi](./image/rolika-genel.png)

:::note
Sisteme kamera dahil değildir, dilediğiniz kamerayı ek olarak satın alırsanız sisteme eklenerek gönderilecektir.
:::
Roli Kamera Sistemi, denizlerin derinliklerinde bile etkileyici bir görüntü kalitesi sunan, son derece duyarlı bir kamera kontrol sistemidir. Bu sistemde, turuncu kablo pozitif güç hattı olarak 12V beslemeyi kameraya iletirken, turuncu-beyaz kablo güvenilir bir topraklama (GND) için kullanılıyor. Veri iletişimi yeşil Rx ve yeşil-beyaz Tx hatları üzerinden gerçekleşiyor; bu hatlar, kontrol kartı ile kamera modülü arasında seri veri alışverişini sağlıyor, yani sistemdeki komutlar ve yanıtlar bu yolları takip ediyor.

## Kutu İçeriği
Kamera için video sinyallerini taşıyan mavi AV kablosu, görüntüleri Çözücü kartına aktarırken, mavi-beyaz ise bu işlevin kararlı bir şekilde yerine getirilmesi için gerekli olan toprak bağlantısını sağlıyor. Sistem, UART protokolü kullanarak özel bir paketleme yöntemi ile haberleşiyor, bu da Roli Kamera'nın alıcı ve verici hatları arasındaki veri akışını düzenliyor. Özellikle önemli olan ise, tüm bu bağlantılar kurulurken, **GND hattının sistem bileşenleri arasında ortaklanması gerektiği** . Bu ortak toprak bağlantısı, tüm sistem elemanlarının aynı elektriksel referans noktasını paylaşmasını sağlayarak iletişimi daha da güvenilir kılıyor.

- Rolica Hareketli Kamera Sistemi
- Dişi 2 Pin Jumper (2 adet)
- Erkek 2 Pin Jumper (2 adet)
- LM2596 Ayarlanabilir Regülatör
## Rolica Kamera Hareket Sistemi Arduino Kontrol Kodu

````
#include "SerialTransfer.h" // SerialTransfer kütüphanesini dahil eder, seri haberleşme kolaylaştırılır.
#include "CommunicationPackets.h" // Özel haberleşme paketlerini tanımlayan kütüphaneyi dahil eder.
unsigned long lastUpdateTime, updateInterval = 50; // Son güncelleme zamanını ve güncelleme aralığını tutar (milisaniye cinsinden).
SerialTransfer serialTransfer; // Seri haberleşme için SerialTransfer nesnesi yaratır.
RoliCam roliCam; // RoliCam nesnesi oluşturur.
void setup() {
Serial1.begin(9600); // 9600 baud hızında seri haberleşmeyi başlatır.
serialTransfer.begin(Serial1); // SerialTransfer nesnesini belirli seri port ile başlatır.
}
void loop() {
unsigned long now = millis(); // Geçerli zamanı milisaniye cinsinden alır.
// Eğer belirlenen güncelleme aralığından daha az zaman geçtiyse, loop'un geri kalanını atlar.
if (now - lastUpdateTime < updateInterval) return;
lastUpdateTime = now; // Son güncelleme zamanını şimdiki zaman yapar.
// Kamera açı ve aydınlatma seviyesini belirli değerlere ayarlar.
// Bu işlemi belirli bir sırayla ve gecikmelerle tekrarlar.
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(100,50);
delay(1000);
SetRoliCam(0,50);
delay(1000);
// Rastgele açı ve aydınlatma düzeyi oluşturur ve kamerayı bu değerlere doğru yavaşça hareket ettirir.
/*
int targetAngle = random(0, 181); // Rastgele açı üretir (0 ile 180 arası).
int targetDim = random(0, 101); // Rastgele aydınlatma düzeyi üretir (0 ile 100 arası).
// Kamerayı yavaşça hedef açı ve aydınlatma düzeyine doğru hareket ettirir.
int deltaAngle = (targetAngle - roliCam.angle) / 10;
int deltaDim = (targetDim - roliCam.dim) / 10;
roliCam.angle = constrain(roliCam.angle + deltaAngle, 0, 180);
roliCam.dim = constrain(roliCam.dim + deltaDim, 0, 100);
uint16_t sendSize = 0;
sendSize = serialTransfer.txObj(roliCam, sendSize);
serialTransfer.sendData(sendSize);
delay(500); // Kameranın istenen pozisyona ulaşması için gerekli zamanı ayarlar.
*/
}
void SetRoliCam(int targetAngle, int targetDim){
// Hedef açı ve aydınlatma düzeyine doğru kamerayı yavaşça hareket ettirir.
roliCam.angle = constrain(targetAngle, 0, 180); // Açıyı 0 ile 180 derece arasında sınırlar.
roliCam.dim = constrain(targetDim, 0, 100); // Aydınlatmayı 0 ile 100 arasında sınırlar.
uint16_t sendSize = 0;
// roliCam nesnesini seri port üzerinden göndermek için hazırlar ve boyutunu hesaplar.
sendSize = serialTransfer.txObj(roliCam, sendSize);
// Hazırlanan paketi seri port üzerinden gönderir.
serialTransfer.sendData(sendSize);
}
````

### CommunicationPackets.h
````
#pragma once
struct __attribute__((packed)) RoliCam {
int angle;
int speed;
int reset;
int dim;
};
````

**Soru ve önerileriniz için bize [forumdan](https://forum.degzrobotics.com/) ulaşabilirsiniz .**
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,30 @@ import DocCardList from '@theme/DocCardList';

# About the Product

For a simple and free experience, Rolica Motion Camera System is under your control with 180 degree rotation angle! Compatible with all Degz camera modules, you can easily move your camera with standard PWM signals.


![Rolica Motion System](./image/rolica-12.jpg)

:::info
This product is being updated. Camera module price is not included in the product price, you can choose externally.
:::
The Rolica Motion Camera System provides superior imaging even in dark environments with a 180-degree free rotation angle and 1000lm illumination intensity. Operating with standard PWM signals, this system is compatible with all camera modules within Degz, allowing users to easily adjust the camera direction. With a 12V operating voltage and a maximum depth capacity of 150 meters, Rolica offers a flexible and scalable solution. The system does not include a camera and can be customized with optional additional camera modules.


## Product Technical Specifications
|Features |Description|
|--------------------------|-----------------------|
|Operating Voltage| 12V|
|Camera Rotation Angle| 180 Degree Free|
|Illumination Intensity| 1000lm|
|Illumination Rotation Angle| Fixed to camera - 180 degrees|
|Maximum Depth |150 meters|
|1500 ms PWM |Fixed|
|Up to 2000 ms PWM| Clockwise|
|Up to 1000 ms PWM |Counter-clockwise|

![Rolica Motion System](./image/rolica-7.jpg)
## Product Pin Diagram

Its built-in directional illumination allows you to work smoothly even in dark environments. Explore the world in 180 degrees with Roli Camera!
![Rolica Hareket Sistemi](./image/rolika-sematic.png)

- Simple and free, master 180 degrees with Rolica!

- Compatible with all Degz camera modules.

- You can move your camera 180 degrees with standard pwm signals.

- Thanks to its built-in steerable illumination, darkness cannot prevent you from working!

![Rolica Motion System](./image/rolica-14.jpg)



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,108 @@
sidebar_position : 2
---

# Technical Specifications of the product
# Connection Diagram of the Product


Operating Voltage - 12V
Camera Rotation Angle - 180 Degree Free
Lighting Intensity - 1000lm
Lighting Rotation Angle - Fixed to camera - 180 degrees
Maximum Depth - 150 meters
1500 ms pwm - Fixed
![Rolica Hareket Sistemi](./image/rolika-genel.png)

Up to 2000 ms pwm - Clockwise
The Roli Camera System is an extremely sensitive camera control system that offers impressive image quality even in the depths of the seas. In this system, the orange cable transmits 12V power as the positive power line to the camera, while the orange-white cable is used for reliable grounding (GND). Data communication occurs over the green Rx and green-white Tx lines; these lines facilitate serial data exchange between the control card and the camera module, meaning commands and responses within the system follow these routes.

Up to 1000 ms pwm - Counterclockwise
The blue AV cable, which carries video signals for the camera, transfers the images to the Decoder card, while the blue-white provides the necessary ground connection for this function to be carried out stably. The system communicates using the UART protocol with a special packaging method, which regulates the data flow between the receiver and transmitter lines of the Roli Camera. Particularly important is that the GND line must be common among the system components during all these connections. This common ground connection ensures that all system elements share the same electrical reference point, making communication even more reliable.

:::note
The camera is not included in the system, if you purchase the camera you want additionally, it will be added to the system and sent.
:::

## Box Contents
## Rolica Camera Movement System Arduino Control Code

````
#include "SerialTransfer.h" // Includes the SerialTransfer library, simplifies serial communication.
#include "CommunicationPackets.h" // Includes the library defining special communication packets.
unsigned long lastUpdateTime, updateInterval = 50; // Holds the last update time and the update interval (in milliseconds).
SerialTransfer serialTransfer; // Creates a SerialTransfer object for serial communication.
RoliCam roliCam; // Creates a RoliCam object.
void setup() {
Serial1.begin(9600); // Starts serial communication at 9600 baud rate.
serialTransfer.begin(Serial1); // Initializes the SerialTransfer object with the specified serial port.
}
void loop() {
unsigned long now = millis(); // Gets the current time in milliseconds.
// If less time has passed than the specified update interval, skips the rest of the loop.
if (now - lastUpdateTime < updateInterval) return;
lastUpdateTime = now; // Updates the last update time to the current time.
// Sets the camera angle and lighting level to specific values.
// Repeats this process in a specific order and with delays.
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(50,50);
delay(150);
SetRoliCam(50,0);
delay(150);
SetRoliCam(100,50);
delay(1000);
SetRoliCam(0,50);
delay(1000);
// Randomly generates an angle and lighting level and slowly moves the camera towards these values.
/*
int targetAngle = random(0, 181); // Generates a random angle (between 0 and 180).
int targetDim = random(0, 101); // Generates a random lighting level (between 0 and 100).
// Slowly moves the camera towards the target angle and lighting level.
int deltaAngle = (targetAngle - roliCam.angle) / 10;
int deltaDim = (targetDim - roliCam.dim) / 10;
roliCam.angle = constrain(roliCam.angle + deltaAngle, 0, 180);
roliCam.dim = constrain(roliCam.dim + deltaDim, 0, 100);
uint16_t sendSize = 0;
sendSize = serialTransfer.txObj(roliCam, sendSize);
serialTransfer.sendData(sendSize);
delay(500); // Sets the necessary time for the camera to reach the desired position.
*/
}
void SetRoliCam(int targetAngle, int targetDim){
// Slowly moves the camera towards the target angle and lighting level.
roliCam.angle = constrain(targetAngle, 0, 180); // Limits the angle between 0 and 180 degrees.
roliCam.dim = constrain(targetDim, 0, 100); // Limits the lighting between 0 and 100.
uint16_t sendSize = 0;
// Prepares the roliCam object for sending over the serial port and calculates its size.
sendSize = serialTransfer.txObj(roliCam, sendSize);
// Sends the prepared packet over the serial port.
serialTransfer.sendData(sendSize);
}
````

### CommunicationPackets.h
````
#pragma once
struct __attribute__((packed)) RoliCam {
int angle;
int speed;
int reset;
int dim;
};
````


- Rolica Moving Camera System
- Female 2 Pin Jumper (2 pcs)
- Male 2 Pin Jumper (2 pcs)
- LM2596 Adjustable Regulator

**You can reach us through the [forum](https://forum.degzrobotics.com/) for questions and suggestions**

Expand Down

0 comments on commit a41bdb1

Please sign in to comment.