Strona 1 z 2
Projekt arduino z czujnikami optycznyni
: 08 lis 2020, 16:27
autor: Fadal123
Witam. Mam do wykonania projekt na arduino, ale obowiązkowo musze wykorzystać czujniki optyczne-jakie bez znaczenia. Macie jakieś sugestie co lub jak wykonac?
Re: Projekt arduino z czujnikami optycznyni
: 08 lis 2020, 17:02
autor: TOP67
Masz spory wybór gotowych czujników jako moduły podpinane kabelkami do płytki prototypowej. Zajrzyj na stronę Bootland lub Gotronik.
Można je też kupić z Chin lub samemu zrobić z elementów dyskretnych.
Co ma robić taki czujnik, bo pojęcie jest szerokie.
Jeśli to zadanie do szkoły, to spróbuj zrobić np. tachometr.
Re: Projekt arduino z czujnikami optycznyni
: 08 lis 2020, 17:39
autor: tuxcnc
Ja kiedyś z czystych nudów zrobiłem wyjątkowo bajerancki projekt.
Potrzebny jest czujnik
https://www.aliexpress.com/item/32730415199.html, moduł BT
https://www.aliexpress.com/item/33009632983.html i ATtiny13 (można użyć Arduino, np. Nano).
Bajer polega na tym, że wynik zliczania odczytuje się smartfonem z Androidem, teraz dokładnie nie pamiętam, ale aplikacja to jakiś "serial monitor" albo coś w tym stylu.
Tutaj masz na szybko znaleziony przykład
https://create.arduino.cc/projecthub/va ... ino-18eadc
A program na ATtiny 13 wygląda tak :
Kod: Zaznacz cały
#define F_CPU 9600000
#include <avr/io.h>
#include <util/delay.h>
#define SOFT_TX_PIN (1<<PB1) // PB1 as TXD
#define SOFT_TX_PORT PORTB
#define SOFT_TX_DDR DDRB
unsigned int count = 0;
char old = 0;
char now = 0;
int main (void) {
PORTB =1;
uart_tx_init (); // инициализация прог. UARTа
while (1) {
now = (PINB & 1);
if (old != now ){
old = now;
if (old == 1){
count++;
uart_print("Current counter value = "); // превед
num_to_str(count, 5); // 0..99999
uart_print("\r\n"); // переход на новую строчку
}
}
}
return 0;
}
void uart_tx_init ()
{
TCCR0A = 1 << WGM01; // compare mode
TCCR0B = (1 << CS01); // prescaler 8
OCR0A = 125; // 9600 baudrate at prescaler 8
SOFT_TX_PORT |= SOFT_TX_PIN;
SOFT_TX_DDR |= SOFT_TX_PIN;
}
// Функция вывода содержимого переменной
void num_to_str(unsigned int value, unsigned char nDigit)
{
switch (nDigit)
{
case 5:
uart_send_byte((value / 10000) + '0');
case 4:
uart_send_byte(((value / 1000) % 10) + '0');
case 3:
uart_send_byte(((value / 100) % 10) + '0');
case 2:
uart_send_byte(((value / 10) % 10) + '0');
case 1:
uart_send_byte((value % 10) + '0');
}
}
void uart_print(char *str)
{
byte i = 0;
while (str[i]) {
uart_send_byte(str[i++]);
}
}
//bitbanged UART transmit byte
void uart_send_byte (unsigned char data)
{
unsigned char i;
TCCR0B = 0;
TCNT0 = 0;
TIFR0 |= 1 << OCF0A;
TCCR0B |= (1 << CS01);
TIFR0 |= 1 << OCF0A;
SOFT_TX_PORT &= ~SOFT_TX_PIN;
while (!(TIFR0 & (1 << OCF0A)));
TIFR0 |= 1 << OCF0A;
for (i = 0; i < 8; i++)
{
if (data & 1)
SOFT_TX_PORT |= SOFT_TX_PIN;
else
SOFT_TX_PORT &= ~SOFT_TX_PIN;
data >>= 1;
while (!(TIFR0 & (1 << OCF0A)));
TIFR0 |= 1 << OCF0A;
}
SOFT_TX_PORT |= SOFT_TX_PIN;
while (!(TIFR0 & (1 << OCF0A)));
TIFR0 |= 1 << OCF0A;
}
Komentarzami się nie przejmuj, przerabiałem coś znalezione w necie.
Skomplikowanie programu wynika z prostoty mikrokontrolera, ma tak mało zasobów, że trzeba wszystko pisać ręcznie. Na Arduino można użyć sprzętowego UART-a i gotowych bibliotek.
Re: Projekt arduino z czujnikami optycznyni
: 08 lis 2020, 17:54
autor: nanab
Zrób fotel z potrójnym dildopędem włączanym przyciskiem dotykowym zrobionym z transoptora np. cny70.
Re: Projekt arduino z czujnikami optycznyni
: 17 lis 2020, 23:48
autor: StudentIB
Proponuję pulsoksymetr, temat akurat na czasie.
Re: Projekt arduino z czujnikami optycznyni
: 18 lis 2020, 06:58
autor: piromarek
Prosty jest obrotomierz.
Może licznik towaru na taśmie.
Dojdzie wyświetlacz.
Chyba ,że trzy diody na przykład. . "Za wolno"- "dobrze"- "za szybko".
Coś tam kodu też będzie.
Bo już krańcówka optyczna albo czujnik długości narzędzia, to jak na projekt do szkoły chyba za mało kodowania.
Re: Projekt arduino z czujnikami optycznyni
: 18 lis 2020, 07:43
autor: mareq_bb
Możesz jeszcze zrobić optyczny enkoder i na arduino zliczanie lewo-prawo.
Re: Projekt arduino z czujnikami optycznyni
: 18 lis 2020, 08:53
autor: oprawcafotografii
O właśnie - napisz dobre biblioteki do obsługi enkoderów na silnikach modelarskich BLDC

Zostaniesz doceniony

Re: Projekt arduino z czujnikami optycznyni
: 18 lis 2020, 09:59
autor: grg12
chronograph do pomiaru prędkości pocisku

Re: Projekt arduino z czujnikami optycznyni
: 22 lis 2020, 21:00
autor: Fadal123
Wymyśliłem sobie coś takiego. Czujnik optyczny +moduł sim z ktorym mam problem. Posiadam sim800l i sim800l v2, z żadnym nie mogę sobie poradzić. daje osobne zasilanie i zadnych efektow