İçindekiler:

NOCAR (Karga Bildirimi): 5 Adım
NOCAR (Karga Bildirimi): 5 Adım

Video: NOCAR (Karga Bildirimi): 5 Adım

Video: NOCAR (Karga Bildirimi): 5 Adım
Video: E Sen Hep Kıvırıyorsun Zaten? | Kısmetse Olur: Aşkın Gücü #shorts 2024, Kasım
Anonim
NOCAR (Karga Bildirimi)
NOCAR (Karga Bildirimi)

Soyut

Her yıl yeni teknolojiler ve teknikler yaratıyoruz. Geçmişte buhar makinesi, Sanayi Devrimi adını verdiğimiz bir şeyin ilk adımıydı. İnsan o zamandan beri oyalanmadı. Hayatımızı kolaylaştırmak için makineler yaratıyoruz ve şimdi her seferinde daha önce yaptığımız şeyleri ve süreçleri iyileştirmeye çalışıyoruz.

Modern otomobil ilk kez 1886'da tanıtıldı. O zamandan beri birçok yönden büyük bir gelişme gösterdi. Hız sınırından ağırlık kontrolüne kadar birçok yol değişmekte ve almaktadır. Yeni bir teknoloji, arabayı fosil yakıtlara ihtiyaç duymaz hale getirdi: hibrit araba. Ancak, bu yöntemin daha kısıtlı sınırları vardır. Bir dezavantajı, yeniden şarj etmek için gereken zamandır. Benzin istasyonuna gidip birkaç dakikada depoyu doldurmak o kadar kolay değil. Bazı arabaların şarjı tamamlamak için saatlere ihtiyacı vardır. Bununla birlikte, çoğu benzin istasyonu bir eğlence bölgesi veya alışveriş bölgesi yakınındaysa. Ve mantıklı, eğer pilinizi doldurmanız daha uzun sürerse, tüm zaman boyunca orada olmanızın bir anlamı yok, bu yüzden size bu arada istediğiniz yere gitme fırsatı veriyor. Ancak, araç şarj edildikten sonra, aracınızı şarj istasyonundan çıkarmadıysanız, aracınıza para cezası uygulanacaktır. Bu ürünün amacı, gelecekteki hibrit otomobillerde normal bir sorunu çözmektir (hibrit otomobiller masada büyük bir bahis var). Dragonboard 410c kullanarak bir devre sistemi uyguluyoruz. Aracınızın enerji şarjının belirli bir yüzdeye kadar çıktığını size bildirmek için size bir e-posta gönderir. Bu şekilde, arabanızın hala şarj olup olmadığı veya hazır olup olmadığı (ve muhtemelen para cezası alma olasılığı) konusunda endişelenmenize gerek kalmadan aktivitelerinizi gerçekleştirebilirsiniz. Meksika'da bu tür bir sorun ortaya çıkmasa da, beklediğimizden daha kısa sürede yeni sistemler fosil yakıtların yerini alacak ve hibrit otomobiller önemli bir rol oynayacak. Yeni yasalar oluşturuldu ve para cezaları artık uzak bir fikir değil, bir gerçek.

Image Credit: Clipper Creek: Elektrikli Araç Şarj İstasyonları

Adım 1: Malzemeler

  • DragonBoard 410c
  • 96Boards için Asma Kat
  • protokol
  • atlama teli
  • Butona basınız
  • Direnç 10 ohm
  • Potansiyometre 10k ohm
  • Kapasitör 150 pF
  • çip ADC0804

2. Adım: Kodlayın

#Dahil etmek

#Dahil etmek

#Dahil etmek

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

imzasız int GPIO_PIN1;

imzasız int GPIO_PIN2;

imzasız int GPIO_PIN3;

imzasız int GPIO_PIN4;

imzasız int GPIO_TRANSIS;

imzasız int GPIO_SELECT;

imzasız int GPIO_ENTER;

imzasız int GPIO_LEDTEST;

int bayrağı;

int valorBoton;

int valorLEDTest;

int pin1_state=0;

int pin2_state=0;

int pin3_state=0;

int pin4_state=0;

int last_touch_pin1;

int last_touch_p1;

int last_touch_pin2;

int last_touch_p2;

int last_touch_pin3;

int last_touch_p3;

int last_touch_pin4;

int last_touch_p4;

int select_state=0;

int enter_durum=0;

int geçiş_durumu=0;

int last_touch_b;

int last_touch_l;

int led_durumu = 0;

int buzzer_durumu = 0;

int koşu = 1;

_attribute_((yapıcı)) statik boşluk _init()

{

board_config *config = libsoc_board_init();

GPIO_PIN1 = libsoc_board_gpio_id(config, "GPIO-A");

GPIO_PIN2 = libsoc_board_gpio_id(config, "GPIO-B");

GPIO_PIN3 = libsoc_board_gpio_id(config, "GPIO-C");

GPIO_PIN4 = libsoc_board_gpio_id(config, "GPIO-D");

GPIO_TRANSIS = libsoc_board_gpio_id(config, "GPIO-E");

GPIO_SELECT = libsoc_board_gpio_id(config, "GPIO-G");

GPIO_ENTER = libsoc_board_gpio_id(config, "GPIO-H");

GPIO_LEDTEST = libsoc_board_gpio_id(config, "GPIO-I");

libsoc_board_free(yapılandırma);

}

int ana()

{

gpio *gpio_pin1, *gpio_pin2, *gpio_pin3, *gpio_pin4, *gpio_transis, *gpio_select, *gpio_enter, *gpio_ledtest;

int touch_pin1;

int touch_pin2;

int touch_pin3;

int touch_pin4;

int touch_transis;

int touch_select;

int touch_enter;

int touch_ledtest;

libsoc_set_debug(0);

gpio_pin1 = libsoc_gpio_request(GPIO_PIN1, LS_SHARED);

gpio_pin2 = libsoc_gpio_request(GPIO_PIN2, LS_SHARED);

gpio_pin3 = libsoc_gpio_request(GPIO_PIN3, LS_SHARED);

gpio_pin4 = libsoc_gpio_request(GPIO_PIN4, LS_SHARED);

gpio_transis = libsoc_gpio_request(GPIO_TRANSIS, LS_SHARED);

gpio_select = libsoc_gpio_request(GPIO_SELECT, LS_SHARED);

gpio_enter = libsoc_gpio_request(GPIO_ENTER, LS_SHARED);

gpio_ledtest = libsoc_gpio_request(GPIO_LEDTEST, LS_SHARED);

if((gpio_pin1 == NULL) || (gpio_pin2 == NULL) || (gpio_pin3 == NULL) || (gpio_pin4 == NULL) || (gpio_transis == NULL) || (gpio_select == NULL) || (gpio_enter == NULL) || (gpio_ledtest == NULL))

{

başarısız ol;

}

libsoc_gpio_set_direction(gpio_pin1, INPUT);

libsoc_gpio_set_direction(gpio_pin2, GİRİŞ);

libsoc_gpio_set_direction(gpio_pin3, GİRİŞ);

libsoc_gpio_set_direction(gpio_pin4, GİRİŞ);

libsoc_gpio_set_direction(gpio_transis, GİRİŞ);

libsoc_gpio_set_direction(gpio_select, INPUT);

libsoc_gpio_set_direction(gpio_enter, INPUT);

libsoc_gpio_set_direction(gpio_ledtest, OUTPUT);

if((libsoc_gpio_get_direction(gpio_pin1) != GİRİŞ)

|| (libsoc_gpio_get_direction(gpio_pin2) != GİRİŞ) || (libsoc_gpio_get_direction(gpio_pin3) != GİRİŞ) || (libsoc_gpio_get_direction(gpio_pin4) != GİRİŞ)

|| (libsoc_gpio_get_direction(gpio_transis) != GİRİŞ) || (libsoc_gpio_get_direction(gpio_select) != GİRİŞ) || (libsoc_gpio_get_direction(gpio_enter) != GİRİŞ) || (libsoc_gpio_get_direction(gpio_ledtest) != ÇIKTI))

{

başarısız ol;

}

koşarken)

{

touch_pin1 = libsoc_gpio_get_level(gpio_pin1);

touch_pin2 = libsoc_gpio_get_level(gpio_pin2);

touch_pin3 = libsoc_gpio_get_level(gpio_pin3);

touch_pin4 = libsoc_gpio_get_level(gpio_pin4);

touch_enter = libsoc_gpio_get_level(gpio_enter);

touch_select = libsoc_gpio_get_level(gpio_select);

touch_transis = libsoc_gpio_get_level(gpio_transis);

touch_ledtest = libsoc_gpio_get_level(gpio_ledtest);

if(touch_select == 1)

{

valorBoton++;

if(valorBoton==4)

{

valorBoton=0;

}

}

if(valorBoton==3)

{

valorLEDTest=1;

libsoc_gpio_set_level(gpio_ledtest, valorLEDTest);

}

}

başarısız: if(gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf("gpio kaynağını uygula başarısız!\n");

libsoc_gpio_free(gpio_pin1);

libsoc_gpio_free(gpio_pin2);

libsoc_gpio_free(gpio_pin3);

libsoc_gpio_free(gpio_pin4);

libsoc_gpio_free(gpio_transis);

libsoc_gpio_free(gpio_select);

libsoc_gpio_free(gpio_enter);

libsoc_gpio_free(gpio_ledtest);

}

EXIT_SUCCESS döndür;

}

Adım 3: Elektrik Devresi

Elektrik devresi
Elektrik devresi
Elektrik devresi
Elektrik devresi
Elektrik devresi
Elektrik devresi
Elektrik devresi
Elektrik devresi

Bu devre analogdan dijitale dönüştürücü olarak çalışır. 0 ile 5 volt arasında bir değere gelen bir potansiyometrenin sinyalini alır, daha sonra dönüştürücü bunu 0 ile 255 bit arasında bir dijital sinyal haline getirir ve DragonBoard GİRİŞLERİ'ne gönderir.

4. Adım:

Tarafından geliştirilmiş:

Alfredo Fontları

Mauricio Gomez

Jorge Jimenez

Gerardo Lopez

Felipe Rojas

Luis Rojas

Ivon Sandoval

Önerilen: